Version 1, last updated by drernie at Sep 23 09:04 2008 UTC

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:

  • Ships (designs, artwork)
  • Maps (starcharts)
  • Scenarios (ships + maps + starting points + objectives)
  • 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:

  • Order capture & execution
  • Initiative rolls
  • Movement (ships, fighters, missiles, and FTL)
  • Weapons fire
  • Damage calculations
  • Damage control
  • 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:

  • Players
  • Open Games
  • Active Games
  • 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.