Difficulty Levels / AI

For what's not in 'Top Priority Game Design'. Post your ideas, visions, suggestions for the game, rules, modifications, etc.

Moderator: Oberlus

Message
Author
Sapphire Wyvern
Space Kraken
Posts: 149
Joined: Wed Nov 09, 2005 3:25 am
Location: Melbourne, Australia

#16 Post by Sapphire Wyvern »

zobo wrote:There are times when it's justifiable to give a player bonuses. A newbie versus a veteran, for example. To prevent it being cheating all the players should see if others have handicaps of boni, before play starts.

If you know at the time the game starts that one or several players have boni it's not cheating.

I think the similar idea should be extended to the AI. If it is given bonuses the player knows this. That way we don't have a "cheating" AI but rather the player knows he's getting more difficult game and why.
This is an interesting point. Since it is useful to have an accessible method for providing different players with mechanical bonuses or penalties (Handicap) for multiplayer games, I don't see any reason why we couldn't use that by itself for balancing AI difficulty levels.

That saves us from having to develop stupid AIs as well as smart ones... but this isn't much of an advantage, because most AI development processes are competitive and would produce stupid AI algorithms as well as smart ones.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13603
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

#17 Post by Geoff the Medio »

If we can unifty the multiplayer handicapping and AI difficulty systems, that'd be nice. I suspect that what's most fun and appropriate in each case might be different though... but in that case we can just have different "AI Handicap" and "Multiplayer Handicap" levels to be used as appropriate.

User avatar
skdiw
Creative Contributor
Posts: 643
Joined: Mon Sep 01, 2003 2:17 am

#18 Post by skdiw »

Sapphire Wyvern wrote:
zobo wrote:There are times when it's justifiable to give a player bonuses. A newbie versus a veteran, for example. To prevent it being cheating all the players should see if others have handicaps of boni, before play starts.

If you know at the time the game starts that one or several players have boni it's not cheating.

I think the similar idea should be extended to the AI. If it is given bonuses the player knows this. That way we don't have a "cheating" AI but rather the player knows he's getting more difficult game and why.
This is an interesting point. Since it is useful to have an accessible method for providing different players with mechanical bonuses or penalties (Handicap) for multiplayer games, I don't see any reason why we couldn't use that by itself for balancing AI difficulty levels.

That saves us from having to develop stupid AIs as well as smart ones... but this isn't much of an advantage, because most AI development processes are competitive and would produce stupid AI algorithms as well as smart ones.
there is a big difference between cheating AI and smart AI. Everybody knows how AI cheat, as you can easily look that up on some fan-sites or the game-site. okay, maybe cheating is the wrong word, but how about unfair. You want to play smart AI, not unfairAI for you competitive needs. Smart AI is much more fun and interesting to play; afterall, it's the interaction that you are after, not some easily identifiable pattern, where unfair AI follows. unfair AI is in no way capable of replacing smart AI. it's just that it's very hard to code a smart AI, so many games resort to "cheating" on top of a smart AI. using only the cheating AI to balance the difficulty levels has to be one of the biggest mistake a game designer could make. this is a strategy game of strategy and counters. it's not fun playing a chess game and saying instead of AI starting with one queen, he starts with two and all it does is move it back and forth; it's much better to improve how the AI uses the queen so the AI knows how to fork, protect, attack...
:mrgreen:

Sapphire Wyvern
Space Kraken
Posts: 149
Joined: Wed Nov 09, 2005 3:25 am
Location: Melbourne, Australia

#19 Post by Sapphire Wyvern »

You are completely correct. Certainly, I think smart AI is far superior to AI that can only succeed via game mechanic advantage ("cheating"). We should strive to minimise the amount of game mechanic advantage (relative to a human player) the AI requires in order to pose a challenge.

