
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:
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.
| 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 | - 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 |
| 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 |
| 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. |
| 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 |
| 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 |
| 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 |
| 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 |
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).
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.
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.
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.
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.
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
|
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) |
|
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 |
Suddenly an attack comes the front, call them EF1. We issue the whole
fleet (WF) the command
|
WF
|
<1> Assault EF1, Engage |
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 might have also issued
|
WF
|
<2> Assault EF2, Engage |
|
SF1
|
<2> Assault EF3, Engage |
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).
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 | 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 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)
|
|
|
|
|
|
Carrier (R7)
|
|
Battleship (R5) |
|
|
|
|
|
Fighter (R1)
|
|
Destroyer (R3) |
|
|
|
|
| Corvette (R3) |
|
Cruiser (R5)
|
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
|
|
(1) Dominator |
|
M1
|
|
M1 |
|
|
M2 | |
|
|
M3 | |
|
M2
|
|
M1 |
|
|
M2 | |
|
|
M3 | |
|
M3
|
|
M1 |
|
|
M2 | |
|
|
M3 |
|
|
(1) |
|
(1) |
|
(1) | |||
|
F1
|
|
D3 |
D3
|
|
B5 |
B5
|
|
C7 |
|
|
D4 |
|
B6 |
|
C8 | |||
|
|
D5 |
|
B7 |
|
C9 | |||
|
F2
|
|
D3 |
D4
|
|
B5 |
B6
|
|
C7 |
|
|
D4 |
|
B6 |
|
C8 | |||
|
|
D5 |
|
B7 |
|
C9 | |||
|
F3
|
|
D3 |
D5
|
|
B5 |
B7
|
|
C7 |
|
|
D4 |
|
B6 |
|
C8 | |||
|
|
D5 |
|
B7 |
|
C9 |
|
|
(1) |
|
(1) |
|
(1) | |||
|
F1
|
|
B5 |
D3
|
|
C7 |
F1
|
|
C7 |
|
|
B6 |
|
C8 |
|
C8 | |||
|
|
B7 |
|
C9 |
|
C9 | |||
|
F2
|
|
B5 |
D4
|
|
C7 |
F2
|
|
C7 |
|
|
B6 |
|
C8 |
|
C8 | |||
|
|
B7 |
|
C9 |
|
C9 | |||
|
F3
|
|
B5 |
D5
|
|
C7 |
F3
|
|
C7 |
|
|
B6 |
|
C8 |
|
C8 | |||
|
|
B7 |
|
C9 |
|
C9 |
|
|
|
|
|
|
|
|
|
|
|
|
Modes of Play
There are several factors determining the game mode.
>> 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:
|
|
|
Sources (in capacity) | |||
|
|
|
|
|||
|
|
|
|
Manufacturing | ||
|
|
|
|
|||
|
|
|
|
Stocks (in storage) | ||
|
|
|
|
|||
|
|
|
|
Conversion | ||
|
|
|
|
|||
|
|
|
Products (in cost) | |||
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 |
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:
| 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 |
| 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
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:
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
||||||
|
|
|
|||||
|
|
|
|||||
|
|
|
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).
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
||||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|
|
||
|
|
|
|
|
|
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:
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
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:
Here's a sample of the things which can be automatically communicated:
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? |
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>
|
? |
| Letter | |
|
<Unaltered>
|
Select a player-defined command |
|
<Shift>
|
Set the command hotkey above |
|
<Ctrl>
|
Select standard command. Utilize three row paradigm |
|
<Alt>
|
Menus? |
| 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? |
[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:
| 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 |
| >,< | - ?? |
Decorations
>> Swipe from current naval military terminology.
Imperial Officer Uniforms
| Rank |
|
|
|
|
| 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 |
>> 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 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 |
| Weapons | Defense | Nasty | |
| Energy | Cannon
Turret Battery |
Field | Lightning |
| Particle | Gun
Slingshot? Railway |
Screen | Black Hole |
| Missile | Launcher
? Silo |
Chaff | MIRV? |
| 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. |
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:
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 / Rated S), when S <= Rated S
>> Differentiate between damage and (permanent) damage. Reconstruction?
There will be several major factors affecting the percentage chance to hit:
>> 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:
|
|
Civilian Crew |
|
|
Pirate |
|
|
Military Crew |
|
|
Mercenary |
|
|
Marine |
|
|
Security Bots |
|
|
Officer |
|
|
Contender |
>> 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:
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 | |
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:
|
|
|
|
|
|
|
||||||
|
|
|
|
|||||||||
|
|
|
|
|||||||||
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|||||||
|
|
|
¯
|
¯ |
|
|||||||
|
|
¬
|
Render
|
|
Internal Data (including URID resources) | |||||||
Thus, I expect that out of each second we will have
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.
|
|
|
|