January 25th, 2014, 04:40
Posts: 901
Threads: 28
Joined: Oct 2008
A thread for discussion of how AI plays the game...
- if it is necessary to change it
- how it should be done.
[in relation to Create your own AI contest]
January 25th, 2014, 05:13
(This post was last modified: January 25th, 2014, 05:15 by kyrub.)
Posts: 901
Threads: 28
Joined: Oct 2008
1) Deep concern: How AI creates colony ships out of nothing.
Current state is a simulation:
[every turn]
IF Player's Colony Ships < 4 AND
IF 2/5 of Planetary production from all player's planets > d1000
IF GameDifficulty is < d6
The program creates an absolutely free colony ship and puts instantly in one of the main subfleets.
It is not fair at all, massive, non-quantificative advantage in early colonization.
I really dislike that the AI has this kind of free advantage. If we improve AI colonization, the human player will have no chance.
How to change it (suggestions)
a) make AI build colony ship normally. Easy, no? - No, in fact, it's pretty complex, really. Where should it build, on which planet, how many, it needs to stop buiilding colony ships when it builds...
b) make AI pay for its colony ship from its reserve. - Easy to do, but not exactly painful for the AI.
c) make AI pay with its current production amassed on all its planets. Relatively easy to do and relatively painful for the AI. If the current production is not enough, the rest is payed from the reserve.
d) ...?
(discuss, suggest etc.)
January 25th, 2014, 15:30
Posts: 634
Threads: 13
Joined: Nov 2010
(January 25th, 2014, 05:13)kyrub Wrote: 1) Deep concern: How AI creates colony ships out of nothing. This is just one classic example for how little attention was given to the AI programming (again). No time, no knowledge and no money to develop AI? No problem, setup simple cheats for AI. This is universally the approach of all complex TBS game AIs out there with the notable exception of C-Evo, which plays by same rules as human player (definition of cheat-free AI).
AI cheat was deliberate in MOO and it was somewhat balanced for user experience. I know many other examples of how AI cheats (or plays by different rules). I strongly advise not touching the AI cheats now, since AI is still very weak and the game is somewhat balanced. I never lost on impossible except when I also played by my own extra in-house rules. Let's focus on AI stupidity now and once we make AI strong enough to win on impossible against top players, then we discuss AI cheat and attempts to replace them with AI strength. They are not easy to fix and would create unwanted side effects, which will be additional work to balance. That being said, I have an idea how to fix this, but let's discuss current action items, not future items. Replacing one cheat with another is not attractive to me, but can save time for us, like it did for the original programmers.
January 25th, 2014, 15:41
Posts: 19
Threads: 0
Joined: Apr 2011
I would like to caution. The objective is to create not "fair" or "strong" AI, but an AI with which is interesting to play.
After removing the '4th ship curse' the AI shows such pretty performance that I began to doubt it was a bug, not a feature.
Current simulation works good and needn't change the concept itself. Only formula should be a subject of changes.
Quote:If we improve AI colonization ...
What are you mean? The colony ships are the only thing that AI needs for colonization.
Quote:IF GameDifficulty is < d6
It seems to be '>' (greater), not '<' (lesser).
January 25th, 2014, 16:33
Posts: 901
Threads: 28
Joined: Oct 2008
(January 25th, 2014, 15:41)Andrew Wrote: After removing the '4th ship curse' the AI shows such pretty performance that I began to doubt it was a bug, not a feature. The 4th colony ship bug is entirely obvious, rest assured. I wish I could you show you more than this:
Code: routine Create a new colony ship? (works only if existing colony ships < 4)
IF no colony ships created go to SKIP
routine Send fleet to colonize
:SKIP
Quote:It seems to be '>' (greater), not '<' (lesser).
Thanks, I wanted to write SKIP at the end, and forgot.
Quote:Current simulation works good and needn't change the concept itself. Only formula should be a subject of changes.
It works because AI is shy, you will see. Let's see what a few formula changes will do with the balance...
Whitemage Wrote:Let's focus on AI stupidity now and once we make AI strong enough to win on impossible against top players, then we discuss AI cheat and attempts to replace them with AI strength. You both are probably right. I thought we might include the numbers from new system into the contest.
(I have more points to discuss here, though.)
January 25th, 2014, 18:03
(This post was last modified: January 25th, 2014, 18:07 by WhiteMage.)
Posts: 634
Threads: 13
Joined: Nov 2010
(January 25th, 2014, 15:41)Andrew Wrote: I would like to caution. The objective is to create not "fair" or "strong" AI, but an AI with which is interesting to play. As attractive as this sounds, this is not a good advice. "Interesting to play" is a very fuzzy term and means different things to different players. Many players prefer challenge for their own skill level, but demand that they win at the end. Others, like myself, want maximum challenge and prefer to lose to a stronger player, but on equal terms (meaning at least equal rules, but OK to have different startup, different races, randomness, etc.). My strong belief is that strong AI will lead to "interesting play". AI is to play by exact same rules as any human player and is there to win. As a side effect of this, competition emerges and "interesting game play" will be achieved. What was the last time you played an "interesting chess AI" that cheated? Besides, strong AI is a total miss in complex TBS and is badly needed. Finally, once strong AI is ready, customization, personality, and dumbing down can follow, which is far easier to program than strong AI. So my goal remains strong AI and I acknowledge that is very difficult to achieve. For chess it took more than 40 years and chess AI is trivial to program compared to MOO, MOM, or Civ.
January 25th, 2014, 20:38
(This post was last modified: January 25th, 2014, 20:40 by kyrub.)
Posts: 901
Threads: 28
Joined: Oct 2008
We've had this debate earlier, and for me it's easy to agree on this: We try to make the game more interesting. "Strong, challenging AI" is the basis for that. Anything else that people find entertaining, can be build upon this basis.
MoO 1 has relatively simple yet well-thought concepts, that scream for a good AI performance. Let's make a few steps in the direction.
(January 25th, 2014, 18:03)WhiteMage Wrote: chess AI is trivial to program compared to MOO [just a side note] I can see where you are going with MoM and Civ but ...is Moo more complex than chess? Estimating positions in chess is incomparably harder than in MoO, tactical moves computing, positional play... Ships cannot move to several places in a turn, they all move the same, unlike chess figures... I have my doubts.
January 26th, 2014, 10:12
Posts: 6,457
Threads: 134
Joined: Aug 2004
Chess AI and MoO AI are different. In Chess, you can use brute force and list analysis, those options are not available to you in a complex turn based game. You can program the AI to play well within a given set of parameters, basically telling it which things are good and which aren't. It's way easier to tell it that NPG is overpowered compared to Ion Cannon rather than having it make its own analysis of NPG vs Ion Cannon. You can also tell it that early planetology and a lot of factories before expanding is a good idea. If you instead want to have it calculate what's best, you'll be in a lot of pain. The obvious problem with this kind of AI is that it only works until parameters change, and it only works in an inherently unbalanced and unvaried game. And that's the kind of game we want to move away from, if I understand you all correctly.
So what is the goal? Creating an AI which emphasizes evaluation of different options, or telling it what's usually a good idea? Original MoO is simple enough that the latter approach can be used quite extensively with good results IMO.
January 26th, 2014, 17:07
Posts: 19
Threads: 0
Joined: Apr 2011
Quote:Quote:After removing the '4th ship curse' the AI shows such pretty performance that I began to doubt it was a bug, not a feature.
The 4th colony ship bug is entirely obvious, rest assured. I wish I could you show you more than this:
Certainly, I have to look into code to be sure. Could you provide me the offset? The idea of developers is not revealed. The fact is what there are no factors to restrict overcolonization besides the "bug". Now I doubt even more.
Quote:Quote:Current simulation works good and needn't change the concept itself. Only formula should be a subject of changes.
It works because AI is shy, you will see. Let's see what a few formula changes will do with the balance...
The changing of only constants in formula does a little use. It either will have a negligible effect or will break the balance at once. Because the formula itself is flawed.
January 26th, 2014, 18:58
(This post was last modified: January 27th, 2014, 07:59 by kyrub.)
Posts: 901
Threads: 28
Joined: Oct 2008
Fair points about chess and MoO, Catwalk.
Catwalk Wrote:Creating an AI which emphasizes evaluation of different options, or telling it what's usually a good idea? Original MoO is simple enough that the latter approach can be used quite extensively with good results IMO. Surely the latter approach. A) Assembler coding is painful method for extensive changes. B) All projects I've tried to do in last 18 months have failed on increasing lack of time and focus, so we need something really simple this time - and effective.
(January 26th, 2014, 17:07)Andrew Wrote: Certainly, I have to look into code to be sure. Could you provide me the offset? The idea of developers is not revealed. The fact is what there are no factors to restrict overcolonization besides the "bug". Now I doubt even more.
EDIT: instead of rant, here is your offset (for the "code" I showed you).
0x8563B As I said, I guess it won't help you...
|