Galarchy

Imperial Galactic Conflict

Nifty Galaxy Picture

After Galarchy, the galaxy can never be the same

In 1997 I created a game specification for a massive multiplayer online game called Galarchy, years before MMPOG actually caught on in the gaming community. Galarchy was intended to be a fusion of a great multi-player game and gripping television series that was constantly evolving according to player input. I believe the future of gaming is headed where the future of the internet is going: harnessing the creativity of individual people in ways that enhances the lives of many. It's the reason why Map Editors have become so popular, as well as sites that collect and distill the best of the maps created by players.

As for games, as networking becomes more commonplace the next generation of computer games should leverage this high interconnectivity, creating extensible virtual spaces for people to interact and allowing them to determine the parameters of their own games. Creating an environment in which humans can play against each other also sidesteps the problem of creating a AI smart enough to give players a challenge. And with a slick trick of distributing the load across many computers, the complexity of the game can easily scale with the number of users, even to the hundreds of thousands.

Game Overview

"The Fourth Dynasty of the Imperium has ended.

For centuries the sole pacifying force in a hostile galaxy, the empire has long understood the necessity of superior military strength. Yet fleets are only as good as the leaders who command them, and one can win the battles but still lose the war. Cunning combatants, superior strategists, and deft diplomats are needed for a successful campaign; an emperor must be all these and more.

The Free Worlds have decreed a period of Galarchy. Numerous military officers vie for the purple and gold, each backed by a conclave of planets confident in their abilities. Imperial contenders must demonstrate their prowess over their opponents: by acquiring territories, defending their own region, and emerging victorious when contested. To rule the spaceways, an emperor must be born and bred on the battlefield.

And only one can sit on the Crystal Throne."

Combat

Military space naval vessels form the backbone of the fleets. The basic weapon types for War grade craft are energy, particle, and missile; defenses are similarly classified. But the vast majority of ships lack attack / defense modes, and successful officers play their strength to their opponents' weakness. Some ship classes are more or less effective against other classes; for example, of the War grade ships, the Fighters are dominated by Destroyers, which are susceptible to Battleships, which are overcome by Carriers, which are themselves dominated by Fighters. Leveraging these rock-paper-scissors effects spells the difference between victory and defeat.

But the outcome of combat is not decided by War craft alone. There are other important military grades besides War: Information, Transport, and Platform. Information ships wage info-warfare, which ranges from jamming transmissions to outright controlling enemy vessels. Troop transports dock with large craft, bringing the fight to the crew. Platforms can perform much needed repairs on damaged ships, salvaging parts from the remnants of other vessels. Each grade has a unique function, and all are vital to a well run engagement.

Terrain also affects the course of war. On the large scale, galactic objects (like planets, stars, black holes, etc.) exert gravity wells and prevent the faster than light warp drives from functioning. They also physically obstruct movement and reconnaissance. On the smaller scale, the local terrain may introduce unique combat parameters. Ships fighting near a power station in close orbit around a star would take constant heat (= energy) damage during the combat. Fighting inside a nebula or gas giant entail a host of limitations: particle damage proportional to ship speed, reduced datawave, and energy weapons operating at half power.

Even open space presents its own difficulties, namely how to fight effectively in 3D. Ships rarely fight alone, but rather in conjunction with other forces and fleets. Ship formation and fleet coordination become increasingly more vital in large scale conflicts. Protecting that shuttle while it docks might require punching a hole through the enemy lines with one force while establishing a cylindrical protection corridor with another. The formation choice should be tailored to meet the desired objective.

The standard combat tactics become all the more devastating when they utilize these disparities. Picture several destroyers chasing down a fighter contingent around the arc of a small moon, to stumble into an ambush of battleships waiting on the far side. Or info ships cloaking the presence of a critical cargo vessel during a raid. Or a battered carrier using the gravity well of a black hole to slingshot away from the clutches of the enemy into the safety of its own forces. Or a light skirmish force engaging the enemy long enough to be flanked on three sides...

Strategy

Star systems with inhabitable planets are the major holdings, though barren planets, asteroid fields, and large moons also contribute to production. Factories located in esoteric locations can have fantastic short term yields, but they are more exposed to the enemy. Starbases and shipyards are the typical staging areas for military forces, which are exclusively space naval in nature. (Conventional aerial and ground forces are useless against spatial superiority.) They are also the major centers for ship repair, aside from mobile repair docks.

Logistics is a major concern in any overall campaign strategy. On the simplest level, it involves directing fleets to where they will be most effective, when they are needed. But ships always need upkeep, and they require repairs after combat. The supply lines between producers and the fleet are crucial to maintaining operational effectiveness. An under-supplied front will be worn away by an equal strength but better stocked foe. Supply lines can be disrupted in many ways, and must be defended at all times.

Intelligence plays as crucial a role as logistics. Knowledge of the enemy is sporadic and unreliable at best, and any opportunity to acquire it should be pursued. Information grade craft should be used wisely and often, both in combat and out. In particular, datawave posts are the primary means of long-range reconnaissance, scanning space for ship movements, intercepting transmissions, and shielding friendly units from similar investigation. The Fortunes of War sometimes provide opportunities to learn more about the enemy, such as locating enemy Tachyon Relays, subverting enemy officers, etc.

Long term strategy should capitalize on these concerns. Plan your conquests wisely to prevent overextension; that factory might be easy to take but impossible to hold. Whittling down the enemy's supply lines weakens them over time; this is a good option against a superior foe. Learning the foes' troop movements allows for greater flexibility in your own. For example, if you learn that he is moving his main division to another front, you might attack his now weakened front, or perhaps relocate your ships as well, leaving a "peaceful" vacuum.

Diplomacy

An aspiring emperor should keep in mind that combat with the other contenders is a means of proving their competence to the Imperium, and not a vehicle for tyrannical conquest. In the end, it will be an election by the Council of Worlds which will decide the next Emperor, not fleet strength or territories held. However, the Imperium is by no means alone in the galaxy, and interactions with foreign powers is common. Despite the treaties, opportunities for combat with and conquest of foreigners exist...

It is always vital to maintain the goodwill of your supporting planets, and to protect them as much as possible. Razing planets, while it might be a sound military decision, is a poor diplomatic one; it is looked upon unfavorably by virtually the entire Imperium. Similarly, destroying civilian ships is frowned upon, even when warranted; plundering civilian sources is likewise looked upon with distaste. But if no one survives to tell the tale...

The Fortunes of War provide numerous opportunities to improve your standing as an imperial contender, or to set back your opponents. The extermination of those pirates raiding that trade route will increase trust in the merchant sector. Swift transport of medical supplies to quell that outbreak gains public favor. Answering a distress call might create a valuable proponent of your cause. Of course, these opportunities draw time and resources away from the military campaign (and might in themselves be ruses by the enemy) but they garner valuable diplomatic influence. This influence is eventually converted to production in the form of periodic campaign funding.

Equally important as your relationship with your producers is your relationship with the other contenders. Alliances and feuds often develop between contenders, and the deft manipulation of these biases might yield military gains more tangible than outright combat. Officer management on your own side is another factor. In the multi-player game yet another dimension is added to this, namely the interactions among players on your side. Coordinating efforts and matching skills creates a formidable campaign force, splitting the combined roles of combatant, strategist, and diplomat into more manageable sizes.

The galaxy is large and only sparsely populated by holdings under imperial influence. Other creatures, not always neutral in the player conflicts, also inhabit known space. These foreign powers range from primitive worlds to super-futuristic societies, from aggressive mercenaries to peaceful poets, from pirates to philanthropists. Furthermore, random galactic occurrences keep things lively, like travelling null spaces (in which warp drives do not work), supernovae, wandering space dragons, etc.

Guidelines

Some big things we'd like: Things we specifically do not want:

Technology

Everyone should have the same technology and ships available to them. (A larger endeavor would be to create several race types, each with their own unique racial characteristics and shipsets. In this case the racial differences should be minor.) The exceptional pieces of technology are Otherwise the tech is "reasonable", meaning laser beams, missiles, mines, ECM, cloaking, dataworms, etc. There will be super-nasty pieces of technology out there, but as a rule they must be limited. That means they exist only on particular ships, around particular planets, or the machinery bums itself out, has limited ammunition, etc. The Imperial Guard has a significant but not overwhelming technological edge over the other sectors of the empire.

Think Long Term

Combats should be somewhat long between equivalent forces, on the order of 15-60 minutes. In fact, as a rule of thumb two fully stocked equivalent ships should be able to duke it out for about 2-5 minutes, and ships should contain a repair well = 1-5 times the damage capacity of the ship. This is necessary to allow both strategy and supplies to play a major factor in the conflicts. More factors should influence the outcome of combat besides overwhelming force.

To further extend the action the FoW should be slightly biased toward favoring the underdogs / hurting the person in the lead. That guarantees that two equally skilled opponents can battle for prolonged periods, and that only truly gifted generals can prevail against their foes.

Terminology

Crafts

Craft - A spaceworthy machine. Also spacecraft.
 
Drone - A craft without a living crew
Post  - An immobile craft
Launch - A mobile craft
Vessel - A craft bearing a living crew
 
Beacon - a post drone, i.e. an immobile craft without crew
Probe - a launch drone, i.e. a mobile craft without crew
Ship - a launch vessel, i.e. a mobile craft with crew. See below
Station - a post vessel, i.e. an immobile craft with crew

Grade, Class, and Mark

Grade - A generic type of craft
Class - A category within a grade
Mark - A specific type with a class
Dominance - An inherent effectiveness of one ship class over another
 
War - A military grade craft used for weapons combat. Has four ship classes: fighter, destroyer, battle, and carrier
Information - A military grade craft used for data manipulation, including information warfare
Transport - A military grade craft used for transportation, including troops
Platform - A military grade craft used for production / repair, i.e. it has one or more production rates
Civilian - Any non-military grade craft
 
 
Grade Ship Class Station Class Probe Class Beacon Class
War Fighter 
Destroyer 
Battleship 
Carrier
Base 
Skiff (officers)
Missile 
Droid (carrier)
Defense Satellite 
Mine 
Ground Defenses
Information Controller 
Jammer 
Deceiver 
Observer
Datawave Post 
Sentry
Scout 
Decoy
Comm Relay 
Webs 
Buoy
Transport Shuttle 
Staff 
Dropship 
Cargo
Garrison 
Depot
Tug 
Delivery
Jump Gate
Platform Dock 
Stardock 
Salvage
Pier 
Shipyard
  Factory 
Mill 
Plant
Civilian Merchant 
Private Yacht 
News / Film 
Science
Lifeboat 
Laboratory 
Resort
  Satellite 
