A small tweak to combat mehanics that would change a lot

What would you like to see in Freeciv? Do you have a good idea what should be improved or how?
User avatar
Corbeau
Elite
Posts: 1293
Joined: Mon Jan 13, 2014 11:13 pm

A small tweak to combat mehanics that would change a lot

Post by Corbeau »

With the present mechanics, when combat occurs, attack/defence numbers of units are compared, a dice is rolled, whoever wins, inflicts damage on the opponent, repeat until one dies.

Proposal: change the "repeat until one dies" part.

In other words, give a reasonable chance for a unit to survive combat even if it is defeated and suffered heavy losses. Additional option: if the defeat is really, really heavy, it makes a "forced retreat" or simply runs away one tile in the direction opposite of the attacker, if possible.

Explanation:
Basically, the current mechanics is a relict from really old times when computers were less powerful and it was difficult to add more properties to units, such as "current strength" and hitpoints. This can be seen from the fact that very few games today that include combat - if any, at least among the more complex ones - have the property that in any combat event one unit ALWAYS must die. It creates a situation where there is very little continuity and in some cases wars turn into "flood contests": whoever gets more units out of his cities wins. (Also there is the issue of binary luck: a unit either wins or dies and an unfavourable dice roll ALWAYS hurts you very much.) As it is now, every unit fights for itself because, after combat, either the opponent is dead or the unit itself is dead.

Very little war strategy in all that. Some, but very little.

Implementing this would create more thought-through campaigns, would involve more strategic thinking and make good use of terrain critical (always must have access to the rear to withdraw your damaged units). It would also make wars more persistent, not just sporadic bursts of violence placed between long periods of production and preparation.

Not to mention that this would be much, much more realistic.

Less unit destruction would also create more units in the field, again, more fun for the strategically inclined and also more possibilities for outmanoeuvring your opponent. As it is now, frontal steamrolling is the only available option; with this change, concentration of forces would suddenly mean much more, turning wars into really complex events.

Also, sieges would become more viable; as it is now, you simply have to sacrifice more units to conquer a city; with this change, it would take more time, but inflict less losses on the attacker's side, again, making the whole thing more realistic.

So, the main issue here would be: how long should the combat take?

For starters, there should always be a chance that a unit dies. So, the base number of combat rounds should definitely be at least 10. Everything else is negotiable. The following are proposals and can be analysed and discussed. So, the length of combat should depend on:
- defending terrain; obviously, a unit in a swamp or in the mountain should have more chance of evading combat and surviving - even if defeated - than the one in grassland or in the plane
- damage to the attacker; in reality, very rarely, if ever, is the attacking unit completely annihilated (unless they have a very stupid commander); I'd say that the probability of the attack continuing should depend on the hit points of the attacking unit (plus a small modifier to make it possible, albeit unlikely, that the attacker *is* destroyed from time to time)
- difference between attacker and defender speeds; a defending cavalry should have a better chance of running away from attacking infantry than the other way round
- experience; veteran units should be more able to continue the assault if it suits them and disengage if it doesn't

A lot to be discussed here. Maybe even modify default attack and defence values, together with the amount of hit points and firepower.

What could be discussed is also creating three types of attack: probe, standard and "at all costs" (or even five, or simply introduce a percentage of "dedication" to the attack). However, while I presume that the original proposal would require a lot of analysis, but only a small tweak in the code, adding different types of attack would probably require a major rewrite, including additions to the interface.

Post update with a variant that came to mind later on, simplifying the whole thing (copied from one of the later posts): when a unit attacks, create a pop-up (like when a Diplomat is entering a city). Options are: 1. Attack, 2.Disengage. If "Attack" is chosen, unit attacks for one round. If "Disengage" is chosen, attack is stopped, pop-up is gone and unit loses one movement point. End of story. (Maybe create additional options in the pop-up, like "Attack for 5 rounds" or "Attack for 10 rounds", to avoid excessive clicking. Or enter the number of rounds...)

