Home    News    Mailing List/irc    Documentation    Download    Screenshots   

Terranova Project - Functional Specification of the client


This specification describes what the Terranova client will look like. It is in no sense complete until the code is fully functional. Technical details are provided elsewhere. Providing this specification is one of many experiments to try out several closed-source principles in open-source development while still respecting open-source and hacker principles.


A sample stereotypical scenario gives an idea how people will use the client software:

Scenario 1: Harry
Harry, the happy hacker comes home after a day of code grinding at the Quux Company, which helps out in providing software for the next deep-space mission. He grabs his favourite chinese dish from yesterday out of the fridge and nestles himself in front of one of his computers. He decides he'll continue to work on his home-brewn desktop environment later, fires up a web browser and searches for new networked open-source games. He finds the Terranova Project, looks at the screenshots and technologies and decides he'll bother his local computer club buddies to set up the Terranova server. Harry and his computer club friends install the packages of the client software on their machines, start up a client each, enter the server's IP and spend the next evenings expanding their empire and enjoying the Real-Time Strategy and Role-playing aspects of Terranova.


This version will not support the following:

  • scripted AI engine and scripts
  • XUL

Client Flowchart

After inserting the server's name in a textbox, the user gets the choice between loading a previously saved game, starting a new empire in the game world or quitting. The first two options bring the user to the gameworld screens.

Graphical User Interface of the Gameworld Screen

A player can left-click on units to select them or rectangle-select for multiple units at once. Right-clicking should bring up a menu with the possible actions of the unit, which (optionally followed by another left-click on a target) makes the unit execute the action. Another possibility would be to cycle through unit commands with a changing mouse cursor (a la the Sierra adventure game interface of King's Quest 5 among others.)

Units can have their statistics displayed by a right-click command, either by simple progress bars (as in the Myth games) or detailed in a transparent window floating on the game world. It should also be possible to remove every statistic from the game screen to improve the gaming experience. The following two screenshots explain this further:

On the left, you can see the equipment windows of four characters in an ultima 7 screenshot, on the right is a Myth 2 screenshot where every statistic is gone.

In short: The GUI should be simple and intuitive. Ideally, the game should be playable without consulting a manual and have keyboard shortcuts for fine-tuning real-time action.

Open issues

  • inventory screen, either as a floating bag (ultima 8) or as an optional equipment screen, full-screen or as a transparent window.
  • shop windows ie. transferring goods from shop to inventory
  • ...


Author: Johan Ceuppens (jceuppen at sourceforge)

Terranova Project - Last update: Apr 5 2003