Skip to content

Latest commit

 

History

History
28 lines (16 loc) · 2.03 KB

Overview.mediawiki

File metadata and controls

28 lines (16 loc) · 2.03 KB

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.

Table of Contents

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.

Further Reading