Thalassicus / cep-bnw

Civ V Communitas Expansion Pack
32 stars 22 forks source link

Panzer Over-powered #204

Closed GrantSP closed 10 years ago

GrantSP commented 10 years ago

Was reading through some of the Steam comments and this one grabbed my attention.

"Germany's UU, the panzer, is extremely overpowered! It has 105 combat strength, which is exactly the same as the unit it upgrades into, but it has six moves per turn, making it MORE powerful than the modern armor, the unit it upgrades into!"

Checked the code and CEL_End.sql is setting the unit to the same as Modern Armor.

UPDATE Units SET Combat = ROUND(1.00 * (SELECT Combat FROM Units WHERE Type = 'UNIT_MODERN_ARMOR'), 0) WHERE Type IN ('UNIT_GERMAN_PANZER');

Surely this is not a good decision? Non-unique tank has a strength of 70, which has not been tweaked in the mod, and the vanilla Panzer is 80. I suggest we find a better ratio.

At the moment the Panzer is 50% greater compared to approx. 15% in vanilla. Perhaps 25% increase? That would give it 87 - 90 strength. Or even 20% would be better.

jma2286 commented 10 years ago

I have an idea that might be worth looking into - maybe UUs should just have free promotions instead of a different strength level. If they have a higher strength level then it's a constant debate of how much is too much, whereas a free promotion is strong enough to be worth it and doesn't make them overpowered.

stackpoint commented 10 years ago

This seems like an obvious bug, like with the samurai. Some sort of problem with the math in the spreadsheets.

GrantSP commented 10 years ago

While I agree it is an obvious bug, I don't share your view it is just a math error in the spreadsheets.

Both of these over-powered units, Panzer and Samurai, are defined in such a way in CEL_End.sql as to show the intention of the adjustments. Panzer is defined against the Modern Armor when it should be scaled against the Tank. Samurai likewise are defined against the next era upgrade, the Rifleman, when they should be scaled against the Longswordsman. A few lines down from the Panzer is the definition for the Samurai:

UPDATE Units SET Combat = ROUND(1.00 * (SELECT Combat FROM Units WHERE Type = 'UNIT_RIFLEMAN'), 0)  WHERE Type IN ('UNIT_JAPANESE_SAMURAI');

In my view both these need urgent re-evaluation. I would have this:

UPDATE Units SET Combat = ROUND(1.20 * (SELECT Combat FROM Units WHERE Type = 'UNIT_LONGSWORDSMAN'), 0) WHERE Type IN ('UNIT_JAPANESE_SAMURAI');

UPDATE Units SET Combat = ROUND(1.20 * (SELECT Combat FROM Units WHERE Type = 'UNIT_TANK'), 0) WHERE Type IN ('UNIT_GERMAN_PANZER');

Making both these units 20% stronger than the similar units of the era.

Thalassicus commented 10 years ago

I like to make the game more fun. It's better to improve unpopular leaders, instead of making fun leaders less enjoyable.

When balancing things we must consider everything:

Unique units and buildings that appear late have less time to influence the outcome. If a unit unlocks a dozen turns before the game ends, someone that close to victory would probably have won with or without them. They shave a few turns off the game at best, and at worst, the game ends before Panzers even appear!

It's very unlikely Panzers will ever make a difference between victory and defeat. Their extremely late appearance makes them a weak leader bonus, but this weakness compensates for other strong abilities of the Germans, making the civilization balanced and fun to play overall.

GrantSP commented 10 years ago

The issue at hand here is not whether or not the Panzer/Samurai are a good UUs or how much they may/may not influence the game, it is the miscalculation of their stats based on units from another era. If there was no over-powered aspect of these units then users would just accept them with modified stats and there would be no mention of them. Things, most of the time, are brought up ONLY when there is a problem, like now.

Thalassicus commented 10 years ago

It's not miscalculated - I explained the reasons for high Panzer strength above. Samurai were buffed because Japan consistently ranked low in the favorite leader polls. The buff successfully increased their popularity so 1 in 5 people now consider Japan a favorite civ.

I want at least 10% favorability for all leaders (1 in 10). It's best to spend our time and creativity improving leaders who don't meet the goal (below), instead of making fun leaders less enjoyable.

GrantSP commented 10 years ago

Do I agree the Panzer could be buffed? Yes. Do I think most concerns are due to users not knowing the reasons? Yes. Can the Panzer be buffed and not become an issue when it upgrades to a lesser unit. Yes?

Simply change the initial buff to one that is still greater than contemporary units and allows room for an improvement in stats upon upgrade. The end result, the unit gets buffed and the Leader has a UU that does the task but doesn't give rise to questioning when a seeming error appears. Not all errors are due to coding they can be from design.

Thalassicus commented 10 years ago

You're right psychology is a factor too, not just mathematical analysis. I'll drop the strength to 90% of the upgrade, the pattern I use for most uniques that are based on another unit (Hwa'cha, Samurai, Legion, and Panzer).

GrantSP commented 10 years ago

I would have this:

UPDATE Units SET Combat = ROUND(1.20 * (SELECT Combat FROM Units WHERE Type = 'UNIT_LONGSWORDSMAN'), 0) WHERE Type IN ('UNIT_JAPANESE_SAMURAI');

UPDATE Units SET Combat = ROUND(1.20 * (SELECT Combat FROM Units WHERE Type = 'UNIT_TANK'), 0) WHERE Type IN ('UNIT_GERMAN_PANZER');

This way the code is also showing that the buff is based upon contemporary units. Whatever % change you like is fine by me, as long as it is easily discernible that the UUs are better than their contemporaries but not greater than their upgrades.

Thalassicus commented 10 years ago

I didn't explain it well. Military concepts like the Samurai and Legion dominated warfare for a long time. I represent this by designing the units to last for 2 upgrade cycles. In other words, they can skip an upgrade.

It's easiest to do this by basing their strength on the next unit in the cycle. We never have to touch the formula. If we base the strength on the current cycle, we have to change the modifier each time the current-cycle or next-cycle changes. It's unnecessary work.

GrantSP commented 10 years ago

I think it is always preferable to base any modifications off the unit it is replacing rather than any perceived use of the unit. In this case the Panzer on the Tank and the Samurai on the Longswordsman. Agree that there should be some consideration to the formula if these new units have a longer than normal lifespan, but the actual modifications need to be consistent, for the user and the modders sake. If we could include UU specific promotions in a sort of 'inherited bonus' system, that way the upgrade UUs could retain a small part of their ability. The thinking is if they could make a unit do something great in the past why is it lost in the upgrades? So the Panzer for instance has greater mobility (6 moves), perhaps German Modern Armor might also get this. Just an idea, not a recommendation.

Thalassicus commented 10 years ago

If we compare the options:

A) Legion strength = 80% of Longsword strength Connects strength to the unit it's based on. Does not require changes when base units change.

B) Legion strength = 130% of Swordsman strength Connects strength to a unit it's not based on. Requires a bugfix any time we alter the Swordsman or Longsword.

C) Create a new semi-persistant promotion class that carries through only 1 promotion cycle, giving an identical strength benefit to options A and B.

Options B and C don't fit the design of the unit (available for 2 cycles). B creates bugs when we change base units. C would require a lot of work, introduce a concept that doesn't exist in the base game, and have no effect on gameplay.

The thinking is if they could make a unit do something great in the past why is it lost in the upgrades?

These effects are based on the equipment of the unit. When the unit upgrades, it replaces that equipment with new gear. It's why Longswords don't retain their anti-city bonus when upgraded to Musketmen. Swords are good in close-quarters urban combat, unlike muskets.

GrantSP commented 10 years ago

It is precisely because option B requires a change of code if the base stats are changed that makes it the better choice. We would only change Swordsmen (using your example) if there was a perceived inadequacy with the general line of units, too strong or too weak. If that is true of the default unit then the UU also needs to be re-evaluated. If for example the base Swordsman unit was buffed to be stronger then the edge the Legion had over it is reduced. Going the other way if the Longsword was buffed then the Legion would be even greater than the unit it is replacing. I know I'm in a fight to nothing here but the unit that a UU replaces should be the base to work from.

Thalassicus commented 10 years ago

Hmm I'm still not explaining it well...

To put it another way, the Romans skip swordsmen and go straight to Longswords. The Legion is an early Longsword. This is why its stats are based on Longswords.

It's important to eliminate variables when looking at a problem. Legions are in the normal range for uniques to appear (ancient through classical eras). This lets us ignore time and focus on simple problem of unit strength. Panzers are outside the normal time range, so we have to add a time variable when looking at them. It makes the problem more complex.

I'm trying to teach how to fish, instead of just giving a fish. It's important to know the "why" behind the numbers to apply that knowledge to other areas of the game. :wink:

GrantSP commented 10 years ago

You tricked me! Shifting the focus from Panzers to Legions. :smiley:

I don't mind either way really. I just thought the original formula with the Panzer looked screwy. Whatever works. Let's close this issue.

GrantSP commented 10 years ago

I like fishing with a rod and bait. You prefer to set traps.

Thalassicus commented 10 years ago

I think the main problem we're discussing is Panzers are a little too strong, and it's easy to fix that. I will reduce its strength -20%.