Design: Battle Math

Past public reviews and discussions.
Message
Author
User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Design: Battle Math

#1 Post by Geoff the Medio »

This long overdue thread is to discuss how battle math will work. In particular, how do ships take and keep track of damage, what determines how powerful a weapon is and how much damage it can do, what do shields and armour do for ships, etc.

There is a relevant thread here: viewtopic.php?f=6&t=2128

I had several hours with nothing but pen and paper today, and after some lengthy brainstorming of an interesting but complicated system for damage tracking, I came to the conclusion that anything more than two or three numbers to keep track of ship status or damage is too complicated for v0.4. However there should still be some effect on ship systems before the seemingly perfect condition ship explodes when the last fraction of a hit point gets taken off. So, I propose the following:

Ships have two meters that track their damage-related status: Health and Shields.

The health meter is the ship equivalent of what health is for living things. Damage to the ship reduces health. If a ship is damaged, the power of its weapons is decreased in proportion to the amount of lost health. So, if a ship is at 50% health, its weapons do 50% of full damage potential per turn. There are no other combat effects of damage before a ship is destroyed.

The shield meter preferentialy absorbs damage before health. If a ship has a shield meter greater than 0, damage is applied to the shields first, and the remainder, if any, is then applied to health.

Special ship parts are required for a ship to have a max shield meter greater than 0. These will generally be called "Shields" of some sort.

All ship hulls have a base health amount, and adding parts can add more health to a ship. Adding armour to a ship increases its health significantly, making the same amount of damage to the ship do a smaller fractional reduction in attack power, and making the ship take more damage before being destroyed.

Weapons have a rating in damage per turn, or damage per shot (to be determined from implemenation). Every weapon that fires at an object that it can target (can be seen and is in range of the weapon) hits the target. In the case of missiles, they have to be in (effectively) direct contact to qualify as hitting. Beam weapons can hit from further away. Fighters may be equipped with beams or (perhaps) missiles, but don't attack directly themselves (unlike a missile).

Comments, thoughts, objections, etc.?

User avatar
Tortanick
Creative Contributor
Posts: 576
Joined: Sat May 26, 2007 8:05 pm

Re: Design: Battle Math

#2 Post by Tortanick »

Couple of thoughts:

Why in particular did you go for percentages rather than the red/yellow/green efficiency I proposed? Its very similar but lacks the at a glance overview you get when ships are nicely colour coded for you.

Also it might be explotible if weapons are the only thing that looses efficiency, you get ships with alternative roles (say radar ships, or transports) to soak up the damage, then fall back with 10% health but still operate at full capacity. However that might be a strategy rather than an exploit, it certainly would be if you have shield ships with nothing but point defence, shields and armour.

User avatar
pd
Graphics Lead Emeritus
Posts: 1924
Joined: Mon Mar 08, 2004 6:17 pm
Location: 52°16'N 10°31'E

Re: Design: Battle Math

#3 Post by pd »

Tortanick wrote: Why in particular did you go for percentages rather than the red/yellow/green efficiency I proposed? Its very similar but lacks the at a glance overview you get when ships are nicely colour coded for you.
This is not about how damage/health is presented to the user - it's about the underlying math.

Geoff, could your perhaps elaborate a bit on why ship health is tied to weapon efficiency? I understand the motivation behind it, but I'm not sure whether damaged ships should always be less efficient regarding fire power. Would this mean a nearly destroyed ship, still has the ability to shoot, but will just do something like 5 percent of it's potential damage to others?

User avatar
Tortanick
Creative Contributor
Posts: 576
Joined: Sat May 26, 2007 8:05 pm

Re: Design: Battle Math

#4 Post by Tortanick »

I was talking about the underlying math, the red/yellow/green system is in the thread geoff linked too, the diffrence is that rather than having anything proportional to overall health you have arbitrary cut-off points at the same time as the hp bar switches colour so you can see at a glace how your ships are doing.

Also another thought occured, why do we have internal and external slots if only weapons are affected? surely all weapons are going to be in external slots?

User avatar
OndrejR
Space Dragon
Posts: 339
Joined: Thu Oct 02, 2008 11:00 pm
Location: Slovakia

Re: Design: Battle Math

#5 Post by OndrejR »

Maybe targeting subsystems could be implemented later. But what about kamikaze fighters or ships?

User avatar
IConrad
Space Kraken
Posts: 163
Joined: Mon Nov 10, 2008 5:55 pm

Re: Design: Battle Math

#6 Post by IConrad »

If I may, I would like to add that I don't like the idea of an arbitrary percentage efficiency meter.

Although the game isn't borrowing too heavily from MoOII, I recall that the implementation used there made complete sense to me.