Plant
 
 
Fighter - A war grade ship class. Has three marks: 1) fighter 2) interceptor, and 3) corvette
Destroyer - A war grade ship class. Has three marks: 1) destroyer, 2) dreadnought, and 3) cruiser
Battleship - A war grade ship class. Has three marks: 1) battleship, 2) battlefortress, and 3) battlecruiser
Carrier - A war grade ship class. Has three marks: 1) carrier, 2) citadel, and 3) juggernaut
  Plane, frigate, Capital Ship; Flotilla, convoy, caravan

Groups

Group - A collection of similar objects. Groups may be empty
Group Operation - A modification of a group, like renaming it
 
Ship Group - A collection of ships
Fleet - A set of ships and forces. A disjoint and mandatory ship group. Often The Fleet refers to all ship on the same side
Force - A subset of ships and forces within the same fleet. A tree-hierarchical ship group
 
Fleet Group  - A collection of fleets
Front - A set of fleets and divisions. A disjoint and mandatory fleet group
Division - A subset of fleets within the same front. A disjoint fleet group
War Group - A ship or fleet group
 
Holding Group - A collection of holdings
Territory - A set of holdings and locales. A disjoint and mandatory holding group
Locale - A subset of holdings and locales within the same territory. A tree-hierarchical holding group
 
Territory Group  - A collection of territories
Region - A set of territories and sectors. A disjoint and mandatory territory group
Sector - A subset of territories within the same region. A disjoint territory group
Property Group - A territory or holding group
 
Power - The ultimate owner of a group of groups. Also called a side
Team - A power consisting of human players

Officers

Character - Any person within the game, either player or computer controlled
Player - A human participating in the game
Leader - The player in control of the imperial contender on a single side
 
Officer - A military character to which a player can issue commands
Officer Reserve - The set of inactive officers
Active Service - The set of officers on active duty (i.e. staffing a vessel)
Officer Pool - The set of officers which can serve. Equal to Active + Reserves.
 
Superior Officer - An officer of strictly higher rank
Subordinate - An officer of strictly lower rank. Also means "to be of lower rank". Sometimes called inferior.
Leading Officer - The highest rank, greatest experience, most decorated officer (in that order) in any set of officers. Also lead officer.
Commanding Officer - An R3 officer (or above) given a command mission. COs (above R3) are also empowered to issue command missions
Imperial Contender - The leading commanding officer on a side under player control
Flagship - The ship staffed by a LO in a war group
 
Command Mission - A list of prioritized objective issued to an R3 officer (or above), making them a CO
Appointing - Giving a CO their own fleet command. They must be the SO of that group (not just the LO)
Assigning - Placing an officer in a fleet, for use at the discretion of the CO
Chain Of Command - The rank relationship among COs. Also refers to the COs themselves.

Communications

Communication - Any transmission between characters (and thus players). When separated by galactic distances, communications require Tachyon Relays
Classified - A secret, encrypted communication viewable by a minimum rank on your side
Unclassified - An open communication viewable by everyone on all sides
Private - A classified communication viewable only by specific officers
 
Notification - A low-priority status communication. Generically, a post to the Notification Log
Message - Any of a variety of custom communications. Generically, a post to the Message Board
Alert - A high-priority communication which requires immediate attention. Generically, a post to the Alert Region
Priority - one of alert > message > notification. Determines where a communication is posted
 
Receipt - A notification on the successful delivery of a communication
Command - An alert which must be obeyed. Also order
Communiqué - A classified alert (including private messages)
Distress Call - An unclassified alert requesting aid
Request - A message to a CO asking for support, which requires response
Requisition - A request for stocks or products
 
Report - A long, detailed message. Can contain other communications
Authorization - A report enabling a CO to issue orders. Includes fleet reorganizations, production requests, etc.
Brief - A classified report on a command mission issued to the new CO, including authorizations
Update - A report to a CO about their status. Also mission update, which has progress on the objectives in a mission
Summary - The final report of a command mission, detailing its successes and failures objective by objective

Production

Source - Anything with capacity. Specifically, raw and refined 
Manufacturer - Anything which changes a source into a stock. Specifically, a plant, mill, or factory
Stock - Anything which can be stored. Specifically, supplies, goods, and parts
Conversion - Anything which changes a stock into a product. Specifically, trade, construction, or repair
Product - Anything with a cost. Specifically, money or crafts
  See the Production Chart for more details.
Producer - Anything with a production rate. Specifically a manufacturer or converter
Holding - A source, stockpile, product, and / or a producer. Typically needs defending
Fortification - A holding's defense. Includes ground defenses as well as stations and beacons
Supply - The stocks and products needed by a wargroup to retain operational effectiveness
Maintenance - The supply flow needed a wargroup at all times

Territorial

>> Spiffy this up
 
Imperium - All imperial holdings; the galactic empire. Refers alternatively to the space or populace inhabiting it
Council Of Worlds - A region of the Imperium; specifically, its congress.
Free Worlds - A sector of the council which remains neutral in the imperial successions. Consists of the most powerful territories

New Generic Game Mechanisms

Dynamic Grouping And Designation

Problem: When dealing with a large number of items (say ships) how do you control them all in real time? Giving commands to individual items is prohibitive. The natural solution is to block the items into groups and then issue commands to the entire group. However, how do we reconcile the need for larger groups (to issue less commands) and for smaller groups (for more accurate control)?

Proposed Solution: Allow dynamic allocation any set of items into a player determined and named groups (as well as group deletion, of course). Further allow a hierarchical structure, so that players can issue a single command at exactly the level they want to. If that level currently does not exist, they can dynamically create it.

This grouping mechanism will be employed not only in fleet command but also in regions, production, etc. Let's develop the idea by looking at fleets and ships in particular. Here's something like what I'm envisioning:

Example Ship Grouping

Front - A set of fleets and divisions fighting a campaign in concert, typically "close" to one another in a galactic sense. Fronts are disjoint and mandatory, i.e. a fleet or division is contained in one and exactly one front at any given time (though they can be moved between fronts). Ex. First Front, Home Front, Hellenas War Front, The Neutral Zone Front, etc. Division - A subset of fleets within the same front. A division is not mandatory but must be disjoint, i.e. a fleet can be contained in at most one division. Ex. Twelfth Division, Destroyer Division, Escort Division, etc. Collectively Fronts and Divisions are referred to as Fleet Groups.

Fleet - A set of ships that must always be in physical proximity, i.e. they move in unison on the galaxy and tactical screens, as well as entering and leaving combat together. Fleets are disjoint and mandatory, though of course one expects their composition to change during the course of the game.

Ex. Ninth Fleet, Attack Planet Caledon Fleet, Defend Mine Fleet, Decoy Fleet, etc. Force - A subset of ships and forces within the same fleet. A force is not mandatory, but forces must be tree hierarchical. Ships can only be at the leaves; forces may be either an internal node or leaf node (i.e. an empty force). Ex. Strike Force, Defense Force, Task Force, Reserve Force, etc. Collectively Fleets and Forces are referred to as Ship Groups.

Collectively Fleet Groups and Ship Groups are called War Groups.

Notice the symmetry break between Fronts / Divisions and Fleets / Forces. This is because we expect that players will want more exacting control on the tactical and combat windows than on the galaxy window.

Any process of changing group characteristics is called a Group Operation. Typical group operations might include merging, splitting, deletion, joining, transfers, renaming, etc. The last (n) group operations on a mandatory group should be undoable, modulo losses taken to the group.

There should also be a mechanism to search through groups and their associated subgroups according to various criteria. These criteria include: damage, heaviest ships, fastest ships, highest defense, all Strike Forces, ½ Repair Forces, etc. In fact, I would envision that fleets and divisions would be reorganized automatically according to this mechanism, i.e.

  1. Strike Force = Heaviest War Grade attackers in fleet, divided by standard weapon type
  2. Defense Force = Heaviest War Grade defenders in fleet, divided by standard defense type
  3. Main Force = Most of the remaining war grade ships + Task Force
  4. Reserve Force = All Remaining War grade ships
  5. Intel Force = All Information Grade ships
  6. Cargo Force = All Transport Grade ship + Supply Line Force
  7. Repair Force = All Platform Grade ships
  8. Relief Force = New arrivals + Reinforcements
  9. Transfer Force = Ships passing through this fleet / waiting to be transfered
  10. Special Force = All remaining ships / player specified
There will also be a quick way to split the same group into equal parts, i.e. take the Defense Force and make it into the First and Second Defense Forces. Similarly, there will be hotkeys for joining groups, as well as performing operations on a multiply selected set of groups (like issuing commands).

Example Property Grouping

Region - A set of sectors and territories, typically "close" to one another in a galactic sense. Regions are disjoint and mandatory, i.e. a sector or territory is contained in one and exactly one region at any given time (though they can be moved between regions). Ex. Council Of Worlds, Neutral Zone, Your Domain, etc. Sector - A subset of territories within the same region. A sector is not mandatory but must be disjoint, i.e. a territory can be contained in at most one sector. Ex. Free Worlds, Tributary Worlds, Govan Protectorate, Syrian Cluster, etc. Collectively Regions and Sectors are referred to as Territory Groups.

Territory - A set of holdings that must always be in physical proximity, i.e. they are contiguous on the galaxy and tactical screens. Territories are disjoint and mandatory, though of course one expects their composition to change during the course of the game.

Ex. Caledon System, Horse Nebulae, Magellanic Clouds, etc. Locale - A subset of holdings and locales within the same fleet. A locale is not mandatory, but locales must be tree hierarchical. Holdings can only be at the leaves; locales may be either an internal node or leaf node (i.e. an empty locale). Ex. Planet Caledon, Mining Operation, Black Hole GJ-576, Forward Starbase, etc. Collectively Territories and Locales are referred to as Holding Groups.

Collectively Territory Groups and Holding Groups are called Property Groups.

Global Prioritized Production Queue

Problem: Too much time in strategy games with a production mechanism is spent maintaining the producers.

Proposed Solution(s): Refine how production orders are issued to decrease player involvement while retaining player control.

Note that we should still have production characteristics on all individual producers, but which one produces what can be automatically decided. For example, supposing we want ten fighters produced and sent to Fleet X. The producers nearest X will begin production, factoring in transit time and other factors. A reasonable algorithm to do this still needs to be determined; it should include the concept of "time-forwarding", i.e. predicting where the production destination will be upon completion.

Extensible Prioritized Command Queues

Problem: In a time critical situation (like combat) we want to minimize the number of commands issued while maximizing the performance range and responsiveness of the fleet.

Proposed Solution: Associate a LIFO prioritized command queue with each group. Further allow the dynamic creation of new commands from other commands, beginning with a standard set.

The standard set of commands would come in two distinct flavors. The first type are objective commands, like

The second type of command would deal primarily with the ship formation:

A Command Example

Once again, let's work through this with an example. Suppose we had an escort mission where we wanted to protect a single cargo ship, and we expect that attacks will come from a forward position. We have a fleet of twenty reasonably equivalent ships, except for one with a sphere defense. We might do this:
 
