-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgettingstarted.php
202 lines (178 loc) · 7.4 KB
/
gettingstarted.php
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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
<?php $title = "Getting Started" ?>
<?php include "bits/start_page.inc" ; ?>
<?php include "bits/start_section.inc" ; ?>
<table class="borderless">
<tr>
<td>
<h1>About</h1>
<p>
Thousand Parsec is a <a href="http://www.thousandparsec.net/wiki/Rulesets">
bunch of games</a> based on a common framework for building turn based space
empire building games. Some of the games, such as our first demo game <a
href="/tp/dev/documents/minisec.php">MiniSec</a>, are developed by the Thousand
Parsec developers themselves. In the near future we hope that other developers
will create their own games using Thousand Parsec framework.
</p><p>
Some examples of games which Thousand Parsec draws ideas from are,
<a href="http://www.faqs.org/faqs/games/stars/newsgroup-faq/">Stars!</a>,
<a href="http://www.vgaplanets.com/">VGA Planets</a>,
<a href="http://moo3.quicksilver.com/">Master of Orion</a> and
<a href="http://www.galciv.com/">Galactic Civilizations</a>.
These games are often called 4 X's from the main phases found in the games,
eXplore, eXpand, eXploit and eXterminate.
If you haven't heard of them, other games which are a bit similar include,
<a href="http://www.civ3.com/">Civilisation</a>,
<a href="http://www.mightandmagic.com/">Hero's of Might and Magic</a> and
<a href="http://www.blizzard.com/starcraft/">Starcraft</a>.
</p><p>
Thousand Parsec includes everything you need for
<ul>
<li>play any of the currently running games,</li>
<li>set up your own game using already designed games, and</li>
<li>building your own space empire building game.</li>
</ul>
As Thousand Parsec is a rather large project it is easy to get confused
when first starting out. This page has instructions on how to get started
with Thousand Parsec.
</p>
<h1>Getting Started!</h1>
<p>
Before we can give you instructions on what to do, we need to figure out
which part of Thousand Parsec you are interested in. Click the Link below
which best describes you.
<ul>
<li><a href="#gamer">I want to actually play a game!</a></li>
<li><a href="#admin">I want to run a game!</a></li>
<li><a href="#developer">I want to develop a game!</a></li>
</ul>
</p>
</td><td>
<img style="text-align: right;" src="graphics/lizard.png" />
<p class="caption">Most races don't survive finding out what lizard men eat.</p>
</td>
</tr>
</table>
<?php include "bits/end_section.inc" ; ?>
<?php include "bits/start_section.inc" ; ?>
<a name="gamer"></a>
<h1>I want to actually play a game!</h1>
<p>
To actually play a game which uses Thousand Parsec you need a client. Any
Thousand Parsec client can connect to any Thousand Parsec server.
</p><p>
There are currently two primary clients for playing Thousand Parsec. The
<a href="/tp/downloads.php?product=tpclient-pywx">tpclient-pywx client</a>
is 2d based but gets new features first (such as single player mode), while
<a href="/tp/downloads.php?product=tpclient-pyogre">tpclient-pyogre client</a>
is a snazzy looking 3d client.
</p><div style="text-align: center;">
<table style="width: 600px; margin-left:auto; margin-right:auto;">
<tr>
<td style="width: 50%;">
<a href="/tp/downloads.php?product=tpclient-pywx"><img style="border: 2px solid white; height: 200px;" src="/tp/img/screenshots/tpclient-pywx.png"></a>
</td><td style="width: 50%;">
<a href="/tp/downloads.php?product=tpclient-pyogre"><img style="border: 2px solid white; height: 200px;" src="/tp/img/screenshots/tpclient-pyogre.png"></a>
</td>
</tr>
<tr>
<td style="width: 50%;">
<a href="/tp/downloads.php?product=tpclient-pywx">tpclient-pywx screenshot</a>
</td><td style="width: 50%;">
<a href="/tp/downloads.php?product=tpclient-pyogre">tpclient-pyogre screenshot</a>
</td>
</tr>
</table>
</div><p>
After you have installed a client you should then head over to the
<a href="http://metaserver.thousandparsec.net">metaserver</a> which lists all
the currently running public servers.
</p><p>
You can download the both clients <a href="http://www.thousandparsec.net/tp/downloads.php?category=client">here</a>.
</p>
<?php include "bits/end_section.inc" ; ?>
<?php include "bits/start_section.inc" ; ?>
<h1 id="admin">I want to run a game!</h1>
<p>There are two servers that can be used, tpserver-py and tpserver-cpp.</p>
<h2>tpserver-py</h2>
<p>Real Instructions coming soon.</p>
<pre class="code">
git-clone git://git.thousandparsec.net/git/scratchpad
git-clone git://git.thousandparsec.net/git/libtpproto-py
git-clone git://git.thousandparsec.net/git/tpserver-py
cd scratchpad
sh setup.sh
cd ..
cd tpclient-pywx
cp config.py-template config.py
./tpserver-py-tool --addgame tp minisec [admin email] "A test game"
./tpserver-py-tool --populate tp 0 10 10 2 2
./tpserver-py-tool --adduser tp [username] [password]
# Run the following to generate a turn
./tpserver-py-tool --turn tp
</pre>
<h2>tpserver-cpp</h2>
<p>The tpserver-cpp is written in C++. It should compile and run under most
unix-like operating systems (Linux, MacOS X, *BSD). </p>
<p>The server is available for download from the <a href="downloads.php?category=server">download page</a>.</p>
<p>
tpserver-cpp has a number of command line arguments and config files. A man page
is provided and a sample config file is in the source package. quickstart config files for
the available games are also provided in the tarbal. The console when
the server starts has a number of commands, and has help and tab completion.
</p>
<?php include "bits/end_section.inc" ; ?>
<?php include "bits/start_section.inc" ; ?>
<h1 id="developer">I want to develop a game!</h1>
<!--
<h2>Installing tpclient-pytext on Debian or Ubuntu</h2>
<p>
Do NOT use tpclient-pytext unless you are weird.....
</p>
<ul>
<li>
Firstly you need to install Python and the Python development packages.
<pre class="code">
apt-get install python
apt-get install python-dev
</pre>
</li><li>
You also need to install <a href="http://excess.org/urwid/">Urwid</a>. Follow the
instructions found <a href="http://excess.org/urwid/#htoc7">here</a>.
</li><li>
Next you need to get and setup <b>libtpproto-py</b> and <b>tpclient-pytext</b>
<pre class="code">
# Install CVS if you don't already have it
apt-get install cvs
# Check the stuff out of CVS
cvs -d:pserver:cvsanon@cvs.thousandparsec.net:/tp login
cvs -z3 -d:pserver:cvsanon@cvs.thousandparsec.net:/tp co libtpproto-py tpclient-pytext setup.sh
# Setup the stuff for out of tree building
./setup.sh
# Run tpclient-pytext
cd tpclient-pytext
python tpclient-pytext
</pre>
</li>
</ul>
-->
<p>
There are a number of small tasks in the
<a href="http://code.google.com/p/thousandparsec/issues/list">TP bugs tracker</a>
that could be good for new programmer to start on, get involved and get familar with our code.
</p>
<p>
Some larger ideas are documented on the <a href="/wiki/Ideas_for_Programmers">Ideas for
Programmers</a> page. This is also the place to start for
<a href="/wiki/Google_Summer_of_Code">Google Summer of Code</a> project ideas.
</p>
<h2>Rulesets Development in tpserver-cpp</h2>
<p>
The tpserver-cpp game server supports plug-in rulesets that define new games. The draft of a
book which talks about how to develop new rulesets can be found
<a href="http://www.thousandparsec.net/~lee/ruleset-book.pdf">here</a>.
</p><p>
The latest version of the document can be found in git
<a href="http://git.thousandparsec.net/gitweb/gitweb.cgi?p=ruleset-book.git;a=summary">here</a>.
</p>
<?php include "bits/end_section.inc" ; ?>
<?php include "bits/end_page.inc" ; ?>