Announcing FTGS: The Full Thrust Game Server

September 17, 2008 § Leave a comment

This is the official kick-off the “FTGS” project (prounounced “fatigues”), an effort to build an online Game Server for the Full Thrust Space Naval Wargame. It is inspired by (though not directly derived from) the FTJava Play-By-eMail client. FTGS will be developed via an open process, using a public git Mercurial repository and the ftjava-test mailing list (subscribe). Eventually the complete system will be hosted on its own domain, e.g. “fullthrust.ws“.

The Full Thrust Game Server is intended to be an open, extensible architecture, consisting of the following components:

A. Full Thrust Interactive Library

FTIL (pronounced “futile” 🙂 is an online, editable, open content library containing:

  1. Ships (designs, artwork)
  2. Maps (starcharts)
  3. Scenarios (ships + maps + starting points + objectives)
  4. Recordings (playable logs of past battles)
FTIL is built around a series of JSON formats collectively known as FTON (“futon”), for Full Thrust Object Notation.  These cover data such as:
  • Weapons
  • Ships
  • Charts
  • Scenarios
  • Movement Orders
  • Weapons Firing Orders
  • Recordings
  • Game Settings
The goal is for the various FTON data to be available under an open content license, allowing easy extensibility without modifying the game server source code.

B. Full Thrust Rules Engine

FTRE (“future”) is library that implements the Full Thrust Light ruleset (and someday may support the long-rumoured Full Thrust 3) . It can be used for standalone desktop games, online web games, or with distributed clients. It is responsible all inter-player activity, including:

  1. Order capture & execution
  2. Initiative rolls
  3. Movement (ships, fighters, missiles, and FTL)
  4. Weapons fire
  5. Damage calculations
  6. Damage control
  7. Automated enemies (“Artificial Intelligence”)

C. Full Thrust Battle League

FTBL (“football”) is where games are initiated and tracked. Players register, select a Scenario (from FTIL), and join or invite others into games. The games are played, saved as Recordings, and used to generate player rankings. The key entities tracked are thus:

  1. Players
  2. Open Games
  3. Active Games
  4. Rankings

We plan to host it on Google App Engine, so scalability (and cost) hopefully won’t be an issue.

Included in FTBL are AI drones known as Full Thrust Artificial Lifeforms. These FTALs (“fatal”) can be their own players (with their own rankings), or serve as subcommanders on large-scale campaigns.

D. Full Thrust Web Service

FTWS (“fatuous”) is simply a uniform web service front-end to all of the above functionality. It is expected to be based on RESTful JSON for simplicity and interoperability.

E. Full Thrust HTML Rendering

Finally, FTGS should include it’s own browser-based graphical user interface (FTHR, “feather”), so it can be used online without need for a dedicated client.

Tagged: , ,

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

What’s this?

You are currently reading Announcing FTGS: The Full Thrust Game Server at iHack, therefore iBlog.

meta

%d bloggers like this: