Are you, in fact, a pregnant lady who lives in the apartment next door to Superdeath's parents? - Commodore

Create an account  

 
[ROTP] What are your ship design tactics?

(April 11th, 2016, 22:11)Ray F Wrote: -- once a weapon is selected we try to improve the battle computer where +1 attack = +15% dmg
-- after computers we try to add maneuver specials (teleporter, inertials) where +1 combat speed = +10% dmg
-- if no teleporter, then try to add beam range specials (only 1) where +1 beam range = +5% dmg
-- if no teleporter, then try to upgrade ship maneuverability where +1 maneuver class = +5% dmg

Looking at the numbers themselves now:

- All else being equal (Attack rating = Defense rating, target ship is Large) +1 battle computer yields +20% effective damage.

- The more advanced your computer is in comparison with their defense, the less benefit accrues from a slightly better computer, until turning a +4 advantage (Mrrshan baseline) into a +5 grants only +11% to effective damage. Above that level, missile boats gain no benefit, but beamers get a literal damage bonus of some kind (I don't know the details).

- As targets gain higher defense though, the benefit of a slightly better computer increases rapidly. Rising from -5 relative rating to -4 OR from -4 to -3 grants a +100% increases in effective damage. Moreover, it's much more common to face ships with high defense (mediums get an intrinsic +1 defense advantage, smalls get +2, Alkari get an additional +3, before maneuverability is even included - and with Inertial Stabilizer, defense rating can rise faster than attack rating) than poor defense (huges do get -1 defense, but that's it). Once defense rating is at least 5 points beyond attack rating though, additional defensive rating advantage does nothing (and thus adding one to your computer value does nothing against ships whose defense is at least 6 points better than your attack).

For this reason, I think the numbers you list under-value computers and especially maneuverability (since it also contributes to combat speed) especially considering that both contribute to initiative as well. Using a simple +% system such as you describe, I would suggest something closer to this:

-- once a weapon is selected we try to improve the battle computer where +1 attack = +25% dmg
-- after computers we try to add maneuver specials (teleporter, inertials) where +1 combat speed = +30% dmg
-- if no teleporter, then try to add beam range specials (only 1) where +1 beam range = +5% dmg
-- if no teleporter, then try to upgrade ship maneuverability where +1 maneuver class = +15% dmg

If anything, I'm worried this might still undervalue maneuverability (and maybe High Energy Focus too). I would also include a special bonus for the Battle Scanner special of +30% or +35% (including the +1 attack value and +4 total initiative bonus, not taking the information value into account since this is a gunner, not a dedicated scanner) but the value of initiative is hard to determine independent of enemy fleets.
Reply

RefSteel, thanks so much for the input! I'll definitely make those modifications. I think I prefer more straightforward modifications like this because they are easier to tune, even if they are not as accurate. As long as they are in the right ballpark, that should be good enough at least for this early stage.
Reply

(April 17th, 2016, 19:22)Ray F Wrote: RefSteel, thanks so much for the input! I'll definitely make those modifications. I think I prefer more straightforward modifications like this because they are easier to tune, even if they are not as accurate. As long as they are in the right ballpark, that should be good enough at least for this early stage.

That definitely makes sense to me, and (as you've pointed out elsewhere) the AI doesn't have to be (and maybe shouldn't be) a perfect ship designer, as long as its designs make sense and can pose a challenge to the player. The ability to easily tweak numbers is definitely good; for instance, as mentioned, I suspect that those I listed above are still too low. If I were going to change one thing about the ship-building system you have now, I wouldn't go back to the complicated algorithms I assembled; I'd just add a small random element to prevent every AI ship design from being strictly defined by the game state.

Two reasons for this: 1) I think the game is more fun if a wider range of ships are fielded, and 2) especially if the designs aren't obsessively optimized anyway (and to an extent even if they are) AI ship designs will actually do better against players who know the game well if they can't be predicted definitely. [EDIT: That's a change can be added later though; better to get things working predictably first and make sure they actually make sense, and any necessary tweaking will also suggest the areas and ranges where random factors can come into play without wrecking anything.]
Reply

(April 17th, 2016, 21:31)RefSteel Wrote: I'd just add a small random element to prevent every AI ship design from being strictly defined by the game state.

I'm hoping that the randomized state of everyone's tech trees along with their personality-driven research choices will provide that variability.

For spying, I still need to add the distinction between techs you don't have but you know what they are, and techs you don't have and don't know what they are.

For example, when a race learns Repulsor Beams, it should show up as an "Uknown Tech". This way you (or the AI) can't immediately start redesigning ships based on this tech. However, once you have stolen the tech or seen it being used, it becomes *known* (even if you don't have it) and then it can factor into your ship designs.

The purpose of this is to give an empire a period of usefulness for design-changing techs before everyone else starts countering them.
Reply

Because the value of Attack changes greately depending on what the Defense is, and because weapon-effectiveness depends heavily on shield-strength, when I try to optimize my ships I do so with an "Ideal Target" in mind.

I examine what techs I know the enemy has to develop a "Hypothetical Enemy Ship", with their likely Attack Rating, Defense Rating, Shield Strength, and most likely Main Armament.

Enemy Attack: Tells me how much value I gain from maneuverability bonuses.
Enemy Defense: Tells me how much firepower I gain from adding more Computers.
Enemy Shields: Tells me the real firepower of the weapons I am adding.
Enemy Weapon: Tells me how much relative protection each level of shielding gives.

These assumptions are not perfect, but they at least provide a good starting point to be able to properly evaluate the cost/benefits of each ship system.

An additional factor I've contemplated is the cost of a ship. This mostly applies to cheap fighters, but I realized that if I make a fighter with 80% of the firepower but at 80% of the cost, this is actually better than the "full strength" fighter.
125 Cheapo-fighters can be built for the same cost at 100 Strong Fighters
125 Cheapo-fighters have the same firepower as 100 Strong Fighters
125 Cheapo-fighters have 25% more HP than 100 Strong Fighters
I know which one I'd want to take into battle.
Reply

(April 17th, 2016, 21:42)Ray F Wrote:
(April 17th, 2016, 21:31)RefSteel Wrote: I'd just add a small random element to prevent every AI ship design from being strictly defined by the game state.

I'm hoping that the randomized state of everyone's tech trees along with their personality-driven research choices will provide that variability.


Every decent AI I've ever encountered undervalues unpredictability. Don't let the ratio stay at 100% failure.

Whether you set up multiple valid sets of rules and roll the dice to pick from among them, or set up part of your core process with random elements, controlled randomization will make your AI both more effective and more fun to oppose.

The closest example I can think of is Diablo 1's deployment of enemy types and boss monsters. Each level had options for what foes could appear there but rolled the final choice at random, and when a given option was in play on a given level, a boss was added. This one act of randomization was so valuable to the experience... Compare it to the lack of such variance in Diablo 2 or 3 and the benefit is apparent. If one thinks of enemy selection as a form of "ship design AI", the relevance comes in to focus.


- Sirian
Fortune favors the bold.
Reply

(April 21st, 2016, 16:42)Sirian Wrote: Every decent AI I've ever encountered undervalues unpredictability. Don't let the ratio stay at 100% failure.

Whether you set up multiple valid sets of rules and roll the dice to pick from among them, or set up part of your core process with random elements, controlled randomization will make your AI both more effective and more fun to oppose.

The closest example I can think of is Diablo 1's deployment of enemy types and boss monsters. Each level had options for what foes could appear there but rolled the final choice at random, and when a given option was in play on a given level, a boss was added. This one act of randomization was so valuable to the experience... Compare it to the lack of such variance in Diablo 2 or 3 and the benefit is apparent. If one thinks of enemy selection as a form of "ship design AI", the relevance comes in to focus.

I think that as I build up a library of viable ship designs (i.e. a big ship with a BHG, stacks of small ships with pulsars, repulsor with long weapons, cloaks with torpedos, etc), then it will become easier to make those randomized choices to keep things mixed up.
Reply

(i.e. a big ship with a BHG, stacks of small ships with pulsars, repulsor with long weapons, cloaks with torpedos, etc), then it will become easier to make those randomized choices to keep things mixed up.

If this was my first stab at AI ship design I would go with the library approach. Brainstorm a half dozen different archtype ships with help from the MoO guys here and have ~10 version of those based on different tech levels in the game. This will also make combat easier to code as you can write the gunner AI that will apply to that specific type of ship.
Reply

But there needs to be randomization to AI ship designs! Not crippling randomization but randomization otherwise players will just learn what to expect to see based on enemy tech levels and the game will quickly become boring.
Reply

I'd like to generalize Ianus' argument: IMO, there is such a thing as a too strong AI. Whether we admit it or not, for many of us a lot of the fun playing 4x games stems from the fact, that we are able to outsmart the AI opponents even if they have a huge material advantage. Make the AI as strong as a human expert and you end up with chess. From a certain point on, it not just limits variety but also hurts theme: e.g. The leader and racial traits in MOO are an integral part of the AI "personality". However, in order to have n recognizable differences in behavior, at least (n-1) of them have to be substantially sub-optimal.

Another problem are blind-spots: While some things (e.g. standing up new colonies or designing the best bomber for a given base-tech) are easy to implement in an optimal fashion other things are hard (conducting tactical battles) or impossible (anything diplomacy) to do optimally. In other domains (e.g. "killer instinct" to finish off the human player at the first opportunity) perfection might not even be a goal as it might violate traits or ruin the experience.

An alternate technique to aiming for perfection firsthand would be learning from experience. e.g. An AI which got defeated at conquering a planet should remember the fact and try again only with new designs or considerably more strength. This would also be fairly easy to implement (just save total BC of the attack fleet and the 6 numbers for the designs as long as they have not been updated) and might be more fun as compared to the optimal "either send nothing or something 100% invincible".

ignatius
Reply



Forum Jump: