Eufloria > Eufloria Classic Mods

Mutant AI

(1/2) > >>

Lost Seedling:


A disease has ravaged the Seedling Universe for too long, and like a cell that develops a resistance to an invading bacteria, so a Mutation has occurred that will help the Seedlings fight this scourge of the Seedling Universe. (In the photo above, you can see the Mutants being injected into a Seedling cell wall to fight the invading pathogen!).

Take a dose of the "Mutants" today!

Note:

The MutantAI is not a playable map. While the MutantAI can be assigned to a specific Faction, it's original purpose was as a part of the AI Assist (see separate post), and normally plays as the player's Faction. If you wish to play against the Mutant AI or assign it to another Faction, some slight alterations in code will be necessary.


Lost Seedling:
Watching the existing AI's in action, I noticed certain behaviors that I took advantage of in order to defeat them. I wondered if it would be possible to create an AI that would exploit those weaknesses well enough to actually win once in a while. This was the result. I've found it capable of competing with Infected and Merchant under certain conditions.

I have to say, after working on this, I am totally in awe of Annikk's original Infected AI which is genius in it's simplicity and deadly relentlessness. I'm glad I had both it and Merchant to watch and learn from., as well as mihhaelo's unfinished effort (though I will admit I have no idea what Merchant does despite trying to figure out Aino's code. Thank you Annikk for putting comments in your code!).  I'm embarassed to even call this an "AI", but it is what it is and does provide me some entertainment in watching it do what it does, however awkwardly.

If I had more time to run simulations, I see vast areas for improvement (keeping the framerate as high as possible, of course). It's funny how just the slightest tweaks can make a world of difference in the results. I also have several ideas for a much simpler approach to an AI, that may actually be flexible and competitive. Maybe someday if the new Eufloria PC version is moddable, I will tackle that project.

Aino:
How to encrypt a code: no comments :P
Sorry about that, and my AI works in a very similar fashion to Annikks, only it scouts asteroids(unlike Infected) before doing anything to it, that is why the priority is a matrix instead of an array :)
Mine saves the neighbour asteroids as a variable, keeping FPS very high, but it doesn't support gravity mods or moving asteroids.

Also, gratz on your first AI, I guess it's your last too? :P

Lost Seedling:
Well some of the wildest and wooliest battles I've seen have been between Mutant and Merchant. It gets quite exciting at times! Sometimes, if I could reach into the computer, I felt like taking a hammer to Merchant because it was so IRRITATING! Like a gnat that keeps flying at your face, it is constantly harassing.

I have to say that if Annikk made just a few slight changes to weaknesses in Infected that Mutant tries to exploit, and given the limitations in game frame-rate, Infected would be nearly impossible to beat in larger maps, by man or machine. But, that is the problem of of being on the frontier, you don't have the advantages of those who come behind you.

I should also say that "beating" is not an appropriate description in any AI "battle" where one AI has the advantage of seeing how the other operates beforehand. But these AI arenas do make interesting exercises in logic and decision-making, as well as efficiency in the use of precious clock-cycles! I just hope Annikk doesn't update his beast anytime in the near future, although a reduction in performance drag would be nice! :)


--- Quote ---I guess it's your last too?
--- End quote ---

I hope not, but I just may not have time in the future. While making this, I learned quite a bit about trying to optimize decision-making and simplifying as much as possible versus the need to cover more and more options and possibilities. I initially was going to pursue Annikk's basic idea of assigning values to Asteroids until I looked at his code and saw he had already done that, so rather than just try to make an improved variation of that method, I tried the method that ultimately became the Mutant. Anyway, while working on this, I came up with several other ideas that I think could be devastatingly efficient, so maybe if I have time in the future I'll pursue those. I think, though, if I have any time for more Eufloria, I will try to build a proper AI contest map in which each AI has exactly the same chance at victory. (Except for the "bias" of the asteroid numbering system, which gives a slight bias to lower-numbered asteroids thanks to the for-loops in the lua code).

Aino:

--- Quote from: Lost Seedling on September 20, 2012, 04:18:24 AM ---Well some of the wildest and wooliest battles I've seen have been between Mutant and Merchant. It gets quite exciting at times! Sometimes, if I could reach into the computer, I felt like taking a hammer to Merchant because it was so IRRITATING! Like a gnat that keeps flying at your face, it is constantly harassing.

I have to say that if Annikk made just a few slight changes to weaknesses in Infected that Mutant tries to exploit, and given the limitations in game frame-rate, Infected would be nearly impossible to beat in larger maps, by man or machine. But, that is the problem of of being on the frontier, you don't have the advantages of those who come behind you.

I should also say that "beating" is not an appropriate description in any AI "battle" where one AI has the advantage of seeing how the other operates beforehand. But these AI arenas do make interesting exercises in logic and decision-making, as well as efficiency in the use of precious clock-cycles! I just hope Annikk doesn't update his beast anytime in the near future, although a reduction in performance drag would be nice! :)



I hope not, but I just may not have time in the future. While making this, I learned quite a bit about trying to optimize decision-making and simplifying as much as possible versus the need to cover more and more options and possibilities. I initially was going to pursue Annikk's basic idea of assigning values to Asteroids until I looked at his code and saw he had already done that, so rather than just try to make an improved variation of that method, I tried the method that ultimately became the Mutant. Anyway, while working on this, I came up with several other ideas that I think could be devastatingly efficient, so maybe if I have time in the future I'll pursue those. I think, though, if I have any time for more Eufloria, I will try to build a proper AI contest map in which each AI has exactly the same chance at victory. (Except for the "bias" of the asteroid numbering system, which gives a slight bias to lower-numbered asteroids thanks to the for-loops in the lua code).

--- End quote ---

Nice to hear that it might not be your last AI, and that you've learned quite a bit from this. Though if you have any problems, just ask anyone of us(I know you wanted to keep this secret though)...

And honestly: I think that if Annikk removed the clairvoyance for his AI, Merchant would beat it... But I'd rather him not removing that, 'cause I want to make an AI that beats it! :D

Navigation

[0] Message Index

[#] Next page

Go to full version