The Osirion Project - README This is the Osirion project. I wrote it to get a better grasp on game design with opengl and to get some C++ practice. Maybe someday, it will be a real game. Read INSTALL for instructions on building, installing and udpating. Dedicated server The dedicated server will accept incoming connections on port 8042. There is no server console. Client Starting the client will show the loader screen. To start the game, open the client console with ~ and type 'connect'. You will join the game as spectator, type 'join' in the console to join the game. Type 'spectate' to spectate again. Type 'disconnect' to return to the loader screen. The client is capable of acting as a networked server. You can enable the private server by setting 'sv_private 1' before you 'connect'. This wil allow remote players to connect to your client. To connect to a dedicated server, type 'connect address', where adress is the hostname of IP address of the remote server. In-game, you can purchase a new ship with the 'buy' command. Keyboard ~: toggle console space bar: switch camera mode left/right/up/down arrow keys: rotate camera in free mode keypad left/right: turn the ship left/right keypad +/-: increase/decrease forward thruster T: open the chat window Console functions The following commands are available on the console: connect connect the client to the game module disconnect disconnect the client from the game module list_ent list registered entities list_func list registered functions list_model list regsitered models list_var list registered variables quit exit the application r_restart restart the video subsystem The following commands are available when connected to a game: join join the game spectate spectate buy purchase a new ship To change the video resolution, set the r_width and r_height variables and execute r_restart. e.g.: to set the video mode to 1024x768 type: r_width 1024 r_height 768 r_restart To switch to fullscreen mode, set the r_fullscreen variable to 1: r_fullscreen 1 r_restart You can set your name and player color through the cl_color and cl_name variables. You will have to disconnect and reconnect for the changes to take effect: cl_name SpaceCowboy cl_color 1.0 1.0 0.0 connect Settings are saved when you quit the application. Organization of the distribution C++ source code /src /math mathematical classes /sys low-level system functions /filesystem virtual filesystem library /core game-independent core library /game game-specific functions /server osiriond dedicated server /render render library /client osirion client Data files /data /base game data files /bitmaps essential bitmaps /ini ini files /maps .map models /ships spaceships /stations space stations /textures textures /gtkradiant gtkradiant support files The game data can be obtained as a seperate distribution. Refer to the file INSTALLATION for more information. Editing game parameters One of the goals of the Osirion Project, is to create an engine that makes it very easy to extend the game. At this moment, the game reads the world description from ini/world.ini and a list of buyable ships from ini/ships.ini. I recommend not to edit the original game data, but to make a copy in your personal osirion folder '~/.osirion'. This directory mimics the directory structure of the 'data' directory but any file found in the personal diretory will get precedence over the corresponding file in the game data directory. Adding models The models are basic Quake2 style .map files with custom entities and can be created with a program like gtkradiant. No map compiler is necessary, the engine reads the files directly. Refer to the file INSTALL on how to install the support files for gtkradiant 1.5.0. The textures in the textures/colors/ directory are mapped to RGB colors when the models are loaded, any real texturing information is ignored. Unknown textures will be colored hot pink in-game. Two special textures are supported: any brush faces textures with common/caulk will be ignored by the engine, similar to the caulk feature in quake-like engines. Brush faces with the common/entity texture will get the current game entity color. This makes it possible to use the current player color on ship models. Add an info_engine entity to add an engine exhaust to the ship model. Notes The built-in TGA reader is rather limited. When saving TGA files with the Gimp, make sure to disable the option "origion at bottom left". At the moment, the only TGA files in the game are bitmaps/conchars.tga and bitmaps/loader.tga Project contributors Thorn[mDc] - Ship models IRC The official Osirion irc channel is #osirion on irc.soliter.org Acknowledgements This project could not have been possible without the work of others: Id Software, for releasing the quake source code, which obviously acted as a example. Id Software and the GtkRadiant project contributers The Quake2World community The Satgnu crew Thanks to bobke, blaze-x and Thorn[mDc] DVSoftware for bandwidth, diskpace and CPU power A special thanks to all =KCT= members License The program is distributed under the terms and conditions of the GNU General Public License version 2. Copyright 2007-2008 Ingar=KCT=