Shields/Armor/Structure. Shields and Armor could be pounded all day long with no adverse effects to how the ship itself operated. But once you started getting into structural damage, the damage points got assigned randomly to the overall spread of structural points. And each weapon or subsystem had its own unique number of structural points -- though the vast majority of the points were actual hull-structure.

Unless the engine or hull were completely demolished, the ship would still be "in fighting condition". If the engine were demolished, the ship would explode, doing damage to any other ships within the radius. If the hull were demolished, the ship would simply crumble. This seems as though it would be a preferable implementation to what y'all are discussing. It also allows for scalability in how the system is going to be handled -- in early games, when a player is monitoring each ship individually, he can see which subsystems a ship still has and how intact they are. In later games, while the information is still there, it will matter less individually and thus not be displayed -- as fleets get larger.

One thing that occurs to me is that if we //are// going to use such a system, the player might want to have some sort of 'performance filter' using the red/yellow/green/unfiltered display set-up. That is, "which ships still have all their weapons?" or "which ships have all of their engine strength remaining?" (or even "which ships still have ammunition?") -- you click on a radio button in a drop-down and your ships get overlaid with a color that shows how they are in that (possibly grouping of) category(/ies), or have little icons placed next to them. This would then let the player make tactical decisions about which fleets to rely on the most based on the levels of damage overall each fleet has -- and because it's a quick visual render, the player needn't spend countless minutes drilling down each individual vessel to count what they have.

I don't know how process heavy or coding-heavy that might be; it might be a nightmare. But I -- personally -- feel it would be a significantly enriching element to gameplay. Of course, I also understand that it would make the AI for combat just a /tad/ more complicated (as it would have to have optimization strategies for damage ratings). I suppose you could account for that by "letting the AI cheat" based on the difficulty rating; add a certain percentage of ship regeneration based on the difficulty settings of the game, and let it be done with. (The Civ series uses a similar 'strategy' by giving higher difficulty AI's blanket combat % bonuses.)

Just this newcomer's two cents. (And once again a thank you to you all for having this around so I can stay sane while feeling the burn of deadlines at my day job! :) )

User avatar
eleazar
Design & Graphics Lead Emeritus
Posts: 3858
Joined: Sat Sep 23, 2006 7:09 pm
Location: USA — midwest

Re: Design: Battle Math

#7 Post by eleazar »

Geoff the Medio wrote:I came to the conclusion that anything more than two or three numbers to keep track of ship status or damage is too complicated for v0.4.
I strongly agree— primarily because otherwise the GUI becomes overcomplex.
Geoff the Medio wrote:However there should still be some effect on ship systems before the seemingly perfect condition ship explodes when the last fraction of a hit point gets taken off.
I agree.
Geoff the Medio wrote:Ships have two meters that track their damage-related status: Health and Shields.
I hope we can find a better term than the biological-implying "health", but for purposes of discussion it works.
Geoff the Medio wrote:If a ship is damaged, the power of its weapons is decreased in proportion to the amount of lost health. So, if a ship is at 50% health, its weapons do 50% of full damage potential per turn. There are no other combat effects of damage before a ship is destroyed.
This is the part that concerns me. It's certainly simple and clear, but i wonder if there's a way to bring in more nuance without adding much complexity. It also seems odd that only weapons are effected, and not for instance the ship's speed. I'd at least like to hear more of the reasoning.

Geoff the Medio wrote:In the case of missiles, they have to be in (effectively) direct contact to qualify as hitting. Beam weapons can hit from further away.
Is this an intentional departure from the v.4 design pad SR/PD/LR system? LR weapons in a couple places are described as "missiles". IMHO it is easier to intuit that a energy weapon would dissipate over a short distance, than that a missile would stop functioning.

Sections that i didn't quote, i have no problem with.

IConrad wrote:Although the game isn't borrowing too heavily from MoOII, I recall that the implementation used there made complete sense to me.

Shields/Armor/Structure. Shields and Armor could be pounded all day long with no adverse effects to how the ship itself operated. But once you started getting into structural damage, the damage points got assigned randomly to the overall spread of structural points. And each weapon or subsystem had its own unique number of structural points -- though the vast majority of the points were actual hull-structure.
You gotta realize FO combat is very different from MoOII in two important areas
1) There are often more ships
2) It's not pure turn-based, but a hybrid system described here

It is simply not practical to have nearly the same level of detail that MoO2 had.
We are going for short generally 4-5 min battles, while trying to keep them as tactically rich as possible. We don't want to create a game that very few people will have the time to play.

User avatar
Tortanick
Creative Contributor
Posts: 576
Joined: Sat May 26, 2007 8:05 pm

Re: Design: Battle Math

#8 Post by Tortanick »