(Additional option 1: maybe create an opportunity for faster units to automatically disengage (run away, retreat) when they are attacked. For example, if Archers attack Horsemen, when Horsemen are down to 1, 2 or 3 HPs, they retreat in the direction opposite to where the attack came from, if possible. Entering enemy ZOC bans retreat, fortified units don't retreat. Additional option 2: make it possible for slower units to retreat, too, under slightly more strict conditions.)
Last edited by Corbeau on Mon Sep 29, 2014 1:52 pm, edited 2 times in total.
--
* Freeciv LongTurn, a community of one-turn-per-day players and developers
* LongTurn Blog - information nexus with stuff and stuff and stuff
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
sveinung
Elite
Posts: 548
Joined: Wed Feb 20, 2013 4:50 pm

Re: A small tweak to combat mehanics that would change a lot

Post by sveinung »

Corbeau wrote:Basically, the current mechanics is a relict from really old times when computers were less powerful and it was difficult to add more properties to units, such as "current strength" and hitpoints.
Not arguing for or against moving this rule to the ruleset but the current rule is also a game design choice: It makes the game less about tactic and more about strategy.
User avatar
Corbeau
Elite
Posts: 1293
Joined: Mon Jan 13, 2014 11:13 pm

Re: A small tweak to combat mehanics that would change a lot

Post by Corbeau »

Why not both?

Also, taking emphasis on the "big picture" (strategy) makes it harder to have turning points. Once someone is on top, the less options there are, the more difficult it is to overthrow him. Increasing options gives more paths to victory, gives more choices. I believe that is always a good thing.
--
* Freeciv LongTurn, a community of one-turn-per-day players and developers
* LongTurn Blog - information nexus with stuff and stuff and stuff
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
User avatar
Corbeau
Elite
Posts: 1293
Joined: Mon Jan 13, 2014 11:13 pm

Re: A small tweak to combat mehanics that would change a lot

Post by Corbeau »

sveinung wrote:the current rule is also a game design choice
Wait, which "game design" are you talking about? FreeCiv or Civ 1? Because I highly doubt that this was a choice. For Civ 1 it was simply convenience and for all others tradition. So, yeah, this proposal is taking a significant step away from the established path. The only question is are people willing to make it.
--
* Freeciv LongTurn, a community of one-turn-per-day players and developers
* LongTurn Blog - information nexus with stuff and stuff and stuff
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
cazfi
Elite
Posts: 3104
Joined: Tue Jan 29, 2013 6:54 pm

Re: A small tweak to combat mehanics that would change a lot

Post by cazfi »

While things like retreat are something I have long considered supporting, name of the game that started the genre was not "Tiny Detail" ;-)

I'm not for making combat overly represented in the orientation to details while economy, research, population growth, international politics etc etc models are extremely simplified.
User avatar
Corbeau
Elite
Posts: 1293
Joined: Mon Jan 13, 2014 11:13 pm

Re: A small tweak to combat mehanics that would change a lot

Post by Corbeau »

So you want to take Combat as a hostage until economy and everything else is upgraded first? :P

What I propose is, technically, a very minor tweak rule-wise. It would have large consequences on how combat is planned and executed, though.

Also, I just thought of a variant that would drastically decrease needed analysis and discussion about how exactly to implement this. My original proposal presumed that the computer had to decide when to stop the attack. However, why not simply let the attacking player decide?

In other words, as it is now, combat is performed in rounds. Rounds go on until one of the opponents is dead.

Instead, when a unit attacks, create a pop-up (like when a Diplomat is entering a city). Options are: 1. Attack, 2.Disengage. If "Attack" is chosen, unit attacks for one round. If "Disengage" is chosen, attack is stopped, pop-up is gone and unit loses one movement point. End of story. (Maybe create additional options in the pop-up, like "Attack for 5 rounds" or "Attack for 10 rounds", to avoid excessive clicking. Or enter the number of rounds...)

(Additional option 1: maybe create an opportunity for faster units to automatically disengage (run away, retreat) when they are attacked. For example, if Archers attack Horsemen, when Horsemen are down to 1, 2 or 3 HPs, they retreat in the direction opposite to where the attack came from, if possible. Entering enemy ZOC bans retreat, fortified units don't retreat. Additional option 2: make it possible for slower units to retreat, too, under slightly more strict conditions.)
--
* Freeciv LongTurn, a community of one-turn-per-day players and developers
* LongTurn Blog - information nexus with stuff and stuff and stuff
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
ciarson
Posts: 3
Joined: Mon Sep 22, 2014 8:08 am

Re: A small tweak to combat mehanics that would change a lot

Post by ciarson »

i totally agree to the fact that unit should be able to retreat but everything should then be reconsidered.

in the game we already have the option to set a %age of chance that a unit advance if it win an encounter and there is no more enemy unit on the attacked tile.

However, there is no option to decide if it is wise or not to do so. It would be better if the "advance" (and therefore the possible "retreat") be based on the remaining health of the unit.

something like this:

if remaining health is higher than 50%, units would be able to advance on attacked tile if condition are met. (allowing other unit to follow it later, ignoring the area of control of the enemy)
if remaining health is lower than 25%, units could consider retreating, unless they are in a city or forteress .


then making the units attack once in a turn (and not continually until one of the contestant is dead) would make retreating possible, however that would cause a problem in cities.

indeed, cities would became even more harder (if not nearly impossible)to capture as you would need far more troop to defeat a single defending unit and even more if the city got a wall and/or a barrack.
unless we tweak the "health system" as well and make the barrack less efficient. Since it would not be a "win or die" scenario anymore, the barrack restoring inactive unit to 100% health would be overpowered.

then it could look like this:

- unit would gain 1 health per turn.
- inactive unit would gain 2 health per turn.
- cities and forteress would double the health gained. (+2 for active unit and +4 for inactive unit)
- barracks would give some additionnal health(+2,+4,+6) depending on the level, as higher level barrack would be more adapted to train more advanced unit. (making cities more attractive than forteress)

- as advanced unit are harder to train, it is logical that they should take some longer time to get to full health, but with some "logistic" tech it could be possible that the value stated earlier could be increased with some fixed value. (like the " united nation" wonder is already doing, adding a +1 health point to each unit.)
- it is also possible that highly advanced unit (late game unit like stealth bomber, stealth fighter,...) would lose health each turn (like the helicopter does) if not in cities, forteress or military base.


however, with all those changes, it would obviously not be a small tweak like the title of the topic suggest but more of a" lot of change to add a few feature".
i only tried to see all the change that such features ("retreating unit" and "once per turn attack") would generate and all the element that would need to be changed in order to keep the game balanced.

OFF TOPIC start here, it's just an idea to go beyond the topic suggestion.

my idea is about making the battle a 2 level game.

- the first level would be the strategical level where you build your empire and raise your army. (each city contributing by training some 100 men regiment, that we shall call unit later on.)
- the second level would be the tactical level (and would more likely be automated) where you build an army and make it attack another one on a generated map of the same type than the attacked tile (a map with some pack of swamp tiles here and there if the attacked tile is a swamp. swamp reducing movement, forest and jungle reducing view range,... ).

it would allow player having fewer unit or unit of lower level than their adversary to hold their ground if they got a good tactical positionning. like protecting their ranged unit as long as possible, flanking with cavalry to attack the ranged unit, using swamp to protect artilery from a cavalry charge,...)

