So anyway, I was on holidays last week with very little to do and a really bad weather, and I started trying to improve qBot, which, while already very capable, isn't perfect. I've come up after one week with a fairly acceptable improvement, I think. It's not incredibly better, it isn't vastly superior, but it's overall , in my testings, more reliable and a bit less game-able.
It's still a work in progress, but I'm going back to school tomorrow and won't have that much time, so I'm releasing it as is and I'll upgrade it over time.
18/02/12 update: okay, I've done some fair changes over the original description, so here is a review list of changes over qBot:
-Marilyn will go for crates first, then hens/bushes, then only start farming, and will try to build only the required amount of farm.
-Better dropsite placement. Marilyn will build dropsites where needed, and in the best way possible.
-Improved defense. She detects intrusion in her territory, can detect an attack on a unit, can garrison her citizens. Still a work in progeess.
-Attack Plans.Basically, instead of building units and one day saying: allright, I attack, it will create units specifically for attacking and then attack. This is also very much a work in progress.
-Slightly different queue-ing system, though this you won't be able to see.
-Building things rotated!
What remains to be done:
-Handling anything water.
-Better defense: detecting attacks by ships, buildings, individual units or whole armies, and proper retaliation in each cases.
-Better defensive reactivity: remembering where the enemy last attacked, remembering chockepoints, creating armies to counter the enemy...
-Improving attacks: different attack types, a better targeting system, sieging, tricking, decoying, retreating, basically anything.
-Handling resource gathering better. The system works fairly well but fairly blindly, so there is likely room for improvement.
-Handling the bartering.
-More diverse strategies (will have to wait for a true random generator)
-Dealing with allies/multiple enemies
-Likely a few other things.
Marilyn should behave better early game than qBot, and about the same in the late game (with the little advantage from the better start).
Activate the debugging option in "Marilyn.js", this file is basically the same as "qbot.js".
I encourage anybody to try the AI and report whatever they notice. Ask questions if you have any.
Download link (as of 02/24/12, a more recent version could be in available in the later posts)
Edited by wraitii, 24 February 2012 - 08:43 AM.