Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
path: root/README
blob: 7f42636d529b7802dc513d6571c67039e3a71a91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187

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= <ingar@telenet.be>