First Strike Force (SFl) 
= 9 ships
Second Strike Force (SF2) 
= 7 ships
Defense Force (DF) 
= 5 ships + 1 sphere defender
Task Force (TF) 
= cargo ship (CS)
We would then issue an initial command set something like this:
 
SF1
<1> Preserve TF, Rear Ship Plane (centered on the CS)
SF2
<2> Guard TF, Forward Ship Plane (centered on the CS)
DF
<4> Protect TF, Ship Sphere (centered on the CS)
TF
<4> Move target point, Evasive
where <#> designates the command priority, higher numbers being more important. (As you have guessed, a command priority needs a higher rank to issue.) Note that a command vacancy has been left at <3>, to allow the issuing of a supercession command to both strike forces.

Suddenly an attack comes the front, call them EF1. We issue the whole fleet (WF) the command
 
WF
<1> Assault EF1, Engage
What happens? SF1 moves forward to intercept the oncoming attack, but all other groups stay in position, since they have higher priority conflicting orders. The battle is about even between SF1 and EF1 until the whole fleet comes into range. Now the forward SF2 attacks, since it can execute both the commands <2> Guard TF and <1> Assault EF1 simultaneously. EF1 is pinned between the two forces and is slowly destroyed.

Whenever an objective is achieved the command is removed from the queue. Thus, after EF1's destruction, <1> Assault EF1 disappears, and SF1 automatically resumes its position behind the CS, because <1> Preserve TF is still in effect. A reissue of the command is unnecessary.

Now two different squadrons flank the CS and attack, call them EF2 and EF3. We then issue the commands
 
WF
<1> Assault EF2, Engage
SF1
<2> Assault EF3, Engage
We didn't issue the last command to all the ships because then both strike forces would attack EF3, the most recent equivalent priority conflicting order taking precedence. In this case SF1 will help fight against EF2 after dispatching EF3.

We might have also issued
 
WF
<2> Assault EF2, Engage
SF1
<2> Assault EF3, Engage
which would have a similar effect. The main difference would be if EF2 and EF3 drifted near each other, SF1 would divide its firepower among them, since it has equal priority commands. In the former case it would focus its efforts on EF3, ignoring EF2, since the attack order has higher precedence. There will be a strict hierarchy among commands, when ambiguities like this can exist.

Note that commands can be countermanded by a) the issuing officer or b) any commanding officer.

Scripting

The extensible part comes from allowing players to create a sequence of commands in a script and rename it as a single command. This scripting mechanism should be highly visual and capitalize on already implemented features: namely, the group search mechanism and the prioritized command queue. There should also be a couple other quantities available. First, a heuristic for the overall strength of a ship (or ship group) should be representable as a single number (or at most a few). Second, the overall damage to a ship (or casualties to a group) should be measurable on the aforementioned scale.

All commands should be able to be countermanded, i.e. revoked midway during execution and consequently the group returns to its previous state. For the basic set of commands this should be quite easy to implement, but the scripting mechanism will have to be carefully constructed to allow a) the interruption of the script and b) the reverse countermanding of individual commands in the script (which might be scripts themselves).

The command scripts should also be able to take a variable number of inputs, which would depend on the script itself. For example, a script might say to move someplace, hold position for a length of time, and then engage an enemy group. This would need three sequential inputs: the nav destination, the hold time, and the target group. These should be entered when the script command is given. Note that a "prettification feature" would be to have customizable prompts for each input within the script, as well as custom messages relayed the notification log.

>> Examples of useful scripts. Reformation, movement, and attack.

Triggers and Conditionals

A more advanced feature would be trigger commands, i.e. execute a command when a condition is met. An example might be "Withdraw to Nav Pt alpha when 25% casualties have been taken. Retreat to Nav Pt beta when 50% casualties have been taken." Yet more advanced would be conditional commands, i.e. "Patrol Nav Region gamma. Engage enemy forces if Enemy Strength <= 1.5 Friendly Strength else (Countermand Patrol and Fast Move Nav Pt Delta)" These commands would be like any other, i.e. issueable directly to a group or useable within a command script.

While I think this would add a fantastic dimension to the game, it might be too involved to code on this first pass, to say nothing of complicating gameplay. The germ of the trigger idea is retained, but in the form of communication triggers (discussed below).

Galarchy Specific Ideas

Officers and Rank

A player encounters many different characters in a game. These range from world leaders to hapless civilians, from energy beings to rock creatures. Of particular interest to a player are the officers in his command. Each officer has a rank, experience points, and decorations (insignia, badges, citations, and medals). A leading officer (LO) is the highest rank, greatest experience, most decorated officer in a group (in that order). Commanding officers (CO) are a special type of superior officer (described below). The leading CO under a player's control on one side is called the Imperial Contender (IC).

Officers can gain rank in four ways:

Rank Chart

Rank Abbr
Scale
R0 Ensign Ens
0
 
R1 2nd Lieutenant SLt
1
 
R2 1st Lieutenant FLt
2
 
R3 Lt. Commander LtC
4
 
R4 Commander Cdr
8
 
R5 Captain Cap
16
 
R6 Commodore Cmr
32
 
R7 Rear-Admiral RAd
64
 
R8 Vice-Admiral VAd
128
 
R9 Admiral Adm
256
 

Officers in Gameplay

All officers (including the contender) on active duty are always stationed on a craft somewhere, in a station or on a ship. The can be automatically transferred between vessels, but only if they are a) not in combat and b) within galactic proximity (i.e. the same locale). They may also be transferred during combat, but this requires the use of a transport. An officer is assumed to be in command of any War grade vessel he is on, and no two officers will staff the same ship.

Officers staffing ships have several effects on gameplay. First and foremost, all War grade vessels have a desired rank, depending on their level of power. Any officer can run a ship, including the lowest rank "default Ensign" assumed present. Yet the vessel will perform better the higher the rank is above the ship rank, and worse the lower it is. Thus, while the player can build any ship at any time, it is only profitable when there are competent officers to staff it. Thus, officers should be assigned by order of contention to the most powerful ships in the fleet; there will be an automatic way of doing this. The ships staffed by the LO is called the flagship.

Furthermore, when the computer is controlling a combat each vessel fights at the level of its staff officer. In a flat out, no frills engagement between two equal forces, the side with the highest rank should win. (Of course, it is something of an open question how to make an AI sophisticated enough to do this; at this first pass I may just incorporate a bonus structure of some sort.)

Officers are susceptible to many things. They can be killed in battle, assassinated, kidnapped, captured, tortured, bribed, etc. They may also become inactive, periodically requesting vacation time, petitioning for leaves due to family emergencies, and occasionally retiring. Inactive officers form the Officer Reserve; those on duty are called the Active Service. Combined the Officer Reserve and the Active Service are called the Officer Pool.

The size of both the Officer Reserve and Active Service is limited by a subordinate constraint. Each leading officer can have no more than the sum of his scale in ranks beneath him at any one time (refer to this chart ). For example, a R5 Captain could lead at most (2) Cdrs, (4) LtCs, (8) SLts, and (16) FLts, in addition to an infinite number of Ensigns. The same number constraint applies to officers on inactive duty.

The imperial contender is a special character. The total Officer Pool is limited by his rank, and the rate of their "creation" is affected by his experience. This means that the quickest way to increase the Officer Pool is to consistently send the contender into combat. This carries the high risk of compromising the contender, but also the potential gain of more officers, and thus better ship performance in the fleet. (Note that the contender will always make it to a rescue skiff, even if his ship is unexpectedly destroyed. But if that skiff is fired upon...)

Several other game mechanisms are keyed to rank, such as available FoW scenarios, production, commands, etc. Each of these effects is described in the sections following. In particular, note the campaign backing linked to the IC under production.

Command Missions

Now suppose that a major objective needs to be accomplished; a hundred details need to be attended to in real time. To facilitate this process an R4 commanding officer (or above) can assign their subordinates (R3 or above) Command Missions, which are prioritized lists of related objectives. Once given a CM, an officer becomes a CO themselves, able to issue command missions to their subordinates; R3 forms a special case of COs unable to issue CMs. A CO is free to give a CM as any time. (Should they should only be able to issue CMs which will achieve their own CMs? Hmmm... think on this.)

A commanding officer may also be appointed to a war group to help him complete his objectives. An appointed CO must be superior to every officer within that group (not just their leader). An unappointed CO is free to commandeer the resources in the command of the superior CO which gave them their CM, though they can only issue orders to officers subordinate to them. The IC is consider a detached CO whose command is the entire side. Appointments are distinctly different from assignments. When assigned to a fleet an officer simply runs a vessel, and are otherwise useable at the discretion of their CO.

In network play, CMs will most often be given to other human players, with computer run officers forming the "leaf nodes". (Can the subordinate refuse? Perhaps we should have Change Mission requests...) I expect that Admirals to Captains will form the CO chain of command, with lesser ranks being auxiliary. Note that the successful completion of command objectives is the only way citations can be granted by superior officers to their subordinates.

Mission Reports

The vast majority of mission objectives fall into several well-classified categories, like attack this target, defend this region, etc. Furthermore, mission progress is likewise a mostly repetitive process. A large mechanism should exist to automatically generate reports and send them between officers. Each report should also have a customizable section, to cover alternatives / comments not in the standard hierarchy. (Make this personally extensible? Hmmm...) They should also automatically append other reports, such as those from subordinates, tactical data, group status, etc.

Reports fall into generic categories, which are described in terminology. They also have several characteristics of note. First, they can be classified to a certain rank, or unclassified. Classification is also used as a priority ordering for alerts. Second, reports can have attachments other than messages, such as films, etc. Mission Briefs typically have an attached film. Third, they can empower authorizations, which enable COs to issue specific types of orders. The two most important authorizations are appointments (enabling them to issue commands to a war group) and production limits (which give them a portion of the global production).

This latter deserves more explanation. Each CO can be given control of a portion of the total production by their CO (from the issuing officers portion). Thus, COs can individually manage their own fleets. This production limit is always stated as a percentage of total production, and can fluctuate depending on high-level reallocations. If a CO does not have any production, they cannot authorize production to a subordinate. These unauthorized officers must then issue production requests to have anything produced.

Several reports are automatically generated by the computer and sent to the appropriate people. For example, along with every final report of a CM, the computer appends a citation recommendation, based on the performance in completing mission objectives. Approval of these recommendations is the only way that citations can be granted. Similarly, the Fortunes of War offer opportunities to create new command missions, and these special missions allows the granting of medals.

Note that all communications contain location and tactical information, like point-of-origin, point-of-destination, etc. This means that an enemy who gets their hands on a report might have a significant strategic advantage, especially if it is from a covert operation... It also means that public transmissions are traceable. Be wary of taunting the enemy, unless he already knows where you are!

Priority and Triggers

