User:Bigjoe5/Battle Quanta

From FreeOrionWiki
< User:Bigjoe5
Revision as of 20:16, 18 January 2010 by Bigjoe5 (Talk | contribs) (General)

Jump to: navigation, search

This forum topic discusses the need to organize space combat in such a way as to dispel the inherent problems with two or more potentially interdependent battles occurring simultaneously. This system of Battle Quanta is designed to solve this problem in a logical and relatively simple way.

The Problem

It is possible, if a ship (Ship A) has sufficient speed, for Ship A to pass through two or more systems in a single turn. If there is a combat in the first system (System X), the outcome of said combat will affect combat in the second system (System Y), due to Ship A either being present or not. It is clear that any battle, the starting conditions of which are dependent on the outcome of a previous battle, must occur after the battle on which it is dependent. This is impossible if there is only one battle allowed per turn, because if we extend the previous example to have another ship (Ship B) moving in the opposite direction between the same two systems, first through System Y, then through System X, then both battles are dependent on each other, and neither can be resolved.

The only way to have these battles occur at the same time in their entirety is to make them completely independent of one another. This necessitates that a ship which took part in combat cannot continue moving until next turn. Once it participates in combat, it loses all of its remaining speed that turn. This does not seem ideal in any case, but there are deeper problems with this solution as well.

If Ship A has the option to engage in combat in System X, but is not forced into combat, what happens? Obviously if it chooses to engage in combat, it will stop for that turn, and go no further until the next turn, to avoid the problem of combats being dependent on one another. What happens though, if it chooses not to engage in combat? Can it keep going, and potentially engage in combat in system Y? This would mean that the decision of whether or not to engage in combat in System X would have to occur before any combat in System Y could begin. Likewise, Ship B would have to decide whether or not to engage in combat in System Y, and would potentially be able to engage in combat in System X.

Let us further suppose, that Ship A is not traveling by itself, but with a fleet, Fleet A. Player 1, who controls Fleet A is planning on assaulting System Y with the combined forces of Fleet A and Fleet C, which is already stationed at System Y. As such, Player 1 chooses to pass by System X without a combat, and orders both his fleets to attack System Y. Player 2, however, has different plans, and attacks Fleet A as it is passing by System X. This means that Fleet A will not be present for the combat at System Y. Now, Player 1 has already committed his fleets to attack system Y. If he is still forced to attack System Y with only Fleet C, then he has been forced into a disadvantageous position due to a lack of knowledge of where his fleets would be that turn. This would be a serious design flaw. If however, he has the opportunity to avoid combat at this point, there are other serious implications.

Recall Ship B, which is transiting through System Y to System X. It has already been stopped by the combat at System Y, and the combat at System X has occurred without it. If Player 1 can now elect to avoid combat in System Y, then Ship B is either:

unaccountably stopped at System Y, despite the fact that there was no combat, or

unaccountably absent from the battle at System X, despite the fact that it was able to reach it that turn.

Neither option is acceptable in any way, as both represent game design flaws which could potentially lead to confusion or abuse. If we replace Ship B with Fleet B, which was planning on attacking System X that turn, the problem becomes even more apparent, and the player controlling Fleet B is left frustrated at his fleet’s apparent lack of ability to get to their commanded destination and engage in combat as ordered.

The Solution

In a game where fleets can potentially pass by multiple systems on the same turn, there is a clear need to subdivide the turn into discrete quanta, hereby Battle Quanta, which represent the smallest units of time a ship can be said to have spent in combat.

General

A rough estimate for reasonable default parameters in multiplayer would be 10 Battle Quanta per turn at approximately 1 minute of combat (12 - 20 combat turns) each, with each player permitted to take part actively in a single combat per Battle Quantum. Assuming about a third of the total combat time will be spent giving orders between combats or combat turns, that allows a reasonable maximum of 15 minutes of combat per turn for a multiplayer game, though most turns will have far less combat than this.

