Topic: Difficulty levels
Tibor |
Posted at: 2016-02-21, 21:34
From coding point of view AI code is in src/ai/* and both - additional starting resources and modifications of productionsites (production time) is out of this code. I would say it is independent of AI logic. So no big problem with this. Technically we have three modes NORMAL, WEAK and VERY WEAK. I can imagine fourth mode STRONG or rather NORMAL WITH EXTRA RESOURCES. Because internally it still would be NORMAL mode only with different amount of resources. Alternatively we can get rid of one of weak modes (WEAK) and rename VERY WEAK to WEAK.So there will be three modes again. But I would still preserve the NORMAL mode as a fair mode. What might be worth review is forced_after_ and prohibited_till_ flags, I mean for situation with more starting resources. I had set these values only roughly so a review would be welcomed anyway.... Of course, once there are these changes made to productionsites code, we can use them for that STRONG mode as well... Top Quote |
einstein13 |
Posted at: 2016-02-21, 23:39
In some strategy games there are two types of AI strength modifiers: basic algorithm strength (easy, moderate, hard, or whatever) and production modifier (+/- specific % or multiplier value). So there is a possibility to have very hard algorithm and low starting resources. This mode will finally on big map be the strongest. And weak with lots of resources - will be strong only on early game. The production modifier can also differ players. When two players are very different (f.e. one friend, veteran in the game wants to show the game to a second friend), they can modify the basic economy power and differ that on a very easy way. If we do that, there will be no need of tweaking modes of AI. Just add a functionality, independent for player type and ID. einstein13 |
king_of_nowhere |
Posted at: 2016-02-21, 23:39
we don't have to be limited to 3 difficulty levels. civilization 4 had 9, other games 5 or 6. if we implement a window menu with the various levels and what they mean, nothing stops us from having as many as we want. In fact, we may even give them some fancy names. Top Quote |
DragonAtma Topic Opener |
Posted at: 2016-02-22, 08:15
Keep in mind that there will ALWAYS be people who want insanely tough levels. On Civ2, for example, there are six strategies -- but even the top one (Deity) wasn't hard enoiugh for some people, so they found a way to add in MORE difficulties: http://forums.civfanatics.com/showthread.php?t=146045 .
Top Quote |
Tibor |
Posted at: 2016-02-22, 20:06
OK then, I am not against that fourth level. I will do what will be needed in AI C++ code.... but most of work will be in the rest of code Top Quote |
DragonAtma Topic Opener |
Posted at: 2016-02-23, 09:33
Ideally we'd have both AIs and difficulty levels, but that's up to the programmers. Top Quote |
Tibor |
Posted at: 2016-02-23, 21:18
Or we can add third possibility to "Initialization" option, so we can have:
Seems the cleanest solution to me... Top Quote |
Tibor |
Posted at: 2016-02-23, 22:05
Heck, the concept is already implemented, see: lp:~widelands-dev/widelands/new_starting_conditions So what are we discussing here? I think it needs some attention, perhaps renaming the added option, or adding another one - I would prefer new one with 5x starting resources. And also some testing is needed.... Top Quote |
king_of_nowhere |
Posted at: 2016-02-23, 22:16
because influencing only the starting conditions is not a good way to increase difficulty. the ai will be extremely strong early, but it will fall back as soon as those extra resources are used. I'm not saying that it cannot or should not be done, but ideally a difficulty level should be equally difficult in early and late game, for large and small maps, for flat or rugged terrains, for team games or free for all or one versus many. and the only true, ultimate way of implementing it is to increase the speed at which ai buildings work. i see everything else as a temporary patch Top Quote |
Tibor |
Posted at: 2016-02-23, 22:22
OK, but this is what we have now
Moreover it is LUA scripting so there are some possibilities of higher logic - for adding resources during the game... And moreover it is trivial to extend and customize - it is lua, not C++, no serious coding skills are needed... Top Quote |