There are many other types of messages which can be passed back and forth between COs. By default all reports are posted to a Message Board, which should function much like a mail inbox, where messages wait until read, can be forwarded, deleted, etc. Within the Message Board, messages can be sorted by: unread, rank, and recentness, in any order. Basically have other nifty mail features as well.

However, not all messages have equal priority. A communication can be designated as an alert or notification. An alert is a high-priority communication which appears in the Alert Region, and is heralded by a distinct audio cue. A notification is a low-priority communication which is fed to a scrolling Notification Log; this has a "background chatter" effect. Each type of communication comes with a default priority. For example, communiqués and commands default to alert, player typed messages default to message, etc. These default priorities can be overridden (sometimes by enemies who have infiltrated your communications web!)

A trigger is a test whether a condition is fulfilled or not. There are a wide variety of possible triggers: time elapsed, successful command completion, mission objective completed, on fleet status, production completion, etc. These triggers can be used to have a status communication sent automatically by a subordinate, without their intervention. For example, suppose you really need to know when a fleet has moved into place. Typically commands carry two notifications for receipt and completion. The issuing officer changes the completion notification to alert priority; when the fleet has arrived he will be given an audio alert. One might set a notification trigger when forces have taken 10% casualties, a message trigger at 25%, and an alert trigger when they have suffered 50%.

All of these defaults for priority and triggers are settable in a global fashion. Since we expect players might want several different configurations, they can be saved and loaded. Similarly, a player might wish to screen the influx of communications according to several parameters. All these configurations can be linked to a visual layout (to be described).

Dominance Cycles

Inherent to the ship classes is the idea of class dominance, namely that some ship classes are more effective against some and less effective against others. Dominance effects always form a cycle, akin to rock-scissors-paper (but with four entries).

War Grade Ships

Juggernaut (R9)
 
Battlecruiser (R7)
Citadel (R8)
Þ
Battlefortress (R6)
Carrier (R7)
 
Battleship (R5)
Ý 
Other Grades
ß 
Fighter (R1)
 
Destroyer (R3)
Interceptor (R2)
Ü
Dreadnought (R4)
Corvette (R3)
 
Cruiser (R5)
Furthermore, higher marks within the same class are even more effective. Thus, an Interceptor would attack Citadels better than Fighter, but worse than Corvettes. Similarly, all of them would fare worse against a Juggernaut and better against a Carrier. This is a relative distinction in the level of bonus, of course, since all Fighter Classes dominate all Carrier Classes.

The War Grade dominates all other grades with respect to weapons combat. The Information grade dominates all other grades with respect to information warfare. Transport grade dominates in troop combat. Platforms and Civilians essentially get hosed. ;-)

The game parameters will be structured around the idea of a fair fight. A fair fight is basically a straight combat between ships, assuming they have the same weapon and defense modes, which could go "either way". We would like to make it so that things like cost to produce is the same for both sides of a fair fight, eliminating "production edges". Here the first estimate:
 
Dominated
# vs.
(1) Dominator
M1
8
M1
 
16
M2
 
32
M3
M2
4
M1
 
8
M2
 
16
M3
M3
2
M1
 
4
M2
 
8
M3
Thus,
 
 
# vs.
(1)  
# vs.
(1)  
# vs.
(1)
F1
8
D3
D3
8
B5
B5
8
C7
 
16
D4  
16
B6  
16
C8
 
32
D5  
32
B7  
32
C9
F2
4
D3
D4
4
B5
B6
4
C7
 
8
D4  
8
B6  
8
C8
 
16
D5  
16
B7  
16
C9
F3
2
D3
D5
2
B5
B7
2
C7
 
4
D4  
4
B6  
4
C8
 
8
D5  
8
B7  
8
C9
There is a symmetry break between carriers and fighters, since we really don't want eight fighters being able to take out a carrier! Instead, we "crawl through" the multiplication to find the equivalent ratios. To complete the chart we would have:
 
 
# vs.
(1)  
# vs.
(1)  
# vs.
(1)
F1
64
B5
D3
64
C7
F1
512
C7
 
128
B6  
128
C8  
1024
C8
 
256
B7  
256
C9  
2048
C9
F2
32
B5
D4
32
C7
F2
256
C7
 
64
B6  
64
C8  
512
C8
 
128
B7  
128
C9  
1024
C9
F3
16
B5
D5
16
C7
F3
128
C7
 
32
B6  
32
C8  
256
C8
 
64
B7  
64
C9  
512
C9

Information Grade Ships

>> Need to think on this some more
 
® 
Observer
¯ 
Controller
Communicator
Deceiver
­ 
Jammer
¬ 

Modes of Play

There are several factors determining the game mode. The first two modes are set in stone per game, but players can dynamically enter and leave; play continues as long as one human player exists. A new player can form his own team, if one is available, or take over the position of a computer player. Any current player may leave once they have placed their commanding officer on inactive duty. If the last player on a side leaves from the game, then that side is assumed by the computer.

The Imperial Academy

The Academy is a special single player battleset consisting of a series of tutorial missions. Since several features of the game are reasonably novel (the dynamic grouping architecture and prioritized queues) time is devoted just to mastering the interface. Also, since there is a large amount of data to assimilate (ship types, combat interactions, terrain, etc.) many missions are purely for familiarity. Each mission is keyed to a specific enlisted rank; upon graduation, the character becomes the lowest officer (an Ensign).

>> List the Academy missions with the corresponding enlisted ranks

Network Team Play

Team play is considerably different from one player per team. First, one player on the team must be initially designated as the Leader and they are given the imperial contender as their commanding officer. That means that the Leader has supreme authority on several aspects of game play. Other players then request to join the Leader's team, and are assigned to officers in that side's chain of command. The Leader can move the position onto another willing player on his team at any time; if they leave unexpectedly, the next player in rank becomes the new Leader.

Using a simplified command structure similar to the military allows for much better control of large scale fleets. There are other benefits to large sides. FoW opportunities grow with the number of players a livelier galaxy results. For long running campaigns spanning physical days, a large pool of players means the action can be kept going around the clock! Command missions can be given to adaptable humans as opposed to infantile computer officers. And last but not least, more heads can be used to plot against the enemy!

There are many, many parameters settable per game. For example, the frequency scale for Fortunes Of War, time period between campaign funding, Leader-based invitation structure, etc.

The Production Mechanism

There are distinct stages involved in taking raw materials and creating ships from them. Here's the conceptual paradigm used in the game: 
 
Refined
Raw
  Sources (in capacity)
ß 
ß 
ß 
   
Plant
Mill
Factory
  Manufacturing
¯ 
¯ 
¯ 
   
Supplies
Goods
Parts
  Stocks (in storage)
 
ß 
ß 
ß 
   
 
Sale
Construction
Repair
  Conversion
 
¯ 
¯ 
¯ 
   
 
Money
Crafts
  Products (in cost)
