Thousand Parsec Wiki
From Thousand Parsec Wiki
Thousand Parsec project could be divided into several parts. This is a quick overview of them, to help you find a way around the project and see how it all fits together. For a more substantial introduction, see the Architecture.
One could say that the Thousand Parsec protocol is the basis on which everything else in Thousand Parsec project is built on. It defines the features that are available to ruleset writers, it defines how servers should work and what clients should be able to handle and how clients and servers communicate.
Once you have a protocol defined you need some code, which implements various objects from the protocol. You also need some functions to handle these objects and various information. For example how to get planet properties and how to pack data for transmission over the internet. This code is usually contained in a protocol library, which can then be used by clients and servers.
Now that we have a library that can “talk” as defined in the protocol we also need an easy way to make the library actually communicate. That's where a client comes into play. A client is usually a nice graphical user interface which makes it easy for a player to connect to a game server, see status of his galactic empire and issue orders to various objects in the game.
Some graphical clients have inbuild AI, and some dedicated AI clients are in development. These use the same protocol libraries as the graphical clients do, but instead of letting a player decide what orders to issue, those decisions are made automatically.
Games that people play are hosted on computers which are running special programs which are called game servers. To be able to provide various types of game-play each server can load separate modules, each containing different set of rules.
At the beginning of each turn a server has to execute orders from players and compute the new status of objects. Rulesets define, inside boundaries of the protocol, what are the properties of the universe and objects in it, how do they behave and interact. Victory conditions are also part of the ruleset.
Milestone rulesets are special rulesets designed to exercise certain features of Thousand Parsec.
- MiniSec, the first milestone game. Simple test of being able to issue orders and perform simple combat.
- MTSec, the second milestone game. It is designed to both be a fun game and to exercise the object design capabilities of the framework.
Google Summer of Code rulesets
These rulesets have been developed as part of a the Google Summer of Code.
- RFTS Clone
- Risk - A modified version of that classic board game now in space.
- TAE - A more advanced board game also now in space.
- DroneSec - By controlling a single mothership, take over the universe with your drones!
Designs in progress
Links to ruleset designs in progress.
Pages describing needed artwork for projects/rulesets.
Pages describing aspects surrounding media.
How To pages
Pages which describe how to do something specific.
- Getting started with development
- Compiling tpserver-cpp
- Setting up tpclient-pywx development environment on Ubuntu
- Setting up tpclient-pywx development environment on Mac OS X
- Setting up tpclient-pywx development environment on Windows
- Steps to do a release of tpclient-pywx
- Working with the libtpclient-py library
Until they get sorted, other pages can be linked from here: