diff options
Diffstat (limited to 'doc/README')
-rw-r--r-- | doc/README | 301 |
1 files changed, 301 insertions, 0 deletions
diff --git a/doc/README b/doc/README new file mode 100644 index 0000000..b233c77 --- /dev/null +++ b/doc/README @@ -0,0 +1,301 @@ + +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 updating. + +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 or IP address of the remote server. + + In-game, you can purchase a new ship with the 'buy' command. + +Keyboard + + Keyboard controls can be configured with the 'bind' command. + A key can be bound to an action or a console command. An action + always starts with a plus or minus sign. + + To bind the keypad left key to the turn left action: + + bind kpleft +left + + To bind the P key to the screenshot command: + + bind p screenshot + + You can use the 'list_binds' command to get a list of currently + bound keys. Use the 'list_keys' command to get a list of all + available key names. + + The default configuration: + + ~ toggle console + V switch between track, cockpit and free view + space bar turn mouse control on or off + left right up down arrow + rotate camera in free view + keypad left right up down + steer the ship left/right/up/down + keypad / * roll left/right + keypad + - increase/decrease forward thruster + T open the chat window + print screen screenshot + +Mouse + + If mouse control is on, you can use it to steer your vessel + in track or cockpit view, or to rotate the camera in free view. + + If mouse control is disabled, you can temporarily enable it again + by pressing the left mouse button. + + Use the scroll wheel to increase/decrease thruster. + + Mouse buttons can also be configured through the 'bind' command. + +Console functions + + The following commands are always 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 registered 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 + who list connected players + + 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. Note that your ship's colour won't + change until you buy a new one. + + cl_name SpaceCowboy + cl_color 1.0 1.0 0.0 + connect + +Statistics + + To activate statistics, set the draw_stats variable to 1: + + draw_stats 1 + + This will draw the following statistics on the right side + of the screen: + + fps frames per second + tris number of triangles drawn + quads number of quads drawn + tx network upstream traffic, in kilobytes + rx network downstream traffic, in kilobyte + + The fps counter will not show values above 9999. + +Configuration + + Variables marked with the 'A' flag will be archived, their value + will be written to the configuration file on exit. The dedicated + server reads its configuration from server.cfg, the client + will use client.cfg. Keyboard binds will be saved to binds.cfg + + On UNIX systems you can find these files in the ~/.osirion/base + directory. + + If you delete these files, the default configuration will be restored. + +Dedicated server + + By default, the dedicated server will accept incoming connections + on UDP port 8042. The server console os available if ncurses + support was enabled at compile time. + + If you have trouble connecting, try editing the server configuration + file server.cfg and change the net_server setting to + the server's actual IP address. The default listening port can + be altered by changing the net_port setting. + +Command line + + Both the client and the dedicated server can parse command line + options. Any console command can be added to the command line with + sign. + + To start a client and connect to a remote server: + + src/osirion +connect remote.server.org + + To start a client and create a new network game: + + src/osirion +set sv_private 1 +connect +join + + To start a dedicated server and set the server framerate to 30 frames per + second: + + src/osiriond +set sv_framerate 30 + + Note: + + Setting variable values from the command line can result in weird values being + written to client.cfg and server.cfg. If you run into problems, check those + files or delete them. + +Note for windows32 users + + On windows32, the game uses the 'home' subdirectory as your personal + directory. For example, the client.ini can be found in + home\base\client.ini. + + There is also a problem that prevents the game from creating directories. + If you need any subdirectories in your personal folder, like 'screenshots', + you will have to create it manually. + +Organization of the distribution + + C++ source code + + /src + README this file + INSTALL documentation in installation + MODELS documentation on creating models + + /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 + /satellites sattelites + /ships spaceships + /stations space stations + /scripts gtkradiant shader files + /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 data + + One of the goals of the Osirion Project, is to create an engine + that makes it very easy to adapt and extend the game world. + At the moment, the game reads the world description from + ini/world.ini and a list of buyable ships from ini/ships.ini. + + I recommend you do not edit the original game data, but to make a copy + into your personal osirion folder '~/.osirion'. This directory mimics + the directory structure of the 'data' directory and any file found + there will get precedence over the corresponding file in + the game data directory. + + The models are basic Quake2 style .map files with custom entities + and can be created with a program like gtkradiant. Refer to the + file MODELS for more information on creating 3D models. + +Project contributors + + [mDc]Thorn - Technical advisor, Sharkan model, Horizon model, + Alpha testing + + Supertanker - Station 15 model, Supertanker model, Avatar model + Bumblebee model + + Josky=KCT= - Shuttle model, alpha testing + + [mDc]Minisori + Gareth - Alpha testing + DVSoftware + +IRC + + The official Osirion IRC channel is #osirion on irc.soliter.org + +Web + + Screenshots can be found at + http://ingar.satgnu.net/osirion + +Acknowledgements + + This project could not have been possible without the work of others: + + Id Software + + the GtkRadiant project contributers + + The Quake2World community + + The Satgnu crew + + Thanks to bobke and blaze-x + + DVSoftware for bandwidth, diskpace and CPU power + + A special thanks to all =KCT= members + +License + + The Osirion Project is distributed under + the terms and conditions of + the GNU General Public License version 2. + + This includes the source code, project documentation and game data. + + Copyright 2007-2008 + Ingar=KCT= <ingar@telenet.be> + + Contact me if you want to use (portions of) this project + under a non-compatible, but otherwise free, licence. + +Trademarks + + QUAKE and ID are registered trademarks of Id Software, Inc. + LEGO is a registered trademark of the LEGO Group. + + The Osirion Project is an independent not-for-profit project + and is not affiliated with these companies. + |