Changing how armour upgrades work

The place to discuss balance changes for future versions of the game.
(Master releases & 3.X)

Re: Changing how armour upgrades work

Postby stiv » 05 Dec 2015, 21:54

In the Warzone ecosystem, the only way code gets thoroughly tested is in a release version.

This might change balance, but it is the way we want the code to work. As said above, we need data.

If we have messed it up, we can fix it. Release early. Release often.
stiv
Warzone 2100 Team Member
Warzone 2100 Team Member
 
Posts: 876
Joined: 18 Jul 2008, 04:41
Location: 45N 86W

Re: Changing how armour upgrades work

Postby Iluvalar » 14 Jan 2016, 00:16

crab_ wrote:
Terminator wrote:I would say - apply this patch to up coming 3.1.3.

Agreed.

So master relise will be far away from current balance adjustment. It will be fully chaotic.

Master is unbalanceable as is. Not just 'far away'. We cannot viably balance via damage because of the armor system. The only design lever were the rate of fire and the accuracy. And accuracy is gone in master, so expect the heavy cannon and the twin assault gun to have the same rate of fire in master once it is balanced.
Heretic 2.3 improver and proud of it.
User avatar
Iluvalar
Regular
Regular
 
Posts: 1782
Joined: 02 Oct 2010, 18:44

Re: Changing how armour upgrades work

Postby Rommel » 18 Jan 2016, 01:04

So let me get this straight, tank armour and cyborg armour upgrades are not applied automatically to existing units? Do you need to recycle and remake to take advantage of armour upgrades?
Moving back instead of forward
Seems to me absurd
~
Metallica - Eye of the beholder
User avatar
Rommel
Trained
Trained
 
Posts: 443
Joined: 03 Nov 2012, 19:44

Re: Changing how armour upgrades work

Postby Per » 18 Jan 2016, 08:30

Rommel wrote:So let me get this straight, tank armour and cyborg armour upgrades are not applied automatically to existing units? Do you need to recycle and remake to take advantage of armour upgrades?

Yes. From a quick look at some older code, it seems this is how it has always been, but maybe some old timers can chime in and verify.
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
 
Posts: 3650
Joined: 03 Aug 2006, 19:39

Re: Changing how armour upgrades work

Postby Iluvalar » 18 Jan 2016, 18:31

Could you point me the zone in the code where this error happen ?
in 2.3
in stat.c bodyArmour() is using the upgrade and is designed to account for all bodytype
in combat.c objDamage() use a preloaded armor doe.

So I figure from what you say that this loader skip bodyArmour when loading cyborgs ?
Heretic 2.3 improver and proud of it.
User avatar
Iluvalar
Regular
Regular
 
Posts: 1782
Joined: 02 Oct 2010, 18:44

Re: Changing how armour upgrades work

Postby Per » 18 Jan 2016, 21:27

Iluvalar wrote:Could you point me the zone in the code where this error happen

I think nobody has so far claimed that this is an error. It might have been intentional, hard to tell.

Iluvalar wrote:So I figure from what you say that this loader skip bodyArmour when loading cyborgs ?

That's certainly not what I said.
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
 
Posts: 3650
Joined: 03 Aug 2006, 19:39

Re: Changing how armour upgrades work

Postby Berg » 18 Jan 2016, 22:58

I think that the game behaviour as is, is deliberate.
User avatar
Berg
Regular
Regular
 
Posts: 1882
Joined: 02 Sep 2007, 23:25
Location: Australia

Re: Changing how armour upgrades work

Postby Iluvalar » 18 Jan 2016, 23:20

Oh.. you didn't meant cyborg but ALL droids. Ok I get it.

So I think your wrong. the armour is calculated once because you need to load the propulsion, body and weapon object to make the equation. So it's save that way in the droid object.

But when bodyArmour() is called, to get the right armor for the right type of weapon, the asBodyUpgrade[player][bodyType] array is used so the upgrade is added at the last second. At least, you asked me to check in old versions...


Edit : for what I can tell, it's an error because that's what distinguish a body from a body upgrade.
Heretic 2.3 improver and proud of it.
User avatar
Iluvalar
Regular
Regular
 
Posts: 1782
Joined: 02 Oct 2010, 18:44