eleazar wrote:I hope we can find a better term than the biological-implying "health", but for purposes of discussion it works.
Structural Integrity sound ok to everyone? I quite like the idea that we use health for biological ships and space monsters.

User avatar
Krikkitone
Creative Contributor
Posts: 1559
Joined: Sat Sep 13, 2003 6:52 pm

Re: Design: Battle Math

#9 Post by Krikkitone »

Sounds good for a 0.4 draft

Hopefully we'll have a point where individual components of the ship are damaged seperately, but until then Health-> weapon damage per shot works fine (it could also go to engine speed)

other issues: do shields recharge in combat? I'd presume so






as for missiles... I do think that the LR weapon systems of missiles did have the idea of impacting target, or at least getting very close to it, to do damage. Which is why PD>LR, because the PD can destroy the LR weapon delivery systems ie missiles/fighters.

and SR>PD, because SR does more damage and has a longer range than PD, PD has a longer range than the LR weapon systems themselves do.... but the LR weapon systems are launched at a range greater than the SR range (and the LR weapons sytems are too hard to hit for SR weapon systems.) [hence LR>SR]

I think that needs to be a limitation... SR weapons either
1. Can't fire at Fighters/Missiles
2. fire at a Very slow rate, and LR weapon systems (fighters+missiles) are launched in very large numbers and have low hp (PD weapons fire much faster for less damage)

#2 I prefer since its not a 'special rule' You can then equip a ship with a
LR weapon system, launches a large number of Fighters/missiles, that have very low hp, but can do a lot of damage if they successfully attack.
PD weapon system, has very high firing rate but low damage per shot
SR weapon system, has better range and better damage rate/size than PD, but much slower firing rate

[as well as Armor, Engine+Shield systems]

ie at a given 'tech level'
std fighter/missile has 1-3 hp
missiles do 10-30 damage and are launched 1/5 sec, Launch Range=30 [attack range=0] speed=1/sec [10 per weapon system]
fighters do 0.5-1.5 damage per shot and fire 1/sec, Launch Range=30 [attack range=1] speed=1/sec [5 per weapon system, all launched simultaneously]
standard SR weapon system does 30-100 damage per shot and fires 1/30 sec, Range=10
standard PD weapon system does 0.5-1.5 damage per shot and fires 1/2 sec, Range=5
weapon system has 50-150 hp when in a ship hull

ship speed ~1/2 sec to 1/4 sec

"sec" and "ranges" are in totally arbitrary self-referential measurements [as are damage and hp]

I'd stick with Fighters being 'beam based' for now, in the sense that the Fighter's weapon systems should have a very low range and not be interceptable. ie Fighter= reusable missile.

User avatar
General_Zaber
Space Kraken
Posts: 130
Joined: Wed Jan 09, 2008 6:43 am
Location: Iserlohn Fortress

Re: Design: Battle Math

#10 Post by General_Zaber »