Collectively manufacturers and converters are called producers. Sources, stocks, and products have values, which represent their capacity / stores / cost. A production value is expressed as a rate, which is in value units / second. Suppose an asteroid with raw capacity of 10,000 is being mined by a platform with a factory rate of 50. After 100 seconds, the asteroid would have a 5,000 raw capacity and there would be 5,000 parts available. After 200 seconds the asteroid would be fully mined, leaving behind 10,000 parts. All values are interchangeable. Thus, to buy those 10,000 parts takes 10,000 money (let's call them credits for simplicity). Trade is the exchange of stocks, products, and / or sources.

Stocks play a significant role in the game. Once a manufacturer has created their stock, it must go into storage somewhere. Each manufacturer has a limited space for storage, and if the storage space becomes full manufacture of the stocks halts. Likewise, if there are no stocks in storage conversion grinds to a halt (i.e. no parts, no construction). Planets and other large producers will have large but finite storage, but platforms typically have a small capacity relative to their production. Stocks can be loaded onto transport vessels (whose storage is measured in cargo) and shipped to various destinations.

We would like a wide range of stockpiling effects. For example, in peacetime one can stockpile stocks for later use, or change over to merchant concerns, creating liquid money. (All of which can be stolen by the enemy!) Producers therefore have a rearchitecting acceleration, i.e. the rate which mills could be converted to factories, for example. Most space-borne platforms will be unable to change their production type (i.e. zero acceleration).

Note that money can be converted into stocks with a minimum of fuss, since the Free Worlds are always happy to capitalize on wartime efforts. This still leaves a shipping concern, i.e. how to transport these to a producer. The Free Worlds also provide conversion operations and / or outright sale of crafts. However, this carries a premium above cost, and the ships might not be available. (Bidding wars!) Lastly, note that ships can be refurbished by any constructor, at their construction rate.

Campaign Funding

The Free Worlds also play another major role during Galarchy. Each player is assumed to begin with a block of holdings which support them in their campaign by providing production capabilities. The Free Worlds also donate a large amount of money to each side. This campaign funding is shipped to every imperial contender, each individual shipment randomly timed within a fixed time frame (say, once per hour). The Fortunes of War provide many opportunities for this important shipment to be compromised.

Note that the donation will typically be huge. It is calculated using several guidelines. The basic quantity is equal to the starting production capacity of an entire side. Thus, campaign funding essentially doubles production capability! Second, it is keyed to the imperial contender's rank, using R6 as a basis. Thus, an R3 IC would get 3/6 the amount, while an R9 IC would receive 9/6. (Nearing triple now!) Lastly, diplomatic standing in the Imperium can further modify this amount by 50% in either direction. (Past triple!)

The intent of this mechanism is to prevent production spirals and reduce startup time. It is also something of an equalization buffer. A high-ranking imperial contender stripped of all their worlds is still a powerful enemy, especially if they stand well diplomatically. Furthermore, it is a tactically usable production source, since money is convertible to most everything else. Lastly, officers draw salaries and characters require "lubrication", making money a quantity in high demand in and of itself. (Officer bonuses?)

Authorized Production

Okay. Now we get to complicated aspects of the game which ties in several concepts. When an officer is given a command mission, they can also be given a authorized production limit, which entitles them to place production requests. (Actually, production authorizations come in many flavors: total request limit, craft types, maintenance only, etc.) At that point they will have what appears to them to by a global prioritized production queue (GPPQ). The priority of the requests in the queue are determined by rank, i.e. an officer can issue a request at any rank less than or equal to their own.

However, every production-authorized CO has their own "global" PPQ! When you authorize a subordinate to produce, it is conceptually authority to place orders into your queue. That means that a CO can view the production of their subordinates, since they appear as requests in their PPQ. However, a subordinate CO cannot see the requests of a superior CO which has been rank stamped at a higher rank, though they can see requests the superior CO has "pulled rank" on (see below). The Global PPQ (the true GPPQ) is the PPQ of the imperial contender, who by definition is everyone's CO.

The total production in any PPQ is distributed among the prioritized levels according to the rank of the production request. Furthermore, requests can be upgraded or downgraded by superior officers by the difference of their ranks. A superior CO can also place a request directly into a subordinate's queue (which is, after all, a subset of their own). Both cases are referred to as "pulling rank" on a subordinate; in both cases the inferior CO can see the requests of the superior.

An initial guideline for the priority levels might be:
 
Rank Typical Requests
R1 Default Ship Upkeep
R2 Default Ship Repair
R3 Default Craft Production
R4 Default Fortifications
R5 Craft Production
R6 Intelligence / Datawave
R7 Planetary Defenses / Jump Gates
R8 Covert Operations
R9 Emergencies
Note that the producers themselves stand outside this hierarchy. For example, a planet automatically establishes local defenses, and these production requests do not need authorization by any officer. Producers also rebuild their production infrastructure whenever it is destroyed (i.e. after being attacked, occupied, mishaps, etc.) Special defenses and extra fortifications can be built by officers; a planet only creates an established minimum determined by their TPP. See Planetary Pacification for more details.

Fleet Composition Criteria

At this point we seem to have drifted far away from our initial concept of reducing player involvement in the producers; the system looks pretty complex. However, with the addition of two more ideas, things will become greatly simplified. The first is fleet composition criteria; the second is total posture parameters.

Every wargroup has an FCC, which is a list specifying what ships are desired in that fleet. These FCC are defined using the shared interfaces with the search mechanism, ship production window, etc. and should have several robust ways of defining a composition. It might be explicit, like "(10) Corvettes with heavy energy weapons", or implicit, like "50% of the information grade ships in my division." >> Resolve ambiguous / conflicting FCCs?

This FCC is used for several purposes. First and foremost, it automatically creates requisitions whenever the FCC is not met. A requisition is a request for stocks and / or products, i.e. one might requisition supplies, money, ships, etc. It differs from a production request in that it can be satisfied by transfers of materiel from another group.

Suppose that I change my FCC so that I want a battleship and no longer want my four destroyers. If another group has requisitioned destroyers, they will be automatically transferred from my group to the other one. If a requisition cannot be met by transfer, then it becomes a production request. However, it remains a requisition; in the event someone gets rid of what I need, production is halted and a transfer occurs.

Total Posture Parameters

In a similar fashion, producers can be managed in a high level way via total posture parameters. Planetary producers will always have an rearchitecting acceleration, so we might have a slider bar for stockpiling. When swung over to "Stockpile", more manufacturing would be done than conversion, and thus stocks would accumulate. When swung toward "War Effort", more conversion would be done than manufacturing, spewing out spacecraft quickly. Similarly, there could be "War vs. Peace", which might control aspects of defense, merchant sales vs. parts production, etc.

All property groups have TPPs, and there is an interaction between the TPPs of subgroups and container groups. Property groups can use the TPP settings of their parent group; in fact, new properties begin that way by default. In the case of conflicting parameters, the larger group modulates the effect of the smaller. There should also be ways to globally set all the TPPs in a group, cascading downward. So a player could change an entire sector of space with a single command.

I expect that many players will twiddle with their FCC and TPP and never even touch the full on production mechanism. One might ask: why bother with it? There are three reasons. First, a global management paradigm has to be implemented in detail somehow, and individual producers creating things is familiar to most players. Second, sometimes micro-management of resources will be both desirable and necessary, so players should be able to manipulate the internal guts. Three, we need the concept of shipping for other game mechanisms, such as supply lines.

Logistics

Once crafts and stocks have been produced, there still remains the non-trivial problem of moving them where you need them, when you need them. But wait! If every fleet defines an FCC, and ships / supplies are automatically sent and / or produced, what's the problem? Why not send them directly from their origination point to their destination fleet? The answer: we may not want ships to head directly to their final location.

Consider this scenario. Suppose that we are sending ships to an area of heavy fighting. We'd like to get them into action as quickly as possible, so we send them directly to the fleets at the front. Unfortunately, in transit the target fleets were wiped out, and then all the ships need to be reallocated to different fleets. Worse, because of the geometry the fleets are left in an inconvenient tactical position. The other player storms several locations before the ships can turn around and join in the defense effort.

What we would like is the ability to stage the ships, temporarily passing them through intervening friendly fleets before reaching their final target destination. Doing this manually would not only be a major hassle but it also defeats the intent behind FCC, namely having ships automatically sent without player intervention. Thus, we introduce the concept of a stage factor.

Staging

Assigned to the locale around every producer is a fixed fleet. Thus around the planet Caledon are Caledon Shipyard Fleet, Caledon Mining Fleet, Caledon Depot Fleet, etc. at all times. Note that fixed fleets have the special characteristics that they cannot be renamed (though the locale itself can of course be renamed), and that the producer cannot be reassigned to another fleet; if a producer moves to a new locale, the fleet goes with it. Whenever a craft is produced, it is initially assigned to this fixed fleet.

Every wargroup has a stage factor, which is a number between 0 and 9. (I really like single digits, by the way. :-) Fixed defense fleets have SF0, and are the only fleets allowed zero stage factor. When en route to their destination group ships stage themselves in the lowest stage which is convenient; furthermore, they will never head to a stage with a lower factor than the one they are currently in.

Note that this non-decreasing stage factor constraint has several effects. Ships never stage at in a fleet with a lower stage factor than their intended destination. Thus, the stage factor of group relative to the surrounding groups determines "ship flow". Several desirable effects, such as juncturing, pipelining, are achievable through intelligent management of the stage factor. SFs are also affect transfers (below).

The assignment details are as follows. Each reallocated ship has a target destination in mind, and first assigns itself to the Reinforcements of the group it is headed toward. When it finally arrives, it assigns itself to the Relief Force of the target fleet. In the meantime, it places itself in the Transfer Force of any fleet that it is temporarily staged at. (In addition, the transfer force also includes ships which are waiting to be reassigned due to FCC changes.)

Now suppose that a ship heading to relieve another group is desired by the fleet it is currently transferring to. We would like an automatic transfer request trigger to occur, which asks the local CO whether he wants to acquire the ships, and then asks the remote CO whether this is okay. Thus, stage factors also influence how fleets will "fill up" when ships are "sprayed" into region; lower stages before higher ones.

Stage Parameters

While staging provides considerable flexibility, the player might need even more exacting control of his fleet movements. Thus, as part of the FCC three stage parameters can be set. The first is an auto-stage parameter, which conceptually represents how much reinforcement ships are allowed to deviate from the optimal "straight line" course (in reality, a time forwarded geodesic). An ASP of 0 means "get here now!"; a ASP = 3 means "reinforce the neighborhood"; ASP = 9 means "we don't expect to be here when you arrive".

The next two parameters affect how ships react when passing through the local group. The auto-linger parameter defines how long staged ships remain in the Transfer Force of a group they are passing through / heading from. We shall make this into an exponential time scale, in order to retain the 0-9 value. ;-)

>> Cap on the ALP, determined by rank? Authorization?

Lastly, an auto-pipeline parameter can be set, which represents how much the local group tries to grab ships passing through it. It governs the generation of transfer requests by comparing the difference in stage factors between the local fleet and the remote fleet. If the difference is less than the APP, the ships are passed through even if they might satisfy part of the local groups FCC. An APP of 0 means "grab anything you can", while a higher APP means "pipeline ships through". Note that the SF + APP of any FCC must be less than 10.

However, a player might want distinctly different behavior in combat and out, even if they are a forward fleet. For example, in combat they might want ASP=0, ALP=9, APP=0; while out of combat ASP=3, ALP=3, APP=3 might be more reasonable. Thus, changing these parameters is automatically done in the pre-combat and post-combat triggers.

Note that this mechanism only generates the automatic commands for ships. At any time an officer may explicitly command any ship, by overriding / countermanding the standing orders. In particular, a CO can explicitly order ships in their Reinforcements to come straightaway. Thus, it is best to set the parameters once and change them infrequently, and micro-manage the ship directly when necessary.

>> Empty Fleets being absorbed / point targeted.

Maintenance

Fleets take a considerable amount of material simply to maintain. Maintenance is a special category of supply which is required at all times, i.e. a group which never enters combat still needs to be maintained. Officer salaries need to be paid, goods like food provided, fuel supplies and replacement parts shipped, etc. When this upkeep is not provided, the ships steadily deteriorate to the point where they are easily overcome in combat.

Furthemore, this cost is a significant one. As a general guideline, we want a ship maintenance factor of 8, i.e maintenance is 1/8th the cost of ship construction. But wait! We are comparing rates to values, so we need a conversion ratio. Let the standard production value be 1024. The time it takes a producer with rate 1 to construct a ship is SPV * MF seconds, and they can support ships with total value less than SPV. Our numbers work out well; to maintain a fleet of value 50,000 we need a producer with rate 50.

Combined with the concept of a fair fight, we can now make a comprehensive chart. Suppose we want a standard producer with rate MF to create a battleship (B5) in SPV seconds.  That would mean:

Producer with MF production rate

Ship Time (sec) Cost (value) Can Maintain (#)
C9 SPV * 32 (SPV * MF) * 32 MF / 32
C8 SPV * 16 (SPV * MF) * 16 MF / 16
C7 SPV * 8 (SPV * MF) * 8 MF / 8
B7 SPV * 4 (SPV * MF) * 4 MF / 4
B6 SPV * 2 (SPV * MF) * 2 MF / 2
B5 SPV  (SPV * MF) MF
D5 SPV / 2 (SPV * MF) / 2 MF * 2
D4 SPV / 4 (SPV * MF) / 4 MF * 4
D3 SPV / 8 (SPV * MF) / 8 MF * 8
F3 SPV / 16 (SPV * MF) / 16 MF * 16
F2 SPV / 32 (SPV * MF) / 32 MF * 32
F1 SPV / 64 (SPV * MF) / 64 MF * 64
 
 For our specific values (SPV = 1024, MF = 8) that gives us:

Producer with 8 production rate

Ship Time To Construct Cost (value) Can Maintain (#)
C9 ~8 hours 256K 1/4
C8 ~4 hours 128K 1/2
C7 ~2 hours 62K 1
B7 ~1 hour 32K 2
B6 ~34 minutes 16K 4
B5 ~17 minutes  8K 8
D5 ~8 minutes 4K 16
D4 ~4 minutes 2K 32
D3 ~2 minutes 1K 64
F3 ~1 minute 512 128
F2 32 seconds 256 256
F1 16 seconds 128 512

Of course, supplies must also be provided to compensate for the effects of combat. These range from ammunition to medical kits, etc. Parts are also needed in great quantity, since permanent damage to craft can only be repaired using parts.

Supply Lines

Each fleet contains a Cargo Force which consists of transport ships which automatically ferry supplies back and forth between the fleet and the nearest depot (usually at a producer). Supply "line" is perhaps a misnomer, though. For security purposes a different route is chosen each time, not just the shortest path to the closest producer. A portion of the fleet can be designated as a supply line escort. These ships are automatically drawn from the weakest, most damaged of the fleet; ships can also be explicitly assigned to the Supply Line Force. If the supply line is attacked then these will be the ships defending the cargo ships.

Ships are automatically supplied when not in combat. During combat they can still be supplied, but this carries with it some risk, since it exposes the cargo craft to enemy fire. Three main techniques are used: docking, rail supply, and delivery craft. Docking is bringing the transport into physical contact with the other craft. Rail supply is essentially a particle weapon which shoots the supplies from the transport ship to friendly vessels. Delivery craft are essentially seeker missiles which hunt down friendly ships and restocks them. Both can be captured / attacked by the enemy in real time.

Over-extending your supply line is a dangerous tactic. (We should have a supply line indicator of some sort for each fleet.) Recall that our maintenance figures are calculated in the optimal; they assuming an "instantaneous" feed. But the number of cargo ships required to maintain a supply line goes up the longer the line, and these must also be built and maintained. The Supply Line force must also go up, or be spread out to the point of ineffectiveness. Lastly, the detection of a line goes up the longer it is, giving a strong incentive to have shorter lines.

Transports and Platforms

Transports and platforms play many indirect roles in logistics. Since maintenance is such a significant cost, production platforms which yield short-term production boosts are important to a war effort, as they can be used to build ships quickly without drawing from the maintenance flow.

To further extend range of your fleets, there is a transport grade station called a depot, which has a large storage value. These depots can be used to reduce the time it takes for supplies to get to your fleets, reducing the number of cargo vessels needed as well as providing more flexibility in positioning your fleets. They can also become locuses for ship repair, when combined in starbase class locales.

After combat ships often have damage which require significant repairs. Most planets have repair facilities, but valuable time can be lost moving ships away from the front. Salvage platforms can create parts from the raw source of destroyed ships; repair platforms can use these parts to repair ships in the field.

These platforms rarely enter combat. Even when assigned to a fleet they will periodically warp away from them in a random direction, returning only to pick up and drop off crafts. Platforms with hangar facilities are highly prized, since they can warp and repair ships at the same time (though only fighters and destroyers are small enough to fit in the hangars). Catching a repair platform in a Warp Interdiction Zone can be a crushing blow to enemy fleet, especially if you capture it and commandeer it for your own use... >> Platforms how stations are deployed / built?

Reconnaissance and DataWave

>> Objective capture, diplomatic missions, spying, datawave. Should allow to spend money on ferreting out enemy secrets...

>> Effects of Scouting

>> Datawave configurations

The Galactic Conflict

The main point of the game revolves around acquiring territorial influence.

Demonstration of Prowess. Capture vs. destroy.

Ownership, Claims, and Contests

Conquest

Diplomacy

Interfaces

Iconic Paradigms

Icons play a major role in the game. First and foremost, they provide high bandwidth information about an object; we'll focus on tactical ship information. Second, they add a highly military flavor to the game. Third, they offer a viable playing alternative to those without 3D accelerator cards, since icons will be rendered using only 2D techniques. Even for those with 3D cards, I think it would be nifty to see icons popping up everywhere before the 3D information is filled in.

Furthermore, to prevent information saturation there will be iconic modes, namely changing the icon set to look at specific types of information.

Info we'd like:

Properties we can squeeze:

Color Schemes

There will be consistent color schemes across all interfaces. These colors affect not only icons but also text, etc. Here's some sample schemes

War Grade Ship Designators

War grade ships reserve 1) a large box, 2) the X diagonals of this box, and 3) a smaller interior box for their iconography. (BTW, these were created for the anticipated 640x480 mode of the game. If you are viewing it at 1280x1024, they are less than quarter size!)
 
C9
         
B7
 
C8
     
B6
 
   
C7
 
B5
   
     
War Group
     
   
F1
 
D3
   
 
F2
     
D4
 
F3
         
D5
When representing a combined fleet, the icons are overlaid on top of one another. The total numbers of each class of ship are written as a number on the appropriate corners. For very large fleets, and extra brevet is added onto the appropriate class type.

Furthermore, the stem and arrow heads represent attack and defense capabilities, respectively. For example, here are the icons for war grade ships with energy attacks (red) and energy and particle defenses (red + green = yellow).
 
C9E__EP_
         
B7E__EP_
 
C8E__EP_
     
B6E__EP_
 
   
C7E__EP_
 
B5E__EP_
   
     
WGE__EP_
     
   
F1E__EP_
 
D3E__EP_
   
 
F2E__EP_
     
D4E__EP_
 
F3E__EP_
         
D5E__EP_
The arrow head can also designate the defense capacity of a ship (or the best defense capacity of that class). Point defenses are assumed present; if not, the tip of the arrow will be missing. If the ship has plane defenses, then this is shown by small square of the appropriate color. Here is a battleship with particle weapons (green stem), particle and missile defenses (green + blue = magenta?), and a planar missile defense (blue): B5_P__PMPlaneA sphere defense is designated by a small circle: B5_P__PMSphere

Information Grade Icons

Information grade crafts reserve a 1) large arrow-headed cross and 2) a small plus sign for their iconography.
 
 
InfoUp
 
InfoLeft
InfoCenter
InfoRight
 
InfoDown
 
As you might have guessed, the information grade has been designed to integrate with the war grade. Assuming all classes were present, a fleet icon now looks like: War Group with Info Grade

No numbers are given for communication class ships. War grade ships which are also communications class have the small white cross appended to their stem.

Other Grade Icons

All other grades reserve a circle as part of their iconography; moreover, they are required to utilize at least a 90 degree arc. Here are some ideas for things to use: >> Link to transports and common platforms.

Windows

Windows are regions of the monitor, i.e. visual real estate. They cannot overlapped, but they can be moved and resized. Note that multiple window of the same type can be on display at the same time, whether or not they have different screens.

Viewport

The viewport window is where all the action happens. Depending on the video settings, it contains icons and / or actual 3D-rendered objects. However, even in full iconic mode it is treated as a 3D camera which can be moved, zoomed, etc.

There are five screens for this window

Note that aspects of the viewport change visually depending on the context of other game windows. For example, when a war group is selected in the Group Manager, the current representation of that group barbershops on the screen. Depending on the viewport settings, other information might also written on the screen (like having nifty data appearing next to objects on screen. Name, Mass, coordinates, etc.)

Furthermore, craft can be selected directly from the screen in a variety of ways. The simplest is the default mode, i.e. Mouse-Over Click selects. But there should be options like: (n) closest craft to this selection, crafts attacking this one, crafts attacked by this one, etc.

Resource Monitor

The resource monitor window keeps track of local computer resources, such as the amount of memory, disk space, processor load, rendering load, and network usage. In particular, a player can specify how much of each resource the game is allowed to use, and the relative importance of items within a resource category. This allows the game to be a resource hog to get good performance, but restricts how much it can pillage the computer.

Furthermore, static resources have a concept of a unique resource identifier. The URID will consist of something like a Name + Creation Timestamp + CRC. This is critical: recall that to have networked game play we need to have the same exact resources available to all players. However, we would like to curtail the reduplicate transmissions of such resources, while guaranteeing that they are the same, hence computers will compare URIDs whenever necessary. Of course, once verified each resource is tagged as good, and re-verification need only occur if the resource is altered.

For example, I think incorporating a large audio aspect to the game would greatly increase its play enjoyment. Thus, each player can record certain custom phrases, such as "Command Completed", "Mission Accomplished", "Alert", "Incoming Message", etc. They can also record a limited number (and size) of custom messages. The first time you play with a new person should be the only time you ever need to download these files.

Furthermore, resources can be dynamically grouped into a single larger resource. (Sound familiar? I'm harping on the same idea... :-) This can be done manually by the player, but much of it should be done automatically. For example, all custom files associated with a remote player is put into the same group, to allow easy saving, transfer, or deletion. This group will be named something like "Officer X's Custom Resources". Note that URID verification need only occur at the top level.

Game Preferences

Game preferences are a special class of disk resource. Every aspect of the game which is configurable will have a individual resource file associated with it, to allow for maximum flexibility in configuring your game. Note that with the dynamic grouping architecture these can be handled in a high-level way or micro-managed, as the player desires. Just the category of automatic resource management is huge: However, preferences also include what one would normally think of as preferences, like Game preferences should, of course, be modifiable on the fly. However, some network game parameters may be unalterable. The game preferences window has many, many different screens.

Alert Region, Message Board, & Notification Log

These three windows form the backbone of the communications systems. A communication is routed to the appropriate window depending on its designated priority. The Alert Region is a small portion at the top of the Message Board, which is an e-mail like entity. Alerts are heralded via an audio cue, and remain at the top of the board until explicitly dismissed by the player. The Notification Log is a small widget which scrolls notifications, most recent on top. Notifications have a barely audible component, which forms a "background chatter" effect when many notifications are received at once.

Here's a sample of the things which can be automatically communicated:

As a further aid, all communications are color coded by type (like who the author is, etc.)

Note the Message Board can be used to compose a brief message to other players. If the text exceeds a certain length, or a return is pressed, a Message Tab automatically pops up. This allows a longer message to be written, and the message to be sent.

Also note that a special class of reports called News are automatically sent to each player at message priority. These can of course be filtered. Fortunes of War opportunities can appear as News, Communiqués, or normal Reports.

Group Manager

The group manager is a hierarchical tree control reminiscent of the Norton File Manager / Windows Explorer. It can expand / contract branches (remembering the previous state, modulo ship losses), supports multiple selection, and supports drag and drop. Each entry has its own icon type, which is drawn from the iconography described above. It can also display additional information via the entry text, like color representing damage, for example.

There are many context dependent links between the group manager and the other windows. For example, the current selections barbershop in the viewport. If the viewport scene is changed, the group manager updates to the appropriate groups. If a Command Queue Screen is active, it will display the command queue of the currently selected entry. >> Other links

The group manager has four screens, friendly wargroups, friendly properties, enemy wargroups, and enemy properties. The Enemy WarGroup Manager automatically adds new craft whenever a new signature is encountered. These can then be manually or auto-arranged by the player just as there own forces can. I expect that most player will find it more convenient to click back and forth between two open group managers than to directly select on the viewport. Likewise, the Enemy Property Manager will add new holdings automatically, though we expect this to happen on a longer timescale.

Command / Production Windows

Both of these window types use the same interface ideas, and thus are described together. Each have two screens, a queue screen and an order / request screen. They are also mirrored by more extensive tabs.

Film Window

Used to control aspects of filming, create films, etc. Note that to reduce film size the films are calculated in real time from a command stream. However, to prevent the horror of Myth loading, the full state will also be saved periodically. Thus, when jumping to the middle of a film, it need only be calculated from the most recent save point.

Also note that since the starting galaxy must be URID for everyone starting the game, mission briefs can be quite small, since they need only contain a command stream (i.e. camera info, etc.)

Tabs

Tabs stand outside the window paradigm. They inhabit the edge of the monitor and define where the "windowing" region begins. There are three classes of tabs: window control, visual layout, and overlays.

Window Control

These tabs controls which windows are presently displayed. They follow a toolbar-like paradigm, occupying the left edge of the monitor. They have text / pictures on them with window names / icons, and a visual cue determining whether they are currently displayed (i.e. color, 3D pressed, etc).

Windows can be pressed / dragged off a window manager tab and placed on the screen as desired.

>> Think on unambiguous window region hierarchy. I think an "equal edge" paradigm is sufficient.

Visual Layout

These tabs controls which visual layout is presently displayed. They follow a toolbar-like paradigm, occupying the right edge of the monitor. They have text / pictures on them with layout names / icons, and a visual cue determining which one is currently displayed (i.e. color, 3D pressed, etc).

Pressing a tab causes a visual layout change to occur. It would be pretty nifty to have the windows expand / contract / move in an animation.

The bottom tab is reserved by default. Whenever a screen is manually changed by dragging windows, it is assumed to be an interim layout, and is automatically assigned to this reserved tab. If this tab is named, then a new tab appears in the list and the reserved one becomes blank again.

Overlays

Overlays are intended as brief usage windows. They slide across the monitor, over the window region, and are semi-transparent (like the computer in Star Trek). Updates still occur to the windows in the background, which can be seen through the open tab. When clicked again the tab slides back off monitor. Overlay tabs take up the top and bottom edges.

The text displayed on the tabs can be customized. For example, the production tab could display the highest priority / nearest to completion order, most recent order, etc.

Here are some standard overlays:

Keyboard Paradigm

Here's a first pass at how we might break down the accelerators:
 
<Unaltered>
Select or use a player-defined quantity
<Shift>
Set the quantity hotkey quantity for use above
<Ctrl>
Predefined / standard selection or use
<Alt>
Reserved for system use?
Note that in line with our philosophy of extensibility unaltered keys should always refer to player defined keymaps. These keys will come seeded with a standard set. Since some people might prefer the standard keymap, there will be a global option to remap the roles of <Unaltered>, <Shift>, <Ctrl>, and <Alt> themselves.

Further note that layouts can be saved and loaded. Different aspects can also be given custom names (like the visual layouts, etc.).

Numbers

The ten numeric keys are associated with ship groups. So we would like something like
 
  Number
<Unaltered>
Select a player-defined ship group
<Shift>
Set the ship group hotkey above
<Ctrl>
Select auto-organized forces (i.e. <Ctrl>-1 = Strike Force, etc.)
<Alt>
?

Letters

The alphabetic keys are associated with commands, including orders, formations, reports, etc.
 
  Letter
<Unaltered>
Select a player-defined command
<Shift>
Set the command hotkey above
<Ctrl>
Select standard command. Utilize three row paradigm
<Alt>
Menus?
>> List the standard key commands eventually

Function Keys

The twelve function keys are associated with visual layouts. A visual layout is a physical organizations of windows and their corresponding screens, as well as open tabs. Note that F1 is reserved for the Game Control configuration, though a player may of course rearrange the windows on screen.
 
  Function Key
<Unaltered>
Select a player-defined visual layout
<Shift>
Set the visual layout hotkey above
<Ctrl>
Select standard visual layout.
<Alt>
Open / Close tab?
Here are examples of standard layouts

Arrow Keys Plus

The four arrow keys, six keys above them (Insert to Page Down), and keypad are all associated with movement / display in the 3D window (called the viewport). Here we have a major symmetry break with the other keyboard commands. Since everyone thinks differently in 3D, every individual key is individually assignable to a viewing function, including all the accelerators as well. This will allow each player to find their own optimal configuration.

[BTW, the same should be true of the mouse. Accelerated mouse movements should be linkable to viewing functions; unaltered movements are reserved for movement around the game windows.]

Here's a reasonably complete set of viewport stuff:

Other Keys

Here are some suggestions for the remaining keys:
 
Escape Key - Abort whatever you are doing
Backspace - Auto-countermanding the last order.
Space - Create new quantity (context dependent)
Tab - Navigates windows in sequence. Alt-Tab = in reverse.
Plus - Increase value
Minus - Decrease value
>,< - ??

Lists and Nitty-Gritty Stuff

Decorations

>> Swipe from current naval military terminology.

Imperial Officer Uniforms

  Rank
Shoulder
Collar
Chest, etc.
R0 Ens      
R1 SLt      
R2 FLt      
R3 LtC      
R4 Cdr      
R5 Cap      
R6 Cmr      
R7 RAd      
R8 VAd      
R9 Adm      
 
 
Badges  
Citations  
Medals  

Intelligence & Command Missions

>> Time critical nature of intelligence.

>> Only can grant citations for successful command missions. List them!
 
News  
Datawave  
Scouting  
Espionage  
>> Generics? Assault, Escort, Defend, Establish, Capture, Training? Aid, Hire, Incite, etc.?

>> Carefully divide up intelligence vs. FoW

Fortunes of War Scenarios

The Fortunes of War scenarios are very similar to the standard intelligence / command mission structure, but differ in several respects. They are independent of intelligence activities, and cannot be initiated by a player, i.e. they are granted by the computer. They are also keyed to rank; some opportunities only come to high-ranking officers. They are the only way in which officers can acquire medals. Lastly, the FoW scenarios are exchangeable between players; whether they are sold or given is up to the players involved.

FoW opportunities occur probabilistically, proportional to the number of players, capping at some value (at 32 players, say). That way, there are more FoW opportunities in a multi-player game. Note that most of these FoW opportunities have a flip side, typically an assault mission. Occasionally two sides will be given the same mission, but from different perspectives. So one player might get "Transport critical supplies" and the other might get "disrupt enemy transport", which makes for an interesting encounter.

>> List paired ideas together

>> Classify according to ranks. Add on decorations possible.
 
Generic Type Specific Ideas
Planetary Mercy Mission (medical supplies, food, etc.) 
Fortification install 
Attack enemy fleet around neutral planet 
Fend off pirates raiding civilian lines
Political Rebellion on your own planet. Planetary suppression. 
Diplomatic envoy. 
Planet asks to become a protectorate 
Treason! Capture traitor 
Propaganda campaigns on neutral planets. 
Assassinate political figure.
Production Sabotage production of the enemy. 
Setup factory in strange location. 
Transport critical supplies. 
Disrupt someone else's supply line. 
Fend off pirates raiding your supply lines. 
Aid pirates in raiding someone else's supply lines.
Intelligence Scouting a region / mapping one. 
Triangulate enemy datawave outposts. 
Espionage. 
Ersatz Report 
Co-opt enemy comm relay / Discover security breach 
[Establish Datawave outpost. Establish comm relays.]
Foreigners Hire mercenaries for battle. 
Aid foreigners against aggressors. 
Contest by advanced race 
Special items sale by advanced race (weapons, ships, etc.)
Officers Capture enemy officer. Ransom! 
Threaten enemy officer. 
Defection 
Training Mission 
Combat Maneuvers
Civilian Science mission - Explore sun, nebulae, planet, etc.
Random Travelling Null Spaces. How can you beat that? 
Nova? Heh, heh, heh. 
Filmmakers wanting to film combat. 
Discredit enemies via combat no-no (attack innocents).

Racial Characteristics

Let's leave the whole thing extensible. We'll need to determine all things affected by race, such as shipsets, decorations, etc.

Property Group Characteristics

Free Space.

>> Get an astronomy book and classify according to property group paradigm

Gas Giants, Planetoids, Asteroids, black holes, nebulae, etc.

Core World, Tributary, Protectorate, Neutral Spheres, Foreign Powers

Star Types: Color, Binary / Trinary, Neutron, etc.

>> Include server info

Terrain Types

>> The more the better. Effects on communications, sensors, weapons, defenses, info warfare, etc.

With Atmosphere (Ocean, etc.)

Without Atmosphere (Ice, etc.)

Clouds / Nebulae

Galactic Storms

Null Spaces

>> We want some patently fantastic terrains...

Fortifications

>> Include not only the defenses but also communication relays, datawave outposts, etc.

>> Discuss Starbases as combination war + info + depot + platform locales.

WarGroup Characteristics

The ships in the fleet + overall ratings

Officers, CO Chain of Command

In Current Territory/ Region

Auto-reorganization Rules

Fleet Composition Criteria

Stage Factor, ASP, ALP, APP

Transfer target (and target of)

Command Queue

Ship Characteristics

Ship Class Cost To Produce 
Ship Size / Hull Class / Mass 
Acceleration / Maneuverability / Rotational Speed 
Range / Fuel (if applicable) 
Desired Character Rank 
Weapons Types (Energy, Missile, Particle, Special) 
Mounts, Damage, Targeting Accuracy, Firing Rate, Ammunition (WA) 
Defenses (Energy, Missile, Particle, Special) 
Point = 4 extra hits, Plane = % to hit reduction, Sphere = Pure absorption 
Max Crew Size 
Max Internal Security Forces 
Information Capabilities / Computer Class 
Detection / Stealth Capabilities. Telescopes, gravitic resonators, etc. 
Cargo Size 
Hangar Facilities 
Docking Points / Facilities 
Self-Repair Characteristics (Rate / Repair Well) 
Other-Repair Characteristics (Rate / Repair Well) 
Salvage / Production Value 
Ramming Damage 
Self-Destruct Capability / Damage
Current Combat Position 
Velocity 
Orientation 
Attack Target 
Command executing
Ship Specific Which Side it is on (and thus who owns it) 
Group structure (i.e. Force, Fleet, Division, Front) 
Character On Board / Staff Officer 
Current Galactic Position (i.e. territory group) 
Current Damage 
Current Crew Size 
Current ISF 
Current Cargo 
Current Complement (in Hangar) 
Currently Docked / Being Repaired 
Current Self-Repair Well Value 
Current Other-Repair Well Value

Weapon Types

When creating a ship, the standard weapons and defenses need to be specified. To simplify the matter, each mark can have light, medium, or heavy weapons for each of the standard weapon classes (i.e. energy, particle, missile); of course, they can have no weapons in a class, and also special weapons. Similarly, standard defenses are point, plane, or sphere.
  Weapons Defense Nasty
Energy Cannon  
Turret  
Battery
Field Lightning
Particle Gun  
Slingshot?  
Railway
Screen Black Hole 
Missile Launcher  
 
Silo
Chaff MIRV?
Here are some other conceivable weapon types:
 
Collision - Causing the enemy ship to hit something
Ramming - Colliding with the enemy with your own craft
Self-Destruct - Intentionally blowing your craft up
Interdictor - A weapon which prevents warp drives from working by generating an intense gravitational field
Tractor Stream - Capable of moving another craft, without causing damage
Ion Stream - Disables shield capacity, without causing damage
Neutron Stream - Disables engines, without causing damage
Tractor Beam - Capable of moving another craft, and also causing damage
Ion Beam - Capable of destroying shields, and also causing damage
Neutron Beam - Capable of exploding engines, as if self-destructing
Troops - Marines, pirates, etc.
>> Make names for info warfare. Dataworms, Viruses, Stealth Devices

Combat Resolution

For simplicity, all combat interactions will be resolved probabilistically, as opposed to calculating actual 3D fire. We still want to incorporate "random fire" effects, but this is determined probabilistically as well.

Dependent Functions

Some aspects of combat should be dependent on other aspects. For example, we might want to incorporate distance effects on targeting. Targets should be easier to hit at close range than farther away, and some weapons might perform well at long range while others do not. To model these effects, we define functions which are dependent on the quantities and parameters. (Note: They should actually be lookup tables for computational speed.)

Suppose we choose to make Targeting Accuracy dependent on distance to the target, and parameterized on the weapon's rated distance and chance to hit, i.e. we would have a "Chance To Hit @ Rated Distance". A reasonable function might be:

TA[D; %TH, Rated D] = %TH ´ Max[l, (Rated D / D)^2] The square falloff means that the rated distance is the more important parameter. The maximum at 1 is just to prevent a spike to infinity as we near zero. Note that we will often drop the explicit parameter dependence and write the dependent quantities only: TA[D].

In a fully analogous way, damage ratings on energy and particle weapons can be given in "Damage / Second @ Rated Distance" and calculated in a similar way. Missile weapons break this paradigm by having a fixed range, acceleration, targeting accuracy, and damage.

A speed dependent relation, such as maneuverability, is given by "Maneuverability @ Rated Speed", but is calculated in a different manner.

M[S; %M, Rated S] = %M ´ (Rated S / S), when S > Rated S

= %M ´ (S / Rated S), when S <= Rated S

This means that maneuverability peaks at the rated speed and falls off in both directions, and is zero when the ship is at rest. The Rated Speed for Fighters is typically high, but this drops as you crawl around the dominance cycle, i.e. carriers have the slowest rated speed.

Weapons Combat

>> Rework with more symmetries.

>> Differentiate between damage and (permanent) damage. Reconstruction?

There will be several major factors affecting the percentage chance to hit:

There are fewer factors affecting the damage done. Damage to ships is repaired in real time. 1 of every 5 points of damage becomes 'permanent damage', which cannot be repaired by on board systems and can only be corrected in a space-dock. Note that point defenses reduce this to I in IO, when dealing with the same weapon type.

>> target verification reduces the firing rate

>> Ship performance degradation via permanent /just damage?

>> Exact combat modification via officers?

Information Warfare

Entails such things as jamming, stealth, dataworms, viruses, etc.

Slip commands into command queues, control ships.

>> Needs a lot of work

Troop Engagement

Entails direct boarding of a ship. Can attack, disable, or alter the crew or the ship itself. Troops have different ratings:
 
1
Civilian Crew
2
Pirate
4
Military Crew
8
Mercenary
16
Marine
32
Security Bots
64
Officer
128
Contender
Officer influence. Do the add their rank to values, or simply eliminate their rank per second? Hmm...

>> Also needs a lot of thought

Abbreviations

For officer rank abbreviations, see here.
 
%M
= percentage Maneuverability rating
%TH
= percentage chance To Hit
ALP
= Auto-Linger Parameter
APP
= Auto-Pipeline Parameter
ASP
= Auto-Stage Parameter
B#
= Battleship mark by rank. B5-B7
C#
= Carrier mark by rank. C7-C9
CM
= Command Mission
CO
= Commanding Officer
CQ
= Command Queue
CRC
= Cyclic Redundancy Check
D#
= Destroyer mark by rank. D3-D5
FCC
= Fleet Composition Criteria
GC
= Galactic Conflict
IC
= Imperial Contender
F#
= Fighter mark by rank. F1-F3
FoW
= Fortunes of War
LO
= Leading Officer
M#
= The mark of a class. M1-M3. "M" can stand for [F, D, B, C]
MF
= Maintenance Factor
R#
= Rank. R0-R9
SF#
= Stage Factor
SO
= Superior Officer
SPV
= Standard Production Value
TPP
= Total Posture Parameters
URID
= Unique Resource IDentifier
VL
= Visual Layout
WG
= War Group
WIZ
= Warp Interdiction Zone

Architecture and Coding Issues

Here's some basic coding related terminology:
 
Window - A conceptual portion of the monitor
Screen - A display format for a window devoted to a specific task
Tab - A special window which slides on / off monitor and overlays other windows
URID - Unique Resource Identifier, possessed by all game resources, both internal and player-defined.

Multi-player Architecture

The networked version has a single over-riding goal: real-time scalability. I want a thousand people playing in a single game! This means that we need:

Property Servers

The property concepts in the game are intrinsically linked to the networking paradigm. The initial host machine which initiates a new GalCon game is called the galaxy server, and initially owns and processes all space. As teams are created they are given regions of space to control and process; the computer of the team's Leader becomes the regional server. As the Leader appoints others via command missions their computers become territorial servers. In particular, these territories are divvied up such that the majority of a player's fleets are within the property(s) that they locally process.

When a fleet moves into a territory owned by another player (friendly or enemy), a cell-phone like hand off occurs, and the remote computer now assumes processing for the fleet. In the case of friendly territories, though, there is an attempted re-negotiation of ownership rights to the territory. This paradigm has the added benefit of being able to dynamically add new regions without upsetting the processing structure of the old ones, i.e. new players can be added until the cows come home.

There is a special Free Space consideration. When a fleet moves into Free Space it informs the galaxy server, but processing is still done locally until another player controlled territory is encountered. The galaxy server only a) generates random events in free space, which it tells the other computer to handle, and b) informs other servers in the unlikely event that fleets meet in free space. To minimize load on the galaxy server, we might even decree that no chance meetings can occur in free space except specific rendezvous and FoW stuff...

Command Streams

All sides need access to the information about a combat in which they participate; this is especially important for the purposes of rendering. If we assume half of the combats will be initiated in foreign territory (and thus owned by a remote computer), how can we minimize the amount of network traffic?

The essential idea is to pass only commands back and forth between the computers and have each one update a local copy of a combat. Commands are timestamp forwarded so that they occur at exactly the same time, according to the game galaxy chronometer. In the event of a heinously delayed command, a mechanism to resynch copies between computers will be used.

This gives rise to the concept of a "master copy", which resides by default on the server which owns the territory in which the combat occurs (or whichever one is assigned by the galaxy server if the combat occurs in free space). All other combat participants get a "slave" copy dumped from the master, and afterwards only command updates are sent. Each local copy of a combat will keep track of the last time the player accessed it on the computer (i.e. looked at it in a viewport or sent a command to it). After a certain time interval it is dropped, and no more command updates are sent. A return to that combat requires a redump.

For things requiring random actions, seeds are passed along with the message (so that all computers take the "same" random action). This is especially critical during combat interactions like determining who hits whom, and the consequent damage done.

Network Spooling

Since keeping all the copies synchronized is a major concern, we must have guaranteed transmission of commands (from the CQs). This is even more critical when we implement a multi-casting tree scheme, since a computer will be handling messages meant for other computers.

That means that we can't bog down the bandwidth with lower priority information downloads / uploads. However, other resources might need to be downloaded from other computers. Thus, we would spool that data out to the desired location in small slices, only when the command queue has no data to transmit.

This has impact when combats are initiated. The initial dump of a new combat takes lower priority than already established real-time network concerns. That means that in times of network clogging, etc. combats might take a non-trivial amount of time to load.

Bandwidth Estimate

Suppose a command takes about 50 bytes to send, say
 
Player ID Group ID Command ID Data (say, a URID tag)
2 bytes 4 bytes 4 bytes 12-40 bytes  
Further suppose that 10 commands are issued per combat per second (remember scripting!), and that there are an average of two sides per combat. This gives us a nice, round estimate of 1K/combat.

Now suppose that everyone has only 28.8 modems, and that the multicast network is a linear tree (hey, we're doing worst case here!). That means that 28 combats can be supported by that galaxy (assuming maximal overlap). More reasonably, we would expect the combats to be evenly distributed among the string, meaning about 50 combats could be happening concurrently. Assuming two players per one combat, that means we could have 100 people playing simultaneously!

Main Engine Architecture

Here's the basic idea:
 
® 
® 
® 
® 
User Input
 
Remote CQ(s)
­ 
       
¯ 
     
¯ ­ 
   
­ 
   
Windows Messaging Service
Network Messaging Service
­ 
   
¯ 
 
¯ (TIMER)
¯ 
 
¯ ­ 
   
­ 
Windows Processing
 
Engine
« 
Command Queue(s)
   
­ 
¯ 
   
¯ 
  ¯   
¯ ­ 
     
Display
¬ 
Render
¬ 
Internal Data (including URID resources)
So just recently I had the opportunity to use MS Visual C++ 5.0 and, amazingly enough, it has many of these parts as stock objects. The Rendering can be done using Direct3D, and the Networking via DirectPlay. These are without doubt inefficient, but they would be useful for showing proof-of-concept programming.

Timing Issues

The basic TIMER cycle in the game will be 25ms, which can optimally lead to a 40 frame / second refresh rate. I've done some benchmarks on my Pentium II 233MHz machine, and discovered the local internal data update for a single 1000 ship combat takes about 2ms. A command queue update should take an equivalent amount of time (2ms). Further assume the average computer out there is more than twice as slow, so make these both 5ms just to be safe. Command updates should occur 4 times per second, bringing the rough estimate to 40ms per combat.

Thus, I expect that out of each second we will have

which means that we will be sucking down about 100ms-350ms per second.

Using Direct3D those 1000 ship combats take anywhere from 100ms - 250ms per frame to render, which means that, under optimal conditions, we could get a blazing frame rate of 9 frames / second. :-) Thus, in the real coded version of the game would have to use a much more intelligent rendering algorithm (i.e. Direct3D renders the whole scene again at each tick). I have great faith that such rendering is possible, since I just played Wing Commander Prophecy and that puppy was massively smooth.

Officer AI

How the hell would we implement an AI like this? You've got me... The dominance factors are straightforward, even combat can have a surface area / volume maximization spiel, but how do we implement long term strategy?

Security

Can we somehow prevent people from raping the game? Maybe we can have a centralized server authentication site. People would buy the single player game and then register to play a multi-player game. This would entail buying time on the server, which would have to be paid in advance. The server would perform validation checks only; all real game processing would be distributed across the player computers, as described above.

Hmmm... We need an (n)-way secure party transaction. Alas, I do not think it exists.

Nifty Ideas

Work Queue