Re: Changing how armour upgrades work

Postby Per » 19 Jan 2016, 00:39

Iluvalar wrote:So I think your wrong. the armour is calculated once because you need to load the propulsion, body and weapon object to make the equation. So it's save that way in the droid object.

But when bodyArmour() is called, to get the right armor for the right type of weapon, the asBodyUpgrade[player][bodyType] array is used so the upgrade is added at the last second. At least, you asked me to check in old versions...

I looked at both 2.1 and 2.3 - the bodyArmour() call is in buildDroid(), so only called on droid construction. In combat.c, where it is actually used for damage calculations, it just checks the cached value in the droid structure. On structure armour upgrade research, it upgrades each building separately, but this is not done for droid armour upgrades.
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
 
Posts: 3650
Joined: 03 Aug 2006, 19:39

Re: Changing how armour upgrades work

Postby Iluvalar » 19 Jan 2016, 02:01

Allright, you're right i was reading the spaggethi code upside down.

I was confused because I remembered clearly seeing the damage upgrades in the damage calculation.

On the logical side, there is no reason not to make all upgrades work the same way.
On the design side, we already have new bodies, which are visible and force the player to recycle if it was the objective.
On the balance side, I think you're ok for this change, the armor upgrades are not right now a priority. Giving it that extra buff shouldn't make it OP.
Heretic 2.3 improver and proud of it.
User avatar
Iluvalar
Regular
Regular
 
Posts: 1782
Joined: 02 Oct 2010, 18:44

Re: Changing how armour upgrades work

Postby Rommel » 20 Jan 2016, 00:53

Per wrote:
Rommel wrote:So let me get this straight, tank armour and cyborg armour upgrades are not applied automatically to existing units? Do you need to recycle and remake to take advantage of armour upgrades?

Yes. From a quick look at some older code, it seems this is how it has always been, but maybe some old timers can chime in and verify.


Wow I didn't know that - I always presumed that it was like weapon damage/rate of fire upgrades (applied to existing units). It seems strange that the invisible gremlins can't upgrade the armour the same way they do weapons lol

What about stuff like building strength and wall strength I am guessing you don't have to demolish them and then rebuild to take advantage of upgrades.

Would be nice if at least you could upgrade tank / cyborg armour by visiting a repair facility... but really if structure armour and weapon upgrades are applied automatically, shouldn't it be the same for tank/borg armour?
Moving back instead of forward
Seems to me absurd
~
Metallica - Eye of the beholder
User avatar
Rommel
Trained
Trained
 
Posts: 443
Joined: 03 Nov 2012, 19:44

Re: Changing how armour upgrades work

Postby stiv » 20 Jan 2016, 07:04

. but really if structure armour and weapon upgrades are applied automatically, shouldn't it be the same for tank/borg armour?

That's it in a nutshell. It's the way we want the game to work.

Game objects get handled consistently.
It's the future! We have nanotechnology.
It emphasized the value of research.
stiv
Warzone 2100 Team Member
Warzone 2100 Team Member
 
Posts: 876
Joined: 18 Jul 2008, 04:41
Location: 45N 86W

Re: Changing how armour upgrades work

Postby Per » 20 Jan 2016, 22:42

FYI, the change to how armour works has already been applied to git master (see 01510e4dda3de00f3164b7f6722a55401f8d39cb). I looked into porting it to 3.1, as well, but the change didn't apply cleanly, and so I decided not to muck around with something that is about to release.
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
 
Posts: 3650
Joined: 03 Aug 2006, 19:39

Re: Changing how armour upgrades work

Postby MIH-XTC » 19 Feb 2016, 21:33

I just tested this in debug mode, armor upgrades are applied automatically after a unit is produced, both tank and cyborg.

To test in singleplayer, type "cheat on" then ctrl+o to place a bunch of cyborgs of your choice and time how long it takes for a twin assault gun tank to kill it. Then use alt+a to unlock everything, ctrl+o to place 5 research centers and ctrl+x to instantly finish all of the armor upgrades. Then time again how long it takes. It takes much longer after the armor upgrades even though the unit was placed before the upgrades.
MIH-XTC
Trained
Trained
 
Posts: 195
Joined: 31 Jan 2014, 07:06

Previous

Return to Balance