If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Difficulty Level

OK guys, this is a "brain pick" post about difficulty level (obviously). As you all know we don't want the AI to "cheat". That is to say we don't want to give it information or bonuses that any other player couldn't get. The AI should have to send out scouts, pay the same building and maintenance costs as players, have the same access to spells, etc, etc, etc. So, the question is: What should make the AI more or less difficult to play against.

Let's not just focus on the AI when it comes to increasing the difficulty. I think there's a lot of other options. Here's a few:

-World features around the player's cities spawn enemies more and more frequently the higher the difficulty.
-Negative events happen more frequently in higher difficulties, and player cities are more likely to suffer any population loss and/or damage from them than AI cities.
-Players start with fewer units (which would mean they start with more units on easier settings).
-Starting cities on higher difficulties tend to be build on deserts or swamps.
-World resources tend to spawn less frequently in areas explored by players the higher the difficulty you go.

I always thought that a couple of sliders to adjust difficulty level would be nice. I play Civilizations with my wife. She does not like to compete against me because she is not a strategy person but she likes building cities helping me research, exploring etc. We usually play 2 vs 3 vs 3 against ai or 2vs2vs2vs2 giving ai bonuses, we even tried 2 against a whole bunch of ones on deity level but the game got too easy or just ridiculously unfair. (on deity they all start with 2 settlers two warriors 2 scouts advanced tech etc...) The reason i am talking about this is because I always thought a easy solution to difficulty levels could be some simple sliders so you could adjust things to make things a challenge but not ridiculous.

To do this all numbers would have to be decimal values and sliders have a very good granularity. The jump on most games from hard to god makes the game ridiculous and there is no in between. Either the game is too easy or too hard and you get bored. With an "infinite" granularity sliders on individual aspects you could adjust to your play style. The sliders idea, I thought, would translate well to this game. Example sliders

Income where you could increase their per population income
Growth slider where you could increase their population growth rate.
Tech slider where you could increase their study rate.
Magic slider increasing magic generation from all sources.
Production rate sliders increasing building and unit creation rates.
And even though I don't like it hit point/stat sliders.

The idea is the user can up (or down) just one aspect of the game to give it the extra chalenge, or in the case of my wife and I (if you get multiplayer going and it allows cooperative) we could double everything so we could play as a team on equal footing against individual AIs. This could even be used to give 2 humans "equal footing" in the case of experienced players playing against newbies or 2 on 1s etc.

I like both of these so far. I especially like the idea of adding the sliders so I wouldn't be tied to only the few difficulties given. However, preset difficulties set up like normal would also be nice if you want to get in quick. For the preset ones, I would go with what Troy said, but maybe change the negative events a little so the player isn't constantly bombarded with city-threatening events. Maybe not make them more frequent, but make the negative events that can occur more and more on the worst side, while making the good events more and more on the least helpful side (or if that doesnt work, just take out the best ones).

Another thing you can do to increase difficulty would be increase the frequency of deserts, tundra, and swamps and decrease the frequency of plains and forests. This would mean the AI would also need to be playing dwarves, orcs, and myrodants more often.

having the AI operate off of priorities when calculating what it needs would help. say for building units, before it sees any enemies it prioritizes a default balance of forces. as it starts to see enemies it asses what it needs to kill them and increases priorities of those units based on the frequency of those units it has seen in the last x amount of turns.

how it figures what priorities should be based on a simulation (so for units it would use the autocalc algorithm in order find what unit it can build that would deal the unit it sees the best for its cost, averaged between 1 vs. 1 and max stack vs. max stack basis). that way as autocalc develops to better reflects actual battle the AI will improve, and as things get balanced their won't be a need to rework the AI's thought process (not to mention later on changes with mods and DLCs).

the downside of doing the AI this way is more work at first in setting up the frame work for the AI (it is mostly framework after all), and an increase resources being used while the AI is thinking. given that this is a turn based game the use of resources can be offset by having it run only right before it starts its turn (it isn't a real time game so no need for it to run all the time, and having it run while it is doing its turn will slow down its turn by constantly reassesing overall strategy elements). the extra work put into it at the beginning should more than pay for itself during the balance process, and the better you make the AI (taking into account more situations, which for a scripted AI is a new scripts, and for this one is just an extra variables) the less work you'll be doing (crappy AIs are easy to do with scripts, good scripted AIs have exponentially more scripts though).

breaking up the AI into sections will help troubleshoot each section (like city placement AI script, building build AI script, etc.) and allow you to run each one only when needed (so an AI will only run what it needs to run, an AI SL will not figure out optimal city placement every turn, and roaming monsters won't try to figure out what buildings they should build) while allowing you to use the same AI for everything. one section should be a reaction script for units moving around that is lightweight and only deals with should the unit stop and reassess what its orders are (this is probably the only script that always runs during the AI turn itself, and could be heavily scripted).

if done right this kind of AI will easily outshine any other type of AI, and making the game easier will be about penalizing the AI instead of having it cheat less.