the army size (the number of unit in an army) could be based on the number of military tech you know, making army really small at the start of the game but increasing the difficulty as the game evolve (as it would be more and more easier to pull off special tactics for offense or defense.)
User avatar
Corbeau
Elite
Posts: 1293
Joined: Mon Jan 13, 2014 11:13 pm

Re: A small tweak to combat mehanics that would change a lot

Post by Corbeau »

No, it's shouldn't be a very complicated upgrade. According to my knowledge of programming, the basic change I propose would require one additional IF loop or even just changing the current one: simply, do not attack until one unit is dead, but instead, until a condition is met.

The difficult part would be deciding what that condition should be. However, my update to the proposal even makes this problem non-existant: simply, attack for as long as the attacking player wants to. Ok, that one would, technically, require adding interface for the player to continue or stop the attack.

It is also possible that my programming experience doesn't work when it comes to this particular area.

Adding the option to retreat, however, might require some more work, both programming-wise *and* deciding what should be the conditions for such a retreat.

As for everything else:
ciarson wrote:that would cause a problem in cities.

indeed, cities would became even more harder (if not nearly impossible)to capture as you would need far more troop to defeat a single defending unit and even more if the city got a wall and/or a barrack.
It depends what you have in mind. If it is allowed for the player to say when the attack stops, it would be as difficult to conquer a city as before, only the attacker would be able to decrease his own losses. Simply, if a catapult attacks a walled phalanx, what may happen is that catapult loses 90% hp while the phalanx loses 30%. Under the proposed changes, the attacker - aware that the phalanx is not going to die - can simply stop the attack. The result: the city isn't conquered (as it wouldn't have been even without the changes), but the attacker still has his unit for further use, but has to withdraw it to rest and repair.

What I see here is actually benefit for the city attacker: if he can pile up 3-4 catapults, each of them can attack as much as possible without being destroyed, and all together actually killing off the defending unit without any of them actually being killed.

----------------

Slightly unrelated to the original post, but related to the overall topic, another proposition:
Long-range units (Catapult, Cannon, Artillery, Howitzer) do not get damage when attacking a unit. It would make it more realistic and give them a slightly different role, especially in conjunction with the original suggestion. Naturally, this would have to be reflected in increase of their price.
--
* Freeciv LongTurn, a community of one-turn-per-day players and developers
* LongTurn Blog - information nexus with stuff and stuff and stuff
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
User avatar
Corbeau
Elite
Posts: 1293
Joined: Mon Jan 13, 2014 11:13 pm

Re: A small tweak to combat mehanics that would change a lot

Post by Corbeau »

Also, another point to reply to a few remarks made here: at this moment, combat in Civilization is a game of dice. This would turn it more to the strategy side.

Of course, if you like playing dice, you won't like it. However, the dice element isn't lost completely, only decreased.
--
* Freeciv LongTurn, a community of one-turn-per-day players and developers
* LongTurn Blog - information nexus with stuff and stuff and stuff
* Longturn Discord server; real-time chatting, discussing, quarrelling, trolling, gaslighting...
User avatar
GriffonSpade
Elite
Posts: 578
Joined: Mon Apr 29, 2013 4:41 pm

Re: A small tweak to combat mehanics that would change a lot

Post by GriffonSpade »

1) Units can counterattack artillery, so long as they have no defenders, fairly easily in real life.
2) You can create unit flags and give them appropriate bonuses or penalties based on range.
3) You actually CAN make it so that units can simply deal out damage and not get counterattacked via I think the "bombard' flag. However, they are unable to kill the unit's last hitpoint. I'm not entirely sure why that is so, or is unalterable.
4) Retreat isn't really possible if your unit is exhausted or the attackers have superior movement. They'll just hunt you down and exterminate you anyway. Put into coding, it'd probably be complicated.
Post Reply