Structural Integrity, I like it. For ease of reference we can call it SI (although you're right too eleazar, health is fine for discussion)

One thing that would be a little tedious is to know where on the SI bar your ship's components start to take damage. Perhaps the SI bar could be in different colors. Say shields have a blue meter, then the SI meter could be white on the left side, representing armor. And the right side could be green, representing the ships components. Nothing happens when the armor decreases, but the green components part goes to yellow and then red as the ship's components take damage and its speed, damage, shields etc all lose efficiency.

With this system you have the difference between armor and structure while still only using two meters. In practice the white part would vary depending how much of the ships SI is composed of armor points and how much of it is the SI of its hull and parts. So this way a heavily protected Battleship would have a largely white SI bar whereas a converted freighter would have a mostly green bar which would turn yellow soon after the ship started to take damage.
The enemy is retreating! As always, there is no cuteness about them. Dammit

User avatar
IConrad
Space Kraken
Posts: 163
Joined: Mon Nov 10, 2008 5:55 pm

Re: Design: Battle Math

#11 Post by IConrad »

Stealing a moment here:

Re: keeping combats short --

That was precisely why I addressed the idea of using filters to show general overview of fleets, as opposed to having to drill down to each ship manually.

I.e.; is there any reason we can't have our cake and eat it too? Make the /math/ complex but the reporting simple?

Ease of play and simplicity in computation aren't /exact/ analogues, after all. :)

User avatar
Krikkitone
Creative Contributor
Posts: 1559
Joined: Sat Sep 13, 2003 6:52 pm

Re: Design: Battle Math

#12 Post by Krikkitone »

The problem with complex math that is summarized for the player is that it makes good strategic play more complicated.

User avatar
eleazar
Design & Graphics Lead Emeritus
Posts: 3858
Joined: Sat Sep 23, 2006 7:09 pm
Location: USA — midwest

Re: Design: Battle Math

#13 Post by eleazar »

Tortanick wrote:Structural Integrity sound ok to everyone?
No, too clumsy and technobabel-ish. If there's nothing better, there's the universally understood "hit points".

However, for visually reasons, i recommend having a 'damage meter'. In other words, a ship in perfect repair has a damage meter of 0. The bar does not need to be shown. Then as the ship is hit, the "damage meter" appears, drawing more attention as in increases towards 100% and destruction. It's easier to pick out the ships near destruction by the nearly full red meters than by the lack of full green meters.

Of course this isn't relevant to the underlying math, it's trivial to display it either way. But it is relevant to what you call it.

General_Zaber wrote:One thing that would be a little tedious is to know where on the SI bar your ship's components start to take damage....
It sounds like you didn't read the first post of this thread.

IConrad wrote:I.e.; is there any reason we can't have our cake and eat it too? Make the /math/ complex but the reporting simple?

Ease of play and simplicity in computation aren't /exact/ analogues, after all. :)
No, they aren't analogs, but there's a strong correlation.

We are leaning strongly towards the "game" side of the continuum, not the "simulation" side. It's contrary to this approach to make a complex damage model, and then hide it behind a simpler model which is reported to the player. Obviously the player doesn't need to know the exact formula, but if the player isn't expected to know or care about something, then it probably shouldn't be in the game.

User avatar
General_Zaber
Space Kraken
Posts: 130
Joined: Wed Jan 09, 2008 6:43 am
Location: Iserlohn Fortress

Re: Design: Battle Math

#14 Post by General_Zaber »

eleazar wrote:It sounds like you didn't read the first post of this thread.
No I did, I was refering to the later posts on the older thread.

I must object to your damage bar idea unfortunately, more people would relate faster with a traditional -damage=smaller bar- system, it seems a little more conventional, and the bars should be toggle-able anyway (eventually of course).

Perhaps then instead of my previous idea, each ship could have just the one HP bar (Although Structural Integrity sounds much more sofisticated). The bar could glow white or blue while the shields are still active, when disabled it would change to a dull green, and then fade to yellow and then red when taking damage. When the shields regenerate, the bar would begin to glow again.
The enemy is retreating! As always, there is no cuteness about them. Dammit

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Design: Battle Math

#15 Post by Geoff the Medio »

I don't object to the GUI showing a colour-coded indicator based on thresholds of health / integrity / damage. This can be a separate indicator, or incorporated into a health number or bar by colour-coding.

I don't want to have thresholds that actually determine how various ship parts work. If we do this, we'll have to define those thresholds, and likely different sets of effects or power / range etc. numbers that work at different damage levels... (My complicated systems thoughts included having three or four sets of effects for each part that determined how parts worked as the ship (or just the part) was damaged in steps.)

However, it will be much simpler only have to evaluate any factors (effects or otherwise) once, at the start of battle, rather than re-evaluating anything that could affect how parts or a ship functions during the battle. If we just reduce weapon power (or equivalent) proportional to the health / integrity of the ship, then we don't need to reevaluate anything complicated during battle; it's just a multiplication and division to get the damage-adjusted power of each weapon.

Defining various threshold-related effects also likely requires writing a lot more in ship part definitions, and means writing the code to interpret those definitions and store the information and dole it out in various situations. I'd rather not have to do all this.

Adjusting in-battle ship speed by health / integrity / damage is fine; I hadn't though of it. Reducing stealth and detection ability would also make sense.

Perhaps indirect fire weapons, including missiles and fighters, shouldn't be reduced in attack power by damage to their ship. Damage could instead reduce some other aspect of those weapons, such as firing / launch rate, or have no effect in some cases.

Re: a damage meter: I have to agree that a health / integrity meter (100 when fully functional) is better than a damage meter, if only just due to established practice.

For v0.4, shields probably won't recharge during combat. I don't see a need.
eleazar wrote:
In the case of missiles, they have to be in (effectively) direct contact to qualify as hitting. Beam weapons can hit from further away.
Is this an intentional departure from the v.4 design pad SR/PD/LR system?
No.
LR weapons in a couple places are described as "missiles". IMHO it is easier to intuit that a energy weapon would dissipate over a short distance, than that a missile would stop functioning.
This was dropping some implementation into a design discussion. I was talking about a missile detonating; it would have be right next to a target. This is a separate issue from how far a missile can fly from the ship that launches it. I suppose the range of a missile could depend on the launching ship being damaged, but I don't think it should... mainly to keep the UI simple for showing the range of a ship using missiles. I don't want to discuss details of missile range and targetting in this thread, though.
pd wrote:Would this mean a nearly destroyed ship, still has the ability to shoot, but will just do something like 5 percent of it's potential damage to others?
Yes.

Locked