This game has only been tested on Linux. The game does build and run on
Windows, however the steps required to compile in windows are not described
here, so it is best to use Linux. rgSDK may compile on other Unix-like systems
with little trouble, but it is very unlikely that "rph" will compile without
extensive modifications to it's makefile.
The files in this archive make use of symbolic links, and so you will need a
system that supports them, otherwise you must copy the files to the appropriate
Building in Linux:
1. In the "rph_stuff" directory, type "make". This will build "rgSDK",
"rph" and the AI (Artificial Intelligence) DLLs (Dynamic Link Library.)
The game runs well on a Celeron 2200, 1 GB ram and an nVidia FX 5200 video
card at 800 x 600.
NOTE 1: There are makefiles for other operating systems lying around, however I
have not gotten the chance to test any of them, and they most likely
will not work.
NOTE 2: The game has never been tested on a big-endian machine.
NOTE 3: The game now supports many commands, and there are many configuration
options available. When I get time, I will try to document them.
Currently, the file "./rph/Makefile" contains information on some
NOTE 4: "rph's" makefile is setup for debugging. The game will run
slowly on older machines when built for debugging. To speed up the
game, one can build "rph" with optimizations.
To optimize "rph", edit the file "./rph/Makefile", and scroll down
to where it says:
DEBUG_MODE = "on"
Comment out the line and run "make clean" (in the "rph_stuff/rph/"
directory), then "make" (in the "rph_stuff/rph/") to build an
optimized version of the game. You must also rebuild the makefile in
"rph_stuff/rph/content/dll" since DLLs are cleaned as well by the
makefile "rph_stuff/rph/Makefile". You may also use the makefile in
"rph_stuff", though this will needlessly rebuild all of rgSDK.
NOTE 5: Many updates where made to the game, but it is still not playable yet.
The game was playable a few of months ago, but the AI code was
broken inorder to add a new AI system, and the user controls have not
been fully restored yet.
NOTE 6: Basic (default) key bindings.
"~" and "f1" - toggle the in-game console. "~" brings the console down
half-way, while "f1" brings the console all the way down. "f1"
is recommended since it blacks out the entire screen, thus
making text readable, and also removes the "root-renderer" so
the game will be more responsive. "~" overlays the console
which makes text hard to read, plus is slower since background
graphics are still being rendered.
"esc" - Pauses the game.
"f" - toggles frame per second display.
"r" - toggles reflections.
"F6" - toggles software/harder rendering mode for the arena.
"F7" - toggles player shadows.
"F8" - toggles player lighting.
"F9" - toggles player reflections. If reflections where toggled off by
"F7", then player reflections will not be visible even if "F9"
is toggled "on". If reflections are toggled on, then the players
reflections will not be rendered, but other reflections will.
Turning off player reflections allows the game to run faster but
still look as if it is performing all reflections.
"F10" - toggles the crowd rendering.
"F11" - Toggles fullscreen mode. (This will not work in Windows, and
will corrupt the games display.)
When trying to run the game using Mesa OpenGL, you should disable
reflections, player lighting, shadows and the crowd. And you will need
to bring down the console and type
"do acmd $__ARENA__ ice_scratch false" and
"do acmd $__ARENA__ software_render true" (or simply press "F6" during
game play.) This will cause the arena to not render the ice using
multi-texturing, and will prevent the arena from rendering textured
stands. Even with all this, the game will not run much faster than 15
fps on the fastest machines.
Reducing the resolution will aslo help, but text becomes unreadable.
Even at 640 x 480, text is hard to read, especially in the drop down
"tab" - Will list all available commands, or will autocomplete a
partially typed command.
"esc" - Will clear the current line in the input text box.
"up/down/page up/page down" - Will scroll through the command history.
"shift + up/down/page up/page down" - Will scroll through the console
output. NOTE: The input text box must have input focus for this
"ctrl + c" - Terminates an executed shell information program.
"ctrl + z" - Pauses an executed shell information program.
"ctrl + f" - Resumes an executed shell infromation program.
NOTE 7: The game is still experimental, and so lacks decent documentation.
Also, to compile other things like ODE (Open Dynamics Engine), or to
modify some of the game content, you will have to extract the
appropriate files from "rph_media.zip". You will have to do this anyway
if you do not have the "unzip" program (which is what the game uses to
NOTE 8: "3DRomED" is a piece of junk (code is hard to maintain, and does not
work well.) The graphics in the game suffer because of it. Hopefully it
will eventually be replaced by Blender. The plan is to clean up the
code for 3DRomED and make what little features it has, work correctly,
since the game uses model files that it only understands (the model
files can be converted to .OBJ, but some information is lost.)
There is a program "dis3dr" in the "./dis" directory which converts
binary ".3dr" files into XML. "dis3dr" is not yet finished since it
does not convert all data in ".3dr" files, and no XML reader for ".3dr"
files has been written yet (so the generated XML files have never been
tested to see if they are correct.)
In short, do not be surprised if 3DRomED crashes, or corrupts models.
(3DRomED cannot be built until rgSDK is built, same with "dis3dr".
Basically, rgSDK must be built before everything else.)