Note that The Problem arose from the fleet’s ability to traverse between one system and the next in less than the minimum amount of time a battle can be said to have taken. In order for Battle Quanta to function as desired, it is mandatory that no fleet can traverse a starlane, wormhole or stargate in less than 1 Battle Quantum. This means that no fleet which participated in combat in Battle Quantum 1 could possibly participate in a combat in a different system in Battle Quanta 1 or 2.

For example, let us suppose Player 3‘s Ship D is en route to System Z via System W. These two systems are connected either by a wormhole, or a stargate owned by the empire or an ally of Player 3. In terms of the ship’s speed and the distance remaining between it and System W, it arrives about halfway through Battle Quantum 8. This means that it will appear in combat at the beginning of Battle Quantum 8. If it is able to leave combat during Battle Quantum 8, then it will continue on, having been delayed 1 Battle Quantum. This means its journey continues halfway through Battle Quantum 9. If it goes through the Stargate to System Z, it will arrive halfway through Battle Quantum 10, allowing to take part in that combat starting at the beginning of Battle Quantum 10.

The reason for the minimum amount of time that can be spent at a stargate or wormhole is that if stargates permitted instantaneous travel, it would be possible to create an arbitrarily long chain of stargates, and have a fleet pass through an arbitrarily large number of systems on the same turn, leading to really convoluted variations of The Problem. The natural consequence of this solution is that a ship cannot fight battles in different systems in consecutive Battle Quanta.

Player Decisions

Before each Battle Quantum, the player must decide which battles he will control, and which battles he will leave to the AI, and he must issue combat directives to the AI regarding combats which he will not be controlling.

At the end of a Battle Quantum, combat will be paused while players return to the combat scheduler to give orders for the next Battle Quantum. If desired, the player can instruct the AI to continue a combat of which he was previously in control. The player gains knowledge of any reinforcements arriving at relevant locations, provided they are legitimately visible to his empire, so that he can make intelligent decisions regarding his orders for the next Battle Quantum. In terms of visibility of enemy fleets, there is no distinction between the first Battle Quantum and any other; between each Battle Quantum, the player will gain visibility of enemy fleets according the the rules of detection for the galaxy map, even if such fleets are not immediately visible in combat. This avoids abuse where a player could order a stealthy fleet to add surprise reinforcements in the second Battle Quantum when they would otherwise have been made known to the player before the first Battle Quantum.

Variations

This system is open to certain variations which may or may not be feasible or desirable, but should perhaps be considered.

Battle Entry

One could argue that instead of having ships enter combat at the beginning of the Battle Quantum in which they arrive, they should enter combat at the beginning of the following Battle Quantum. The difference is largely superficial, and in fact, the question is simply whether or not the last Battle Quantum of a turn should become the first Battle Quantum of the next turn. The primary distinction is that if the ships enter combat at the beginning of the Battle Quanta following that in which they enter the system, then ships which enter a system during the last Battle Quantum would have to wait until next turn before engaging in combat, and combats occurring in the first Battle Quantum would involve only combat assets which were present at the start of the turn. I do not believe that this is the most intuitive solution, since a player would expect to be able to participate in combat on the turn in which he arrives in the system.

Order of Resolution

If there is some way to determine that the outcome of a battle could not possibly affect the initial conditions of another battle occurring in a later Battle Quantum, it would be possible to conduct such combats simultaneously. This is of dubious feasibility, but high desirability, since it is a known disadvantage of this system that a player may have to wait several minutes while unrelated battles are occurring on the other side of the galaxy, simply because his combat falls in a later Battle Quantum.


Justification

This is not an attempt to transform FO from a turn-based game into a “lots-of-little-discrete-time-quanta-per-turn-based game”. This is a necessary feature of the combat system which will allow combat to proceed as smoothly and logically as possible. If this system seems overly complex, as it may to some, remember that any combat system must solve The Problem in its entirety in order to be considered valid.