However, I think it's desirable to have a Handicap mechanic in place for use in multiplayer games, to impose different levels of production bonuses/penalties on players of lesser or greater experience and skill. These options would obviously be optional (heh, tautologous) and probably under the control of the server. I would prefer to restrict Handicap bonuses and penalties to quantitative game modifiers (eg production and infrastructure growth rates, weapons accuracy etc) rather than qualititative bonuses such as "cheaty" information access. That is to say, a player with a large Handicap should get discounts on production but not free information about enemy colonies and fleets. Obviously this applies to the AI as well. The AI scripts should make decisions based only on information the game exposes to the AI as if it were a human (via scouting, espionage, etc), and whatever it can infer.

Given that, I think it would be useful if we could use that Handicap mechanic as one of the main balancers for the AI. All the Civ games have used it, so there's certainly industry precedent. :) In an ideal world, a skilled player would find the smartest game AI to be a challenge when both "players" have the same level of Handicap. In practice, this will probably not turn out to be the case.

Now, we can *also* balance the different AI difficulty levels by using worse AI algorithms (ie, stupider AI). I think this actually worsens the game play experience - I would prefer for the AI to always play smart, but simply have a varying degree of resources depending on the difficulty. Surely it's better to always have the AI play to the best of its ability with the tools at its disposal?

So, I definitely think the Handicap mechanic should be exposed to the players, because it's useful for balancing multiplayer games as well as balancing the AI. The question that we now have to decide is: should we distribute weak AI as well as our best effort at AI design, or should computer empires always be run by the best AI we can come up with?

User avatar
skdiw
Creative Contributor
Posts: 643
Joined: Mon Sep 01, 2003 2:17 am

#20 Post by skdiw »

o ok, i see what you mean now. yeah, that will work.
:mrgreen:

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13603
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

#21 Post by Geoff the Medio »

sigh... giving in to lost purpose of thread

Difficulty levels of AIs could also be varied by changing the degree to which AIs make "story" decisions vs. "good" decisions. For example, an AI might be controlling an empire that prefers to use a certain type of ship that in a particular game is not the best choice strategically. In easy games, the AI would use that ship exclusively. In hard games, the AI would use the best ship for the situation, ignoring the story reason to use another.

User avatar
skdiw
Creative Contributor
Posts: 643
Joined: Mon Sep 01, 2003 2:17 am

#22 Post by skdiw »

and as we said, that will work better :). or am I missing something?
:mrgreen:

Sapphire Wyvern
Space Kraken
Posts: 149
Joined: Wed Nov 09, 2005 3:25 am
Location: Melbourne, Australia

Re: Difficulty Levels / AI

#23 Post by Sapphire Wyvern »

Geoff the Medio wrote:Anyway... is it worth having a "difficulty level" (or something similar) that's separate from the AI algorithm used and bonuses and penalties? If so, what should it be called?
No, I don't think so. I think it's better to set the game "difficulty" separately for each empire. I'll explain why with reference to the other parts of your original post.
The aforementioned thread noting AI difficulty levels caused me to realize that the effects stuff might not be a good way to go about making the difficulty levels different though. I assume that we'll vary the quality of AI opponents with difficulty level, but should the game mechanics also vary?
Yes... but the game mechanic variation should be attached to each player's (human or AI) separate difficulty setting.
Additionally, if there's no difference between the game content between difficulty levels, is it a good idea to have a single game difficulty level at all? If the only difference between difficulty levels is the quality of the AI opponents, then there's presumably no reason to require all these AIs to be of the same difficulty. Rather, the player could specify the difficulty level of each AI opponent, in the manner GalCiv allows.
This is better. It's much more useful for multiplayer games, as well.
We could also do both, by having a general or player-specific game difficulty setting, perhaps for player vs. environment stuff (eg. space monsters) or difficulty for the player in maintaining order within his/her own empire (eg. dealing with unrest, inefficiency, liklihood of getting good random results in any events, etc.).
Player-vs-environment can be determined on a per-player basis rather than in general.
These settings could actually work similar to any bonuses or penalties that AIs get at different difficulty levels (in addition to using better AI algorithms, assuming we even have them).
They should work the same way. Unified mechanics are better.
For example, an AI set to "easy" might get big penalties to production. A player set to "hard" might get those same penalties. The player's and the AIs' difficulty levels could be quite separate... or multiple players could have different difficulty levels in a multiplayer game as a form of handicapping.
This is the way to go, IMO. It makes actually having a single difficulty setting unnecessary.

