Version 1, last updated by drernie at Sep 23 09:04 2008 UTC
ConceptDesign
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.
