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:
- Ships (designs, artwork)
- Maps (starcharts)
- Scenarios (ships + maps + starting points + objectives)
- Recordings (playable logs of past battles)
- Movement Orders
- Weapons Firing Orders
- Game Settings
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:
- Open Games
- Active Games
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.