O O O O
o o o o
o . . o
. .____. _______ .
._______________________.___________ | |__ .____. ____.___________.
| __ / ___ | __ /__|___ __/___|__ _ | | | __ |
| |_/ / _| | |/ / ___/ | __// |___ | |_/ |
| ______/|___________|____|_______|__________|_____| _____|_____ |
|____| /_________|
F O R .____.
.________________________ _____________._____________| |__
| __ / __ /_ __ | ____/____) __/______
| |_/ / |/ / _| | __/ | | |_/ /
. | ______/_____|___________________| | |____|___________/ .
|____| |____|
o . . o
o o P R E S E N T S o o
O O PORROG / OS4 O O
PORTED BY ............ SPOT
SUPPLIED BY ... BILL MCEWEN
TYPE ................. GAME
--[ORIGINAL README]-------------------------------------------------------------
This is the README file for Porrog, version 0.06
================================================
License terms
=============
The program is distributed under the terms of the GPL (included,
surprisingly, as the file GPL), and the specific copyright notices
are included at the start of each of the source files, although that
doesn't mean that any source files I forget to include it in *arent*
under the same copyright, because they *are* unless I say otherwise, OK?
About the game
==============
Porrog is a "roguelike" game, meaning a game that is in the style of the
game "rogue" or of various other traditional "roguelike" games such as
Nethack, Angband, Omega, etc. It is being primarily developed under Linux,
so it should always be expected to work best on that platform, but is also
available for Mac OSX and more recently, for Windows (although it is cross-
compiled for Windows *from Linux*, and probably cannot be compiled *in*
Windows itself).
It is available in binary (as in precompiled, ready to play) form
distributions for OSX and Windows (because those systems don't always have
compilers to produce binary executables), and it is in source-code form for
Linux and most (any?) other Unix-like systems. Of course, if you have OSX
*with* the developers' tools, you can still use the source-code to compile
the game yourself, if you want.
Please note that despite being under the GPL, the binary distributions of
the game come with *no* source code, and also lack some of the development
notes that are available with the source code versions- but if you just want
to play the game, these are of no use to you, and you can *still* download
it all from Porrog's web page (see further on, or in the game's help system).
Status of the game
==================
It's only playable in the loosest sense (eg- you have a character
that can move around and pick up things and fight monsters and stuff),
it's still in development and going through much testing and debugging.
There'll be *much* more later.
You can go up and down stairs (with each level you've visited remaining
where you left it, unlike some games like Angband, although currently
you don't actually remember any of the features you'd *seen* when you
were last there), but unfortunately so far the levels stretch on endlessly
in either direction, until your computer runs out of memory, you get too
bored, or your character dies.
It's intended that the next release will place a simple "wilderness" level
above the start, and make an overall structure to the whole dungeon. In
fact, that change was actually planned for *this* release, but other changes
came first, particularly various significant bugfixes, and UI improvements.
There are a load of objects, many of which do nothing (weapons, armour,
containers, food, and potions all work to varying degrees). You start off
with a couple of items in your inventory (chosen semi-randomly).
There are some basic monsters, that have a primitive AI system that means
they can wander around the dungeon and home in on you if they become aware
of your presence! They're not able to act much more smartly than that yet.
The combat mechanics have been worked on a bit, but are absolutely subject
to change- many bits are stopgaps for until we can come up with something
better. There's quite a few bits of UI that still need reworking, although
a nasty bug in the item display code (which would make the game appear to
freeze) has now been fixed.
Unfortunately, there's still no objective, although there's a lovely help
system, which should be handy for those new to the roguelike genre... The
actual *pages* of the help system are still not complete, but they've
improved since Version 0.05.
When the game ends, it always automatically writes a file named
"porrogbugs.log", with a debug log in it (in normal games, you can't
see these messages till you exit, as they may be spoily). It's created
whether there were any bugs found or not, and always overwrites
previous game's buglogs- so if you want to keep older buglogs, you
have to copy them somewhere else before restarting the game.
It's hoped that for the next version, the game will have a thorough debug
mode, with such things as the debug log available from a set of in-game
menus. This would probably help finding the gnarly little bugs that are
hard to track down...
----------------------------------------------------------------------
Playing it!
===========
Run the game by typing ./porrog from the directory you built it in (see below)
or downloaded it in if you have the OSX binary. On Windows, I think you have
to click on the porrog (or porrog.exe) icon wherever it is (as I don't use
Windows, I've had to rely on other people to test the Windows version for me!).
If it's not clear, you're the "()".
Keys are rogue/vi style roguelike keys:
h/j/k/l
as I hate using cursor/keypad keys- they're far too uncomfortable.
(NB- the diagonal movement keys are y/u/b/n. You'll get used to them.)
Some time I may add cursor keys as an option you can choose. Not yet.
To ease your probable confusion, there's an in-game help system accessible
with '?', and I'm rather pleased with it personally. It's browsable with
the same keys as you'd use for moving your character (plus alternatives
described in the help pages themselves). If even *that* is too confusing
for you, there's even a help page for how to use the help system!
'<' goes up up stairs, '>' goes down down stairs.
'.' makes you wait where you are for a moment.
',' picks things up, 'd' drops them.
'i' shows your inventory, ';' shows whats at your feet.
NB- can't yet check what "features" (such as stairs
and altars) you're standing on.
'o' opens a door next to you (NB: this used to close *all* doors that
were next to you, but has been changed).
'c' closes a door next to you.
'a' applies objects (only containers actually do anything yet,
and they've been newly overhauled, without much testing)
'w' lets you wield or ready an item, 'W' lets you put something on
NB: note that you can't drop anything you've got equipped.
'T' lets you take off some item you've worn.
'q' lets you quaff (drink) potions (NOTE this used to quit!).
'e' lets you eat various comestibles IF you have that option compiled
into your game (which should be the case if you downloaded a binary
version of it).
'Q' quits,
'R' refreshes the screen if it gets corrupted,
'CTRL-p' shows a recent message history (you press SPACE to leave it, and
j and k to scroll up and down through it),
'v' prints version info.
Finally, these are just for debugging (and probably aren't even useful
for that any more):
'r' shows the number of room you're in,
'm' restores your health (yes, that's definitely due to be removed!),
(correction, it *has* been now...)
'x' tries to regenerate the map (as though you've left the level
and returned again). It has the (understood) side effect of making you
forget where you've been!
Don't worry too much about that, it'll be gone soon.
'D' currently dumps the buglog whilst you're still playing (eventually
that'd be impossible without going into a special "debug" mode where you
can't win)
There may be other keys I've forgotten. Sorry.
----------------------------------------------------------------------
Creating the executable file
============================
(NOTE: This doesn't apply if you downloaded one of the binary distributions,
in which case you already *have* the executable file!)
To compile:
-edit "config.h" if you want to (eg, you can set certain #defines there)
-then, just type make. This will create the executable file "porrog".
If it doesn't work, let me know (say what OS you're using. Please don't
go into detail unless I reply to you- I may end up getting lots of reports).
There shouldn't be many problems with different platforms if you have a
C compiler (and Curses, which is pretty common) -it's being written on Linux
and it also works on Mac OS X now (OSX users have the option of either using
the OSX binary or compiling from source).
The Windows version is cross-compiled from Linux using the MinGW32 tools,
which seem to work quite well. Unfortunately the resulting binary *doesn't*
work under Dos! I'll look into using DJGPP for this purpose...
[NB: There's also "make windist" and "make macdist" to create the binary
distribution archives that you can download from the site. YOU DO NOT NEED
TO USE THOSE COMMANDS! That's for the developers (Jonathan and I, plus any
others who join some time) to do]
Compile-Time options
====================
TODO: CHECK this section explain it in terms of using config.h now.
I mentioned in the compilation instructions that you can set certain
#defines in the config.h file. This is so (otherwise, I wouldn't have
said it).
What these #defines are, and what they're for, is described in comments
at the beginning of the file. But if you're some sort of a newbie
to the world of c-compilers and source files, you need to know these
little facts:
-They're called compile-time options because they only take effect
when you (re)compile the program after changing them. IE- if you
compile, then change them and then start the program again without
recompiling, NOTHING will have happened! That's why I suggested you
could edit the file *before* typing 'make'.
-When the compile-time options were set from in the Makefile, it
was problematic, and you had to do "make clean" before recompiling.
Now that they're set in the source file config.h, you can recompile
just by doing "make" on its own.
-the options are set by lines of the form #define OPTION, where
OPTION is the option you want to set. Unlike the scheme used in
the makefile, you don't define more than one option per line,
but you can define your options on separate lines. To get rid
of an option you don't want, *comment* it by putting a /* in
front of it and a */ after it. If one is already commented
but you do want to use it, then uncomment it again!
-the /*'s and */'s can be on totally different lines, but they
have to match up or the C-compiler won't accept it (in some cases
it can accept it but will complain that it's dodgy).
-I'm sure there was some other point I was going to make.
-You shouldn't need to change the compile-time options if you just want
to play it!!!
Porrog is written by me, Tom Barnes-Lawrence (tomble()usermail.com),
with various elements of design also by Jonathan Magill;
any new versions *should* be avaiable at
http://www.angelfire.com/super2/duologue/software/porrog.html
End of README for Porrog.
--------------------------------------------------------------------------------
|