AI War:Design Complexity

From Arcen Wiki
Revision as of 13:08, 29 January 2010 by Dominus Arbitrationis (talk | contribs) (Created page with '<big>'''Why The Complex Interrelation Of Ship Damage Mechanisms?'''</big> '''Q:''' The game has an enormous number of relationships between all of the various ships, which is im…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Why The Complex Interrelation Of Ship Damage Mechanisms?

Q: The game has an enormous number of relationships between all of the various ships, which is impossible for anyone to remember off the top of their head. Class X is stronger than Class Y, fine -- but with dozens of ship classes, this makes for tens of thousands of combinations. Wouldn't it make more sense to have overall "armor types" and "shot types" that then people could actually remember?


Response from Chris Park, AI War's Lead Designer:

Armor Types and Shot Types

First of all, the game does model both armor and shot types, after a fashion. However, they are 1:1 correlated with the actual ships in the game, rather than being an overall armor class that is used by many ships.

Take the following real-world example: a Chevy Malibu and a Porshe 911 and a Hummer If you were to fire bullets of varying sorts (differing calibers, even amongst "shell" type ammo) into those various vehicles, you would get different damage characteristics to all of them. For example, placement of engines, size of passenger compartments, material and amount and position of armor, plus other internal safety features, all make for an extremely complex real-world situation. And, for that matter, as changes are made to each line of car with each calendar year, you'd see different performance characteristics per car per year in order to make all of those realistically modeled.

So, what AI War is doing for the sake of sanity and CPU efficiency, is generally modeling the interactions of all of the various shot types from various craft against the various hull and construction characteristics of other craft. It can be assumed that the caliber and other factors is a bit different even between "shell" or "laser" shot types that are otherwise the same. So that's what is being modeled -- it's very different from a "job class" for human avatars in a game like TF2, because those refer to skills and there is very little difference in shooting a big skillful guy or a small medic guy with a sniper rifle -- they both die pretty much the same. Giant spacecraft and a variety of weaponry are a whole different animal.

But Why So Much Complexity? Okay, so that's what is being simulated -- but why? To a mathematician, the design of the mix of ships in AI War is not mathematically elegant, and so a few particularly math-oriented players have tried to get me to make it more simple and mathematically expressible in order to make it more pleasing to those sensibilities. I don't consider myself a math person, but I can sympathize with that viewpoint. I have very good reasons for doing otherwise, though:

1. I keep the game balance in a semblance of disorder and a least slight-imbalance on purpose, and always have. If there are major exploits, of course I fix those, but those are comparably rare. But when I introduce a new ship, I intentionally seed it with values that will put it just a bit off kilter with other similar ships, and against the expected foes. Usually this is via special abilities, but it's also in terms of costs, attack powers and attack bonuses, shielding, and health. I like for all of the ships, even amongst fighter-type ships for example, to be slightly unique in subtle ways in addition to the major ways. In a second, I'll get to why.

2. In some ways, I guess I am a math-oriented person, despite my claims otherwise. It comes from the upbringing. When I play boardgames such as Descent: Journeys in the Dark, I'm always the rulekeeper/game master, and I'm the one that keeps up with everything and even helps my "foes" reason through all their possible attacks and scenarios, and I'm extremely, extremely quick at coming up with the optimal solution. This is also important. I'm also very, very good at doing this against AIs in RTS games, and with the mechanics in general with RTS games. When I start playing a new strategy game, like many people who enjoy AI War I'm sure, I'm learning as much as I can about it and crunching the numbers mentally and collating and comparing in-game data against my hypotheses in order to find my personal optimal strategy. And when I eventually do? I've lost all interest in the game.

3. What most strategy games have in common (the good ones) is that they are designed by math-oriented folks. Those designers use all sorts of techniques to make sure that the balance is as pristine as possible, they try to keep things simple while also being complex, and generally they are huge proponents doing automated/adaptive unit balancing, etc. It's a good approach, generally speaking. Certainly a must for a competitive pvp game. But all those games bore me to tears after 6-12 months of biweekly play. I'm tired of being bored, and I certainly don't want to be bored by my own game, so this goes back to why I designed AI War the way that I did, in a lot of senses. Escaping this eventual fate with AI War is my core motivation, and why the idea of making things simpler or more orderly strikes me as hugely undesirable.

4. Therefore, I keep things muddy with the ships. There are a lot of them, they are complex, they have attributes that interact in varying funky ways, and in general there is too much for even me to remember despite the fact that I spend so much time with the game. I can't understand it all in one go. I haven't been able to find a best strategy in the 13 months I've been working with the game (as of the time of this post). That's victory for me! I have kept myself entertained for 13 months, and I suspect I will keep myself interested for several more years if not far longer. If I'd made this simpler, or more orderly, I'd already be done with it and bored.

AI_War:Fleet_Command