For proper balance, every fight would have to be keyed for every single possible choice available
Every fight should not be "balanced". That's like saying every door in every dungeon should be locked, and made with a material that is just the right amount of challenging for the PC party to break down and/or has a lock which is just the right amount of challenging for the PC party to pick. Some doors are just unlocked, or open, or flimsy. And in any game world that does
not want to be constantly reminding me that it's really nothing but "Lame-Ass Combat Engine 147.0", not every fight is going to be "just my size". The strength of opponents should be more about game world consistency (who are they? why are they there? what are they doing there? who hired them? etc.) than about performing every conceivable design contortion in some twisted effort at "balanced combat" all while trying to pretend
really hard that that's
not just some overly messed up, convoluted form of level scaling.
There are some who advocate having dungeons of fixed power levels, and letting the player choose where to go and when, skipping over dungeons that they exceed the power level of and thus finding their own challenges. But 1) that means none of the dungeons involved can be part of the game's plot, since the player will be randomly skipping any number of them, which would make it really hard to understand the plot if key points are randomly being skipped.
Now you are getting to the real problem with most RPGs - the pre-written plot through which all players are supposed to be railroaded. All of that choice and divergence you talk about earlier in your post - that's what I want (though I want it in far more areas than just combat) - and that's exactly what you really don't get very much of at all with a pre-written plot. The pre-written plot is
already a losing RPG design strategy,
before combat is even considered. (Note that by "losing" I am referring to game quality, not to game sales.)
And 2) and more importantly, the skilled player will be spending an increasing amount of in-game time not playing the game at all, but instead wandering around looking for somewhere that he can start playing the game again. The farther he gets in the game, the larger the percentage of available dungeons he will need to skip, and thus the greater amount of time it will take him to find an appropriate challenge. And very few people have much patience for that sort of thing.
This is just silliness. Surely you can conceive of ways that a player might be able to become informed of where/how they might find proper challenges without having them wander all over the universe and popping their heads into each and every dungeon. How many RPGs do we need where you can go get rumors from a barkeep, or a person on the street, or be assigned quests by a guild officer before it becomes obvious that those very same mechanisms (and about 1,000 others) could be used to
instantly provide the player with this information? Even one of the most lame "RPGs" in existence (
Endless Battle) allows you to instantly select your level of challenge.
A related rant: Too many people think "exploration" should mean "aimlessly wandering around until you see something cool". And since they don't want to waste time (and lack imagination) they subsequently think stupid stuff like they should be able to wander around aimlessly for (on average) no more than X seconds without finding something cool (for some relatively small value of X). That's a real dumb way for it to work. These are games - there should be some challenge and fun gameplay in exploration - maps, rumors, clues, tracking skills, magic skills, interrogations, informants, fame (with NPCs subsequently pushing suitable requests to you) and a bunch of other elements that can come into play when finding your next challenge. And typically the PC/player shouldn't even really be looking for their next challenge, but for their next objective - something they want to obtain or accomplish - and the challenge that goes along with achieving that objective should (in general, due to consistent game world characteristics) tend to scale with the value of that objective.
setting the difficulty just below the average means the largest swath of people will be at or near the designed fun-point of the game all of the way to the end.
I have doubts about how well that actually works, and that is because of something called
sensitivity to initial conditions. E.g., even if the difference in skill between players is relatively small, if one of them tends to need a health potion or two every combat and the other doesn't, that means one of them is burning resources on health potions which then means they can't buy something else that would have helped them do better. And while the other person saved their money and bought that something and can therefore can do even better now, perhaps able to keep up with that difficulty curve so they are still able to complete most combats without need of health potions, the ever so slightly lesser player is now having to do without that extra help and is now burning 2 or 3 health potions per combat. (Of course, with RPGs that just auto-heal you after a battle, where time doesn't matter so outside of combat there's no rush to heal quickly with potions anyways, and with a bunch of other dumbing downs, maybe game designers manage to drive all of the chaos out of the system as well.)
Now, there are off-beat theories out there for getting around this issue.
I'm definitely interested in checking out "off-beat theories" that might provide (or simply hint at) improvements and/or alternatives. If this subject really comes up frequently (as
Zetor mentions), it would be nice if there were a meta-thread that tracked them all (and a single link to that meta-thread from
Project Monkey).
However, the vast majority of players are not accepting of off-beat solutions.
Maybe - but those are crap players. Who cares about them (other than devs wanting to make money)?
Anyways, my thinking is that is what config options are for. Design the game to be truly good, but also have config options that (even if they completely break the game in ways monocled players would never appreciate) turn it into more of a game for the masses. Have a small number of config pre-sets so a player can change from one game style to another without going through every single config option. One of those config pre-sets is the "true game", but the default pre-set is "dumbed down for the masses" version. This can include things like ridiculous hand-holding (e.g., quest markers not only for current quests, but also where new quests suitable for their current ability can be found, and even some kind of lame "main quest generator" that strings together some objectives for those whose minds are so addled they can't even decide what flavor of pudding they want without being told). By doing that it should be possible to not scare away the casuals.
No, it's the fact that computer tech was never the big wall that C&C runs up against.
That's not quite true - back when computers had 16KB or less and only cassette or cartridge for storage, it was most definitely a wall. At 16KB, even a text-based adventure/RPG is noticeably limited in total size. But for pre-written stories it is true that we have long-since left that wall behind (though art assets can always be made to fill any amount of drive space you wish).
The wall does still
very much remain when it comes to simulation though. Even (tentatively) targeting a 64GB 8-core beast of a machine as the "recommended for full experience" system, I am not going to be able to have a world as large as I would like, mostly because land area needs enough NPCs to not feel empty (and more importantly, NPCs need a land to be constrained to prevent them from breeding out of control), and running that many "always on" (not just in combat) AIs quickly runs into some pretty crazy resource requirements if "you" (the game dev) don't get pretty darn creative in how you optimize it.
There's the problem. Why is there an "end dungeon"? I mean, I know it's because of that pre-written plot thing, but the pre-written plot idea is already bad. Why use bad to justify more bad? How long before people realize that "pre-written plot" and "living world" (not to mention real player choice) are mutually exclusive?
the designers are doing their best to convince the rest of them too, otherwise all that time/money spent on the side content is wasted
Which is why all RPGs not using some sort of procedural generation will always be warped - very limited amounts of content because it costs too much to make more, and a strong push away from real choice because that leaves "too much" content not experienced by the player. Saying such games won't continue to be warped in the future is more hopelessly optimistic than saying pay-per-time MMOs won't be grindy. Unlike pre-scripted RPGs, procedural generation can benefit in a fairly direct way from tech improvements over time (i.e., more sensible and interesting generated material).
laclongquan, besides reminding me I need to try JA2, your post (and many strategy games like Warlords and AoW) also suggest an interesting option RPGs could have - splitting up your party to take on multiple quests at once.
Heroes of a Broken Land is the only RPG I know of that lets you split/merge parties and have more than one active party. It's gameplay also points out how much "real time" (not as in real-time play, but as in "game world has a real sense of time") matters, because when you send out your strongest party to go clear some far away dungeon or tower, they may not be back to defend your home town for a long time.
First and foremost it's hard to constrain power curve in such way that player can't just outgrind and then outlevel any threat.
You seem to be assuming the standard "static world with pre-written plot" RPG. In a proper living world, NPCs can grind right up the same power curve the PCs do. (There's still save-scumming to deal with as that can be used to allow the PC access to more dangerous grinding than NPCs can get away with, but there are solutions for that as well.) Of course, in a proper living world there are other design issues which are "interesting".
Even if you assume a static world (fixed NPC levels), as long as you're willing to do without the pre-written plot the problem is still trivially solvable. Just one example:
1. Make the power curve be one of diminishing returns - don't let the player grind their way to infinity in anything, but only ever closer to some limit.
2. Make it so a party of N characters at max melee skill level will get their ass handed to them by a group of 4*N characters at half that skill.
3. Have threats that include (up to) 4*N (and more) such characters.
4. Only let the PC party consist of up to N characters.
That way there are always threats that will be essentially impossible for the PC party (at least without burning through a lot of consumables). Of course, greater threats have to tend to be in the way of more worthwhile objectives in order to entice the player to go after what they think they can handle rather than just killing tons of easy stuff (though some players here would apparently claim that such enticements are unnecessary for them because they only need the challenge).
And that's without getting into more interesting mechanics like deteriorating skills and actual sacrifice (including what
Neanderthal was talking about).
What's more, on computers it's all number crunching. Even every thing you listed is number crunching, and you can't hand-wave it away. All of those possibilities have to be translated into numbers so that they can be programmed in, and, in order to make challenge, the player and AI have to carefully be assigned a list of those numbers that create the situation that happens on the screen.
This is too reductionist. To make it even more obviously absurd: In computers, it's all charged particles moving around. Everything in the game has to be translated into the motion of charged particles.
AI code can make use of abstractions. Implementing an AI does not involve programming everything as numbers (nor as C++ or some other traditional procedural programming language -- for example, see
Zillions of Games - it's not a great AI engine, but the wiki page does show an example of how a game is coded in it). There are generic algorithms that can be applied in a wide variety of situations. It's not a panacea - compute time (and space) and solution quality are pretty much always at odds, and the only way to improve one without hurting the other is to optimize/specialize the algorithm for the given situation. But
"carefully be assigned a list of those numbers that create the situation that happens on the screen" is not even remotely an apt description for how such optimization is performed, so I'm not sure what you're really talking about there.
What is the chance of an AI character knowing what an exploding barrel is and not going near it?
If it has been programmed to know that (and the code isn't buggy), then about 100%. If it hasn't (and hasn't been provided some general learning facility by which it could learn it), then 0%.
Anyways, the points of your post seem to be:
1. crappy AI is bad
2. AI that isn't crappy is hard to create
3. gameplay options that are different enough from each other (e.g., more than just numerical differences) makes creating an AI that isn't crappy even harder
I think we can all agree on #1.
For #2, I think "not crappy" is a low enough bar that it's not that hard. It does kind of require that whoever is making the AI is actually shooting for "not crappy" -- if they shoot for "really good" but don't have the resources to pull it off, you can end up with a super crappy AI. E.g., a (very simplistic) "really good AI" could be made by just trying every possible move, looking N moves in advance, and picking whatever set of moves has the best result (best move-N situation). But if someone writes code like that they will find that N has to be large enough to get good results, small enough to not take too long, and that those two ranges for N don't even come close to intersecting. On the other hand, if you're just shooting for "not crappy" you can use (not necessarily carefully coded) heuristics to come up with a bunch of options (some horribly bad options in the set doesn't necessarily matter much, but it should try to include as many of the better options as it can), and then use monte carlo techniques to smoke-test them in the current situation. Unless you throw lots of CPU time at it (and always make the heuristics generate the best move as one of the options), that's not going to consistently generate optimal choices, but it will avoid making truly dumb moves most of the time. This might be considered cheating - but in the specific case of an RPG those heuristics could be made to include the player's "favorite" (commonly used) moves, greatly increasing its efficacy, or at the very least requiring the player to use a much more diverse and less predictable play style. The approach also makes it easy to allow the player to set a time limit for AI moves, so the player can decide how long to wait vs how smart the AI is. (This is all basically a simple variation on
Monte Carlo tree search.)
For #3, it really depends on the algorithms used. Gameplay options that seem very different from a player's perspective can still map to the exact same optimized algorithm - sometimes. Sometimes they can't. Anytime a new option maps well enough to an algorithm that the AI already uses, it's not very hard to add it (though it can impact performance slightly - that again depends on the algorithm). Anytime a new option doesn't map well to any algorithm the AI already uses, then it's going to take a chunk of work to add yet another algorithm (or you reuse an existing algorithm and just let it handle that option poorly - aka inefficiently and/or inaccurately). In some cases, like the AI strategy described above, the same core search algorithm can be used for everything and it's only the heuristic "helper" algorithms (and some state management) that need be customized (and as mentioned above, those helper algorithms need not be perfect - if one of them suggests a bad choice, that will result in some wasted CPU time, but the core search algorithm will typically filter that bad choice out as long as any of the other heuristics has provided a better option).
(Note that the above is not a "sales pitch" for the described style of AI - it's just an example of something that could be used and wouldn't be that bad, either in terms of performance or in terms of implementation difficulty, while having the benefit that it can take advantage of tomorrow's hardware tech by turning more CPU cycles into better AI.)
many genres are hard to balance yet games of comparable complexity in other genres seem to do a better job
This is a bit of a tangent, but I see some parallels with another genre that I think are worth mentioning.
Typical RPGs have a lot in common with many 4x (and RTS) games - having more power lets you get more power - it's unstable. RPGs that let the player essentially become gods (eventually kill anyone/anything they want in the whole game world) effectively lack any "power cap" to keep that instability in check, just as most 4x games do. That is, after a certain point things become irrevocably imbalanced. In a good 4x game, the game somehow recognizes this point and ends the game (or scenario/map) - e.g., the AI admits defeat, or there's some "vote" where the winner is elected "ruler of the galaxy", or something like that. Unfortunately the RPGs that share that same imbalanced situation don't do anything so kind as that. Instead they have their fixed plot. And the player, if they want to "win the game", is stuck following that plot to the drawn-out bitter end, even though in terms of balance-of-power the game was already over long ago.
You could fix an unstable RPG just like how 4x games do it if you were willing to modify the win condition to include "gets a certain amount above the designed power curve", and then skip the rest of the fixed plot - maybe provide a summary saying all of the things the PC (party) did after that point (rather than making the player painstakingly enact it all). But that's never going to happen in a game with lots of expensive hand-made content where devs want to force-feed you a large fraction of that content to make sure you "enjoy the game" (and justify their own efforts/expense).
(The other thing 4x (and RTS) games do is have a difficulty setting. But the goal there isn't to make every battle balanced, but only to control the ultimate balance between "player eventually is destroyed" and "player eventually comes out on top".)