Gameplay
design document
Jean-Ren Couture
Superpower 2 Gameplay Design Document Confidential
Presentation
Abstract
Ginger is designed as the megalomaniacs dream game: being able to control as much
as possible the details in a strategy game. The goals, time limit, even the GUI is
configurable to the players liking. With this, were following some of the design choices
that were present with the release of Superpower, and adding complexity and realism
to the gaming experience.
And were offering with that sequel an engine capable of running different strategy
game MODs, either created by us or by the consumers with custom-made
development tools.
This section runs briefly over the design choices and direction GolemLabs is taking to
create Ginger. More than just a sequel, weve redesigned the entire game from scratch,
and added a lot of functionalities that will extend the possibilities and shelf life of the
game. Weve also taken note of the reception of Superpower and will work in creating a
more robust and stable platform.
Besides being bigger, containing more data and more options (some of which will be
listed later on), the two most interesting changes weve made are the extended MODs,
and the layered difficulty levels.
Extended MODs
Already present in Superpower, MODs enable the player to do mini-games in the
grander dataset, which is the real world as of 1997. What well do with Ginger is to
incorporate the dataset in the MODs themselves. The game as we know it will then
become an engine. The actual gameplay will be loaded at runtime. These new MODs
will include of course the data, but also the interface graphics and sound, and the
behaviour of the set MODs.
Every action, every modification of data will be also included in the MOD file. In a way, a
MOD file will be much like in current FPS like Quake3. We believe this will be the first
time a MOD will be used in strategy game with as much versatility as what well do. Well
also release the editor of such MODs to let the community create their own.
GolemLabs will create the modern real world (work title Superpower2) MOD in house,
and probably others that will be released as add-ons. Well also do contests for
community-developed MODs.
And we have listed some other ideas that we couldnt do because of copyright/TM
issues, but that would be possible with the engine:
Of course, every one of these scenarios would look totally different from one another.
Moving knights around for a Crusade has different effects than moving planes. The
MOD will contain every graphics, 3D model, sound, and AI behaviour, action, etc.
With such an engine, well create the ultimate grand strategy game. Well get the
community involved, and well externalize as much as possible the game code from
the engine code.
Ex.: To invade a country, the player will click on the country, and select
move troops and then his intent, which could be invade or
destroy After that, the advisor will recommend an approach route
and the necessary equipment to send taken from different locations in
the players inventory. At this point, the player will have the possibility to
click on ok, and the move will take effect. But hell also have the
Every action will be treated like that. A novice player will have the possibility to play fast
and simple games. But a more die-hard player will have the possibility to get deeper in
the recommended details and tweak them to his liking.
Lastly, well make each MODs unique in feel and game play. The Crusades MOD will
play more like a string of battles with minimal economic and politic options, and the
Superpower2 MOD will play more like a regular Strategy game.
Other features
Real time. The time will flow at the desired pace, and every action such as troop
deployment will be scheduled in real time. An option to keep it turn-based (by
pausing the game at set intervals) will be available
3D world with multiple zoom levels (depending on the scenario setting)
Event watches. The player will have the possibility to add watches that will warn
him in real time if a country does something meaningful.
The player wont have to micromanage the combat. Instead, hell design the
general strategy with a bank of military strategies. Hell have the possibility to
tweak such strategies, or design new ones. (The Warsaw outflank, the Lenin
break, etc.)
Every strategy, advisor, designs, etc. will be exportable on the web
The player will be more personalized with political groups having different goals
and personalities.
Political, historical and religious landmarks. Religious holidays, night and day, etc.
More statistical analysis of how the country is changing, and how the world is
moving
More thorough population description and actions: religion, language, age,
profession, etc.
Political party with finances linked to enterprises. If your policies please certain
enterprises, they might give you more money, but you could alienate certain parts
of your population
Along with enterprises, a country will have interests groups: Greenpeace, church,
etc. that will have the possibility to influence the population
Government corruption. Certain actions wouldnt get executed, or executed badly
A country is dynamic: borders can change, territorial disputes exist
The player can sponsor peace negotiations, international meetings, etc.
There are a lot more options and features we thought about, but this gives a brief
overlay of the type of game Ginger will be.
Gameplay
SP2 is a geopolitical simulator set in the contemporary real world. The object of the
game is to control one political party of a country and lead that country. The goal(s) of
the player doesnt alter his gameplay: all options are given to the player at all time.
One of the main gameplay aspect is the interactivity between actions and data of the
game. Political actions will have consequences, both in short time and long time range,
in economy, demography, etc.
We also want to develop the social aspect of the game through its multi-player
component, enabling the creation of alliances, deals, and conflicts between players like
was played in the boardgame Diplomacy. In that regard, well maximize the ways for
players to communicate and negociate, wether in secret or in group.
Development process
This is the iteration 1 of the game. Because of its nature, well build the game in multiple
2 iterations, each time testing the new ideas and gameplay effects. If no mention of an
iteration is made, we assume its iteration #1. Otherwise, the left margin will contain the
value, like the example on the left.
Files
This section explains the file structure, the different files that has to be present and their
roles, and the way to detect different files.
Files exist in two forms in SP2: real and modded. A real file is a normal file available on
the disk. A modded file is a file contained in a MOD file. A mod file works in the same
way a PK3 file works, so the files inside have a name and path. A MOD file is simply a
compressed version of a dirtree structure.
If a user wants to add or modify files, hell have to insert in the game folder the new
file(s) at the right location. These new files can replace files in the MOD file, or they can
be a complement of them if the permissions of the directory enable it.
For example, the Superpower 2 MOD will be located in the SP2 folder of the root. That
MOD will contain a folder named data, and in that folder a file called main.xml. On
install, the disk will only contain the base MOD, so the dirtree will look like this:
<ROOT>\Superpower2.exe
<ROOT>\SP2\Superpower2.mod
If a user wants to change the file main.xml in the superpower2.mod, hell have to
replace it with a new instance of that file. Hell have to create a folder named data in
the SP2 folder, and place in it the new file main.xml. If the folder is open, he could
also add in that folder a file called religions.xml that would be new to the MOD. His
dirtree would look like this:
<ROOT>\Superpower2.exe
<ROOT>\SP2\Superpower2.mod
<ROOT>\SP2\data\main.xml
<ROOT>\SP2\data\religions.xml
Upon loading the MOD, the engine will also search for other real files in the folders, and
replace the main.xml data entry with the new main.xml available. Hell also load
religions.xml and create the new tables for it.
The example above lists data files as XML files, but for security reasons, the engine
should only load data in a proprietary format saved by the editor to validate the data and
to give versions numbers to tables that would be different than the original versions to
prevent online cheating.
Some of these files are mandatory for a MOD to work. Its the responsibility of the editor,
when building a MOD, to verify that these files are present and comply with the
requirements asked.
Name Location
Superpower2.exe <ROOT>
Notes
Name Location
default.cfg <ROOT>
Notes
Default configuration file. Used as a player profile. Contains the last MOD played,
screen size, gamma, volume, and any other hardware preference. The player can
create other profiles (other files with the extension CFG) and load them in the
hardware setup window.
Name Location
Sysinfo.txt <ROOT>
Notes
Dump of hardware found upon initialization. If the file is present, the game compares
the current hardware with the one in the file. If different (something changed), prompt
the user to go to the hardware setup window to confirm the configuration.
Name Location
*.pcx <ROOT>\grabs
Notes
Grabs of the screen all go in the same folder. They also all contain a watermark
identifying them as SP2 grabs.
Name Location
<ROOT>
Contents.xml
Every other folders of MODs.
Notes
Every folder of a mod contains a file called contents.xml created by the editor. It details
the files present in the folder (so that the engine wont load or index temporary files),
and the rights of the folder. The rights of folders are transferred to subfolders unless
specified otherwise. The required fields are:
Name Location
Client.dll <ROOT>\<MOD>\dlls\
Server.dll
Notes
Every MOD must have these two files in the dlls folder of the MOD root.
Name Location
Index.htm <ROOT>\help\
Notes
This is the basic help file for general issues with the game (not MOD specific). This file
can link to other files in normal v1.0 html language.
Name Location
Favorites.txt <ROOT>\<MOD>\
Notes
Name Location
config.xml <ROOT>\<MOD>\
Notes
Name Location
Index.htm <ROOT>\<MOD>\help\
Notes
Every MOD must have the basic help file in the help directory. The help is here MOD
specific.
Name Location
Titlescr.res <ROOT>\<MOD>\resources\
Notes
Again mandatory for every MOD. This is the resource file for the title screen.
Name Location
Credits.res <ROOT>\<MOD>\resources\
Notes
Name Location
Consolewin.res <ROOT>\<MOD>\resources\
Notes
RAM
(dont prompt if different, only if critically low)
After initializing the hardware, the engine will create a graphical window and load the
resource for the title screen. It is the responsibility of the modder to make this first
resource work, but the editor could do some basic tests on it.
Once the title screen is loaded and displayed, the initialization is finished. The server
puts itself in wait mode and listens for messages.
Start single-player
Puts the server in Single player mode
Loads the selects scenario window
Start multi-player
Puts the server in multi-player mode
Loads the selects scenario window
Join multi-player
Loads the server list window
Load saved games
Loads the saved games window
MODs
Loads the MODs window
Setup
Loads the Hardware setup window
Credits
Loads the Credits window
Quits
Sends quit message to the server.
MODs window
Available MODs
The server asks the engine for a list of installed MODs and displays their
name
Description
Displays the name, the version number, the creator and the
authentification level. This level is an icon. Possible values are
GolemLabs created, GolemLabs approved, No Status or Rogue
MOD. The status is stored in the MOD itself, but the server should check
GolemLabs website for an updated status of MODs.
Confirm
The load button is unavailable until a MOD is selected.
Cancel
Loads Title screen
Credits window
Credits
Can be really anything here.
Close button
Closes the window and returns to the Title screen
Opens a window allowing the player to put a filter on the server list to show
only servers that meet specified criterias (can filter out servers that are full,
servers that are completely empty, servers with ping rating higer than a
specified value or show only servers playing a specified MOD or scenario.
Add server button
Opens a small window allowing the player to manually add an IP address
to the server list.
Server info button
Unavailable until a server is selected.
Opens a window providing additional information about the selected server
like the IP address, the administrators name, the ping rating, a player list
and the country they control, available countries, active MOD and
scenario, time online, etc.
Add to favorites button
Unavailable until a server is selected.
Adds the IP to the favorites list.
Join button
Unavailable until a server is selected.
Goes to the Game lobby window if the game hasnt started yet, or the
Main screen if it has. If the player is banned from this server, a message
box will prompt him that he cant connect to the server.
Cancel button
Returns to the Title screen.
Administrator Name
Only available if server in multi-player mode. A textbox to enter the name
of the administrator of the game (saved in default.cfg)
Administrator country
Displays the country selected by the administrator in the Player description
window
Administrator options
Only available if the server is in multi-player mode. Opens the
Administrator options window
List of players
Lists the players names and countries
Chat
Displays two text boxes: one to enter a line of chat, and the other one to
display the actual chat
Ban
Only available if the server is in multi-player mode. Adds the IP to the
Banned.txt file of banned IPs. And kicks out the player.
Kick out
Only available if the server is in multi-player mode. Kicks out the player
back to the title screen. The player receives a Message box telling him that
he was kicked out by the administrator of the game.
Player options
Only available if the server is in single-player mode. Opens the Player
description window
Start game
Send a begin game message to every client connected, displays the
Main screen.
Cancel
Loads the title screen. Kicks out all connected clients.
Goals
Conquer the world, achieve world peace, stay in power, balance resources, eliminate
rebels, last man standing, develop nation
For each, toggle if present or not, and time frame (time frame could be different for each
goal)
Accept Cancel
Player
Name: Nick of the player to display in chat. Text box
Country: Pull down list of available countries.
Party: If another player chose the specific country, its taken out of the list
and the choice is unavailable
Goals
Scenario description
A scroll bar is used to navigate between scenarios. Each one is described
with a text box and a picture/animation.
Accept
Loads the Player description window
Cancel
Loads the Title screen
Accept Cancel
Time breaks on
These are automatic events that will put the game in real time. The list isnt
definitive, but should include combat, nuclear exchange, regime change,
war declarations, treaty negociations, etc. Note that every player can still
request a time speed change in game without such an event, and the
administrator can change the speed of time. These are just automatic time
changes.
Accept
If in single-player mode, starts the game and loads the Main screen
If in multi-player mode, returns to the Game lobby window
Cancel
If in single-player mode, loads the title screen
If in multi-player mode, returns to the Game lobby window
Game - Windows
Main Screen
The main screen displays the game map and other sub-windows, like the date, current
country, history graph, browse map, and sphere browser.
Clicking on the map selects the country underneath the mouse cursor. If other
information is displayed on the map (bases, factories, troops, etc.) and the cursor
passes over it, the mouse cursor turns into another cursor type while its over the target.
Selecting it at that moment selects the other info underneath.
Right-clicking on the map brings up the map-type context menu with the following
choices:
TOGGLE 2D view
TOGGLE 3D view (default)
------------------------
Geographic
Political
Empires
------------------------
Demographic data >
Population
Population growth
Photorealistic : The base map, displaying a rendered look at the world where the soil is
painted according to the land use and the elevation (see screenshot1.jpg)
Geographic : A more atlas look. Soil use isnt displayed, and the elevation is
represented as different colors. Political borders are also displayed.
Political : Like with Superpower 1, this map type will display the players country along
with any other country controlled in green, and his allies in blue. The selected country, if
not the player, and his colonies, will be in red and his allies in orange. Countries that
would be two colors should be displayed as such (stripped).
Military displacement : The empire map, but will also display known military stationed
troops as little flags on the map.
Nuclear strength : the color of the country will depend on their level of technological
knowledge in nuclear weapons.
Radar coverage : Like the empire map, but will also display radar circles according to
the bases and their coverage.
In 2D view, the movement is bounded for the top and bottom of the map, and not on the
left-right side enabling scrolling (like with Superpower 1).
The current date and time is displayed according to the players capital. A OnMouseOver
displays the current speed of time. If pressed, it selects a scale to choose the speed.
In a multi-player game, the clients cant change the speed of time. Only the server can
change the time for every client at the same time. If a client requests a speed change,
the server sees the players name and the requested speed appear on top of the
window. By right-clicking on it, he can either accept or reject it. The client sending a
requested time change will see it above his popup, and will see the response.
The state of relations is displayed with a single word (Excellent, good, neutral, poor,
bad). The status displays both with color (blue for normal, green for allies and
conquests, red for enemies in war) and a one-word status (controlled, allied, war,
government type). The more infos buttons brings up the Country Info Window.
When the relation box is clicked, the popup extends to show a history-like graph of
relations between the players country and the selected country just below the state of
relations box.
Clicking on the countrys name will bring up the country select menu. Like in SP1, this
list will display all the countries of the world in alphabetical order.
+ OnMouseOver this menu opens sphere selection sub-menus
This window also contains four buttons, one for every sphere of the game. Pressing
these buttons will bring up the windows list of that sphere.
Right-clicking on a sphere button brings up a context menu with three options: Add
watch for sphere for country, AI manage (only available for controlled countries) and
bring an events log/journal.
Every data in the list is assigned a color. That color is assigned in an order of
preassigned colors, and the player can left-click on it to change it. More than one data
can be shown at the same time on the display.
All the data in the World category can be dragged&dropped into the list, and the tracking
begins at that time for every country. A data in the list can also be dragged out of the list
and the tracking will stop at that point.
The small triangle icon on the bottom frame bar indicates that the window is resizable.
The quivalent of the mini-map in SP1, its used to quickly move around the map, and to
zoom in and out of the map.
For each:
Date declared
Type
Status
Date completed
Cost of action
This window is accessible by an icon that shows up on the main screen every time an
action is pending. This is a list of the actions declared by the player, the date declared,
and their status, and the date accepted or rejected. An action can be either under
consideration (if the country isnt a democracy, or is under Marshall law, this process is
quicker), passed or not executed (because of corruption). A finished action stays there
until the player clears the list.
The advisor should randomly be doing stuff. This is the main source of easter eggs and
funny things: clicking on his nose, if you fire him too often hell be scared, etc.
Whenever the advisor proposes something or does an analysis, two icons will appear to
either praise or slap the advisor. This will train him to give suggestions that fit with the
players gameplay style.
An analysis is more detailed than a what to do. Its an entire window of the state of the
selected country. Its not the same thing as the two economic analysis, that are more
focused on that aspect of the game. This analysis is general for the entire country.
When you fire an advisor, its replaced by another one of different mentality. Again, this
is an ideal thing for easter eggs.
System Window
Load/Save
Config
Music
Music controls
Quit
The system window is brought up from anywhere in the game by the MENUKEY. It
handles the load/save, config, quit, and music sub-windows.
Under the music button are the standard music controls (play, pause, stop, etc.)
LIST of games
Load Save
By default, the list highligths the current game. If select load while in game, ask for a
confirmation. If selects save, ask to confirm overwrite. Double-click can rename a saved
game.
Toggle clouds
The export button lets you export advisors, designs and strategies directly on the web
to golemlabs.net(?)
LIST of songs
The default list includes all the songs provided with the game. The clear button erases
the entire list. Add open up a file search button: can add either CD tracks or music files.
The delete button deletes the selected entry from the list. Double-clicking on an entry
renames it.
Quit game
These buttons ask for confirmation. They also flush the current game.
Help window
The help system will be displayed much like v1.0 html code. Itll also be available in html
form in the help folder of the MOD.
(see MODs/Superpower2/Help for a sample)
Area is displayed in square kilometers. The map shows the country with its neighbors
and the kilometers of boundaries they share. Climate, Natural hazards and Terrain are
texts that can be longer than the size of the box, so a scroll may be used. Highest,
lowest and elevation are in kilometers. Land use is in percent.
These three lists display the names (of either the ethnic groups, religions or language),
the percentage of population, and the strategic percentage. It should also display an
icon to show if the element is official, legal, tolerated or illegal in the country.
Right-clicking on a religion will display its holidays.
The political philosophy and government approval rating are important data, so they
should be more visible in the window. The other two are represented in number of years,
and they can be changed by pressing the set buttons.
The national security levels should be displayed in percent.
Add also here the various actions performed to influence propaganda and patriotism (to
be determined).
Religions
Political parties
Languages
The left three lists, ethnic groups, religions and languages, can have four different
status: official, legal, tolerated, and illegal. You can change the ratings here.
A political pressure group can only be legal or illegal. A political party can be the player,
in power (many can be in power at the same time), in the opposition, or rebels.
The emigration and immigration rate are in percent.
Capital Move
Propose coalition
The constitutional form displays the government type. The capital is the name of the city,
and the next election is a date. The override button creates a sort of coup, and changes
automatically the constitutional form.
The pressure groups lists displays their names and legality, but also access to their
goals and their requests (either by double-clicking, or whatever). The political parties
states their names and legality, a check to see if theyre in power or not, if its the player,
their approval ratings, and access to their philosophy (political and economic) and their
financing (amounts or percent from what sector). A coup dtat is performed by financing
the rebels.
Treaties
(start date, name, type)
Foreign pressure
(Country name, pressure level, their request)
The treaties list can be double-clicked to access more in-depth information on them: end
date, member countries, description, a toggle to open treaties to new countries, a list of
conditions to enter, and a break button and a renegociate button.
The foreign pressure is a list of things other countries want you to do. When you wind up
doing the thing they asked, it falls off the list. The button pressure country is used to
ask another country to do something.
There should be a embassy list, showing all the opened embassies in foreign countries.
new to open a new one, and close to close the selected one.
Embassies would improve overall relations with a country, and accelerate diplomatic
talkings.
The two UN actions should be separated from the others, and given a graphical
distinction (like the UN logo or something). If theres more things we could make the UN
do, we could create a different window for it.
Currency name
Analysis
This window is mainly information only, except for the - and + buttons around the three
lower boxes. You cant modify these values to an absolute value: only move them one
step up or down (the steps vary: 1% for income tax, 1/10 of currency in minimum wage,
0.25% for interest level).
The analysis button is a breakdown (Lipsey & Steiner) of the state of your countrys
economic profile based on these datas, and suggestions on what to do.
All of these windows work in the same way. They display the current level and the
targeted levels, and a budget button for financing of the sector.
Surplus/deficit
Analysis
Embargoes
(Country, toggle if embargo is enforced internationally)
This window lists the economic policies with other countries. The list displays all
countries that are marked with an embargo, and if youre trying to enforce this embargo
internationally.
The three buttons are a toggle to see if youre trading with the other countries, a new
embargo and a delete currently selected embargo buttons.
List of resources
For each :
Levels (domestic demand, domestic production, trade, available)
Total Imports
Total exports
International levels (demand, production, price)
Toggle private/public
Toggle legal/illegal
Sector tax
Part of GDP (either in $ or in %)
Import duties (with everyone or against specific countries)
Export duties (with everyone or against specific countries)
Domestic Opinion
Contribution to political party
There is probably too much information for each resource type to display them all in a
line. Well have to find a way to easily make all this information reachable. Id like this
window to represent a trading floor in the background.
Need to use two different window level: one for the basic info, and double-clicking a
specific resource would bring a secondary window for more detailed info.
Clicking on domestic production level brings up the option to prospect for more
resources.
The idea behind the new resources management is that there is a trading board, and
you buy or sell resources there. If you sell more than the demand, the prices drop, and
vice-versa. You no longer trade to specific countries, but through the board, like the IMF
worked.
International debt
Request money
This is a pretty straight-forward window. The top three boxes are in dollar. You can click
on IMF funding to change the amount.
The four types of electricity are added to produce the lowest box. Banned is a toggle.
Clicking on import or export brings up a window where you choose a neighbor, it states
his production available for exports (or his demand), and the level to trade.
Increasing the budget increases the production.
Patriotism (%)
Propaganda (bar)
The patriotism and propaganda ratings are linked with the political window setting them.
The propaganda is a bar since theres no scale.
For each :
Name
Location
Area of expertise
This is a list of military manufacturers. Its separated in two, and the more info is a list of
designs. The discovered technologies should be in the design window.
Someone can browse the manufacturers of another country and order a production for
him (by clicking on the under construction box. If theres already a production, has to
wait until finished, but order on queue), but this could be blocked by the country of the
manufacturer.
Tehnologies will be researched in a linear fashion, but wed rather have names than
numbers (pending on the availability of data). See designs.txt for a list of technologies.
The game will contain around 600 parts of units for the player to assemble. Some
parts, like planes, consists of the entire model while others, like tanks, are seperated
between body and turret. Also, missiles are modeled and included in the design to fit the
realistic representation of the design. This will give to the player a greater control on the
look of his designs, and will provide better accuracy on the battlefield.
List of bases
For each :
Name
Location
Toggles secret, underground
Size (enum)
Facilities (toggle and value)
Radar
Shipyard
Nuclear silos
Anti-missile batteries
Launch pad
Airport
The facilities list isnt final at this point. The size of the base is an enum of types
(outpost, small, medium, large, huge), but there are probably military terms to describe
them best.
For each:
Design type
Number
Status
Toggle willing to sell (right-click with icon to show status)
The structure of the list is managed inside the list. You can right-click on an item and
create a new group at that level (corps, division, etc.). You can rename every group by
double-clicking on it. This is viewed in a tree-like list with collapsible and expandable
branches. You can view units by structure, by location or by design.
The search button brings a list of every built military units, and displays how many and
where. Could also be used to search for a group(?). Training can either be automatic or
played.
Right-clicking on an infantry unit brings the option to send it to the special ops groups.
Splitting groups is done in the same way as renaming something: by reselecting an
already selected unit.
For each :
Name
Number
Trainings
Location
Status (ready, training, in mission)
Each special ops groups can have multiple trainings, so I dont know yet how these
could be displayed. Also, theres no easy way to see the objectives of groups in mission,
could be accessible through right-clicking.
List of missiles
For each :
Location
Type
Target
Status
This window will most probably be a lot more graphical than the others
The launch button should still be cool to press. The rest works in about the same way
(except that we can now select multiple missiles).
Auto-target button would bring a secondary window asking for country to target, cities if
applicable, sector to target (civilian, bases, country infrastructure, etc) and the strength
of the attack.
List of strategies
Execute
Combat in Superpower2 will be completely different than what we used for SP1. Its one
of the main sources of eye candy. The first level of combat is at the strategic level. Its
also the only level available if the combats arent real-time in multi-player games. The
field level is always real time.
On the strategic level, the battles occurs on the mini-map at the same speed as the
regular gameplay. The movement of units is represented with arrows. The game will
always propose a position of units and basic strategies. By selecting the proper units
from the list, the player can change his strategies.
Strategic AI
[]
Combat AI
[]
Data
There are two kinds of data types in SP2: Game data and world data. Game data are
specific to gameplay, and they include watches, config, etc. World data include
everything used to describe the world (the 4 spheres, and the map data, among others).
Most of that data is already compiled and available in XML or Excel form (see included
docs).
Structure of Data
1. Game
1.1. Game settings
1.2. Gameplay
2. World
2.1. Map
2.2. Countries description
2.3. Population
2.4. Politics
2.4.1. Treaties
2.4.2. Parties
2.5. Economic
2.5.1. Ressources
2.6. Military
2.6.1. Manufacturers
2.6.2. Bases
2.6.3. Technology
2.6.4. Designs
2.6.5. Built units
1. Game
STRUCT GameDate
DATE StartDate
DATE CurrentDate
STRUCT GameTime
TIME StartTime
TIME CurrentTime
UINT16 CurrentCountry
PROFILE PlayerProfile
STRING Name
PLAYLIST Music
UINT8 MusicVolume
UINT8 SoundVolume
COLOR InterfaceColor
COLOR LeftmostMapGradient
COLOR RightmostMapGradient
PERCENT MapGradientOpacity
UINT8 AutomaticJournal {number of days, 0 for none}
LIST Watches
LIST CountryID
UINT8 Type (sphere type)
BOOL View3DMap (default = TRUE)
UINT8 GameSpeed (0 = pause)
FLOAT MapZoomLevel
COORD CenterPosition
UINT16 CurrentMapType
LIST RequestsGameSpeed
UINT8 PlayerID
UINT8 GameSpeed
LIST History
STRING Variable
UINT16 CountryID
COLOR Color
FLOAT Data[128]
UINT16 CurrentSavedGameID
LIST MusicPlayList
STRING File
STRING Name
LIST CountryGroups
LIST CountryID
STRING Name
1.2. Gameplay
STRUCT Player
UINT16 CountryID
UINT8 Type (sphere type)
UINT8 SubType {political party ID}
STRUCT SphereControl (default = FALSE)
BOOL DemoAIControl
BOOL PoliAIControl
BOOL EconAIControl
BOOL MiliAIControl
LIST WindowsControl (default = TRUE for budget, others)
UINT16 ID
BOOL AIControl
BOOL Locked
BOOL Opened
COORD Position
LIST ContentStatus
BOOL Opened
STRUCT Advisor
BOOL Visible (default = TRUE)
BOOL Advice (default = TRUE)
UINT8 AdvisorID
COORD Position
UINT16 CurrentCountry
LIST PendingActions
UINT32 ID
UINT16 Type
UINT64 OtherInfos
UINT8 Status
DATE Declared
DATE Finished
UINT8 CurrentAdvisor
BOOL AdvisorOpened
2. World
LIST Religions
UINT8 ID
STRING Name
LIST Holidays
DATE DateBegin
DATE DateEnd
STRING Name
LIST EthnicGroups
UINT8 ID
STRING Name
LIST Languages
UINT8 ID
STRING Name
LIST Advisors
UINT8 ID
UINT16 NumberOfTimesFired
UINT16 Experience[n] (to be determined)
UINT8 Status
2.1. Map
Coastlines
Elevation
Rivers
Political borders
Domestic political borders
Type of vegetation
Ressources
Population
Religions
Languages
Ethnic groups
IMAGE Flag
STRING CountryName
STRUCT Area
UINT32 Land
UINT32 Water
UINT32 Total
UINT32 HighestPoint
UINT32 LowestPoint
UINT32 StandardElevation
LIST Boundaries
UINT16 CountryID
UINT32 Length
UINT32 TotalBoundaries
UINT32 Coastlines
STRING Climate
STRING NaturalHazards
STRING Terrain
STRUCT LandUse[4] (arable, forest, not used, parks)
FLOAT Actual
FLOAT Planned
BOOL Locked
STRUCT Environment
[to be defined]
LIST Cities
UINT32 ID
STRING Name
COORD Position
UINT64 Population
2.3. Population
STRUCT PopulationDescLess15
UINT64 Number
FLOAT MaleFemaleRatio
STRUCT PopulationDesc15To65
UINT64 Number
FLOAT MaleFemaleRatio
FLOAT PrimaryWorkers
FLOAT SecondaryWorkers
FLOAT TertiaryWorkers
FLOAT Unemployed
FLOAT Military
STRUCT PopulationDescMore65
UINT64 Number
FLOAT MaleFemaleRatio
FLOAT GrowthRate
FLOAT BirthRate
FLOAT DeathRate
FLOAT MigrationRate
FLOAT UrbanPopulation
STRUCT LifeExpectancy
FLOAT Male
FLOAT Female
FLOAT Average
STRUCT Litteracy
FLOAT Male
FLOAT Female
FLOAT Average
STRUCT AccessToWater
FLOAT Rural
FLOAT Urban
FLOAT Average
LIST EthnicGroups
UINT8 GroupID
FLOAT PercentOfPopulation
FLOAT StrategicPercent
UINT8 Status
LIST Religions
UINT8 GroupID
FLOAT PercentOfPopulation
FLOAT StrategicPercent
UINT8 Status
LIST Languages
UINT8 GroupID
FLOAT PercentOfPopulation
FLOAT StrategicPercent
UINT8 Status
UINT32 Telephones
UINT32 PlannedTelephones
UINT32 Televisions
UINT32 PlannedTelevisions
UINT32 Radios
UINT32 PlannedRadios
UINT32 ISPs
UINT32 PlannedISPs
UINT32 InternetUsers
UINT32 PlannedInternetUsers
2.4. Politics
2.4.1. Treaties
LIST PoliTreaties
UINT32 ID
STRING Name
DATE StartDate
DATE EndDate
LIST CountryID
BOOL OpenTreaty
LIST Conditions (to be determined data of the country
must be at a certain level)
UINT8 Type
LIST ForeignPressureOnSelf
UINT16 CountryID
FLOAT Pressure
UINT8 Type
LIST PressureOnOthers
UINT16 CountryID
FLOAT Pressure
UINT8 Type
2.4.2. Parties
LIST Parties
UINT32 ID
STRING Name
BOOL Player
UINT8 Status (in power, opposition, rebel)
FLOAT Popularity
FLOAT PolitcalPhilosophy
FLOAT EconomicPhilosophy
LIST Financing (one per economic sector)
UINT64 Amount
2.5. Economic
FLOAT EconomicPhilosophy
FLOAT PopulationBelowPovertyLine
FLOAT Inflation
FLOAT InflationGrowth
FLOAT InterestLevel
FLOAT PersonalIncomeTax
UINT64 MinimumWage
STRUCT Infrastructure
UINT32 Railways
UINT32 Highways
UINT32 Pipelines
UINT32 PortsHarbours
UINT32 MerchantMarine
UINT32 Airports
UINT32 TargetedRailways
UINT32 TargetedHighways
UINT32 TargetedPipelines
UINT32 TargetedPortsHarbours
UINT32 TargetedMerchantMarine
UINT32 TargetedAirports
STRING CurrencyName
FLOAT CurrencyValue (always based on the US dollar)
FLOAT CurrencyValueGrowth
FLOAT CurrencyValueHistory[48]
UINT64 GDP
FLOAT GDPGrowth
STRUCT Budget
UINT64 TotalIncome
UINT64 TotalExpenses
BOOL MeetExpenses
INT64 Surplus
UINT64 AvailableFunds
LIST Income
UINT8 Type
UINT64 Value
LIST Expenses
UINT8 Type
UINT64 Value
UINT64 MinimumValue
LIST Embargoes
UINT16 CountryID
BOOL Enforce
BOOL OpenCountryForTrade
UINT64 IMFFunding
UINT64 IMFReceiving
UINT64 ExternalDebt
UINT32 ElectricityConsumption
UINT32 ElectricityGenerated
STRUCT Electricity[4] (fossil, hydro, nuclear, other)
BOOL Legal
UINT32 Production
UINT64 UpkeepFunding
UINT64 Funding
UINT32 TotalImports
UINT32 TotalExports
LIST Imports
UINT16 CountryID
UINT32 Amount
LIST Exports
UINT16 CountryID
UINT32 Amount
2.5.1. Resources
LIST Resources
STRING Name
UINT64 InternationalDemand
INT64 InternationalProduction
UINT64 Price
INT64 DomesticDemand
UINT64 DomesticProduction
INT64 TotalTrade
INT64 Available
BOOL GovernmentControl
BOOL Legal
FLOAT TaxLevel
UINT64 ContributionToGDP
FLOAT InternationalImportDuty
FLOAT InternationalExportDuty
LIST ImportDutys
UINT16 CountryID
FLOAT Duty
INT64 Import
INT64 Export
LIST ExportDutys
UINT16 CountryID
FLOAT Duty
2.6. Military
FLOAT Patriotism
UINT16 Propaganda
UINT8 AgeForMilitaryService
BOOL MandatoryService
UINT8 AgeForMandatoryService
UINT8 Duration (months)
UINT32 MilitaryManpower
2.6.1. Manufacturers
LIST Manufacturers
UINT32 ID
STRING Name
COORD Position
UNITTYPE Expertise
LIST Designs
UINT32 DesignID
UINT32 NumberBuilt
UINT32 UnderConstruction
DATE Completed
LIST Techs
UINT32 TechID
2.6.2. Bases
LIST Bases
UINT32 ID
STRING Name
COORD Position
UINT8 Size
BOOL Secret
BOOL Underground
UINT16 Facilities ConstructionQueue
STRUCT Facilities[n]
BOOL Present
UINT16 Value
2.6.3. Technology
2.6.4. Designs
TREE Groups
UINT32 GroupID
STRING Name
COORD Position
LIST Units
UINT32 ID
UINT32 DesignID
UINT32 GroupID
UINT32 Number
COORD Position
COORD TargetPosition
DATE TimeToLeave
UINT8 Status
UINT8 Intent
UINT16 CleanPopulationEthnicID
UINT16 CleanPopulationLanguageID
UINT16 CleanPopulationReligionID
BOOL OnSale
UINT16 Training
UINT16 PlannedTraining
LIST SpecialOps
UINT32 ID
STRING Name
COORD Position
UINT16 Training[n]
UINT16 PlannedTraining[n]
UINT8 Status (in training, ready, in mission)
UINT8 Mission
LIST Missiles
UINT32 DesignID
UINT32 Number
UINT32 BaseID
COORD Target
UINT8 Status
Annexes
Politic treaties
1. Ally
2. War
3. mutual defense
4. send advisors
5. conquest
6. Protectorate
7. common market (no duties)
8. cultural exchanges
9. sponsor peace negotiations
Government types
1. Monarchy
2. Multiparty Democracy
3. Limited Democracy
4. Communist state
5. Protectorate
6. Military dictatorship
7. Conquered
8. Anarchy
9. Theocracy
Resources
1. Meat
2. Vegetables/fruits
3. Dairy
4. Cereals
5. Other condiments
6. Tobacco
7. Wood/paper
8. Minerals
9. Iron/steel
10. Petroleum
11. Other organic compounds
12. Precious stones
13. Drugs
14. Plastics
15. Fabrics
16. Chemical
17. Pharmaceutical
18. Machinery
19. Household commodities
20. Household appliances
21. Vehicules
22. Luxury commodities
23. Construction
24. Engineering
25. Health care
26. Retail
27. Legal services
28. Marketing and advertising
Designs types
1. Infantry
2. APC
3. Tank
4. Mobile launcher
5. Artillery
6. Attack helicopter
7. Transport helicopter
8. Airplanes
9. Patrol boat
10. Corvette
11. Frigates
12. Destroyers
13. Submarines
14. Aircraft carriers
15. Missiles
16. Satellites
Sphere types
1. Demographic
2. Politic
3. Economic
4. Military
1. Pending
2. Approved
3. Executed
4. Not executed
1. Official
2. Legal
3. Tolerated
4. Illegal
Moving Intents
1. Strike
2. Occupy
3. Peacekeeping
4. Defense
5. clean population (specify)
6. enforce embargo
1. Terrorism
2. Sabotage
3. social upheaval
4. assassination
5. kidnapping
6. search & rescue
1. Ready
2. Training
3. In mission
Missiles status
1. Available
2. ready to launch
3. in flight