If we *must* provide a single-click difficulty setting, we could provide easy/moderate/hard "levels" for single-player campaigns that set the human to increasingly lower Handicap levels while simultaneously increasing the AI Handicap levels.

For multiplayer, I don't see how a global difficulty setting would be useful. Anything that can be implemented as a "global difficulty modifier" can be implemented on a per-player basis anyway, which is more flexible, so why bother?

User avatar
skdiw
Creative Contributor
Posts: 643
Joined: Mon Sep 01, 2003 2:17 am

#24 Post by skdiw »

I think you can call mechanic variation as "AI bonus," and quality of AI as "AI intelligence." although i don't think it's necessary to distinquish them when the player chosing the difficulties levels for each opponent. i think it's fine just to increase the quality of AI and increase the bonuses as the difficulty increases.

the player handicap will be helpful in multiplayer.

it's necessary to vary the mechanism as well as the quality, because you can't match the AI quality with player quality. in the extreme, the player might want a losing game, so it's necessry to have a AI mechanical advantage.
:mrgreen:

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13603
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

#25 Post by Geoff the Medio »

Sapphire Wyvern wrote:Anything that can be implemented as a "global difficulty modifier" can be implemented on a per-player basis
Not necessarily. The most obvious examples are rate of space monsters / piracy, or anything related to galaxy generation. A few of those settings can be made separately (eg. most of the galaxy generation stuff), but more than just a few others might be problematic enough to warrant a separate overall "universe harshness" setting or somesuch...

That said, we'd probably include a "Custom" mode for each AI's settings, player bonus / penalties, and the universe generation. Though not everyone wants to deal with these all explicitly all the time, and many might want preconfigured options that work well together.
skdiw wrote:"AI intelligence."
Uhm... that's probably not the best combination of word and acronymn...

yablos
Space Krill
Posts: 3
Joined: Fri Jan 13, 2006 11:11 pm
Location: Melbourne Australia

#26 Post by yablos »

Whatever the final decision please have a KISS (keep it simple stupid) option and remember not everyone wants to have to customize every game
Gamer

Sapphire Wyvern
Space Kraken
Posts: 149
Joined: Wed Nov 09, 2005 3:25 am
Location: Melbourne, Australia

#27 Post by Sapphire Wyvern »

Geoff the Medio wrote:
Sapphire Wyvern wrote:Anything that can be implemented as a "global difficulty modifier" can be implemented on a per-player basis
Not necessarily. The most obvious examples are rate of space monsters / piracy,
Space monster/piracy seed rates can be generated on a per-empire basis. Rather than determine a rate for overall space monster generation, have a separate rate for space monster generation per empire. If the "dice" decide to generate a space monster or nest for a particular empire, then it gets seeded within or near to that race's territory, instead of purely randomly over the entire map.

Galactic generation constants are already specified separately to difficulty, and should remain that way.
A few of those settings can be made separately (eg. most of the galaxy generation stuff), but more than just a few others might be problematic enough to warrant a separate overall "universe harshness" setting or somesuch...
I suppose. However, IMO that is simply a question of lazy design rather than a real constraint. Given that we don't have infinite coding resources and the project policy is KISS, a lazier approach is still quite justifiable, so please don't take my comments as an insult. :)
That said, we'd probably include a "Custom" mode for each AI's settings, player bonus / penalties, and the universe generation. Though not everyone wants to deal with these all explicitly all the time, and many might want preconfigured options that work well together.
I agree with concept of preconfigured "quick settings".

Post Reply