I have implemented some more analyzing functions to determine how good Edai is doing. I also realized yesterday that time also is a factor that can determine if the rule composition is good or not. The AI does not necessarily need to win if it is playing against a human player. As long as it is a pretty long match, because that will most likely result in a fun and interesting match, that was kind of hard for the player.
I think I also managed to make Edai defend a bit better, as you could see in the first video I uploaded (this one), it did not help out with units stationed in the base even though the base was being attacked. I noticed that the default AI did a better job at that, so i looked through its script, and the only difference I really found was that the first thing it did was to set a few units (2 assault units) as defenders. That seemed to make all units that wasn’t currently attacking, help out if the base was attacked. So I did that myself, I set one unit of the first attacking units in the script to defenders. It seems to a better job at defending now. Although it does not work perfectly all the time…
I also found some more bugs in my script generation. For example, the big gun turret stopped getting added to the script when it should have. That was because of a typo from me, I forgot to add a parameter to the dependency list for it. It worked before because I added turrets to the script differently before. But it got skipped now since I check if all parameters exists.
Edai has also managed to win again, I captured the win and might upload it later. It had assault units and buggies for defence and choppers (the white futuristic looking thing, not heli that actually has rotor blades), tanks and bombers for attack.
I have also removed one of the attacking forces, so I now only have one defending force and one attacking. I did this because I rather wanted a larger group of units to attack together instead of just a single unit type to attack by itself. Which is how the rules are formed currently, I wanted to add several units to each rule. But I haven’t done that yet, so this will fix that problem somewhat. I have also removed medics and engineers from the rule list. Medics is only useful if you have infantry units, and as I said, rules only support one unit type per rule at the moment, so that makes medics likely to be useless if there are no infantry units on the field. i removed engineers because I felt they weren’t needed as a rule, I have hard coded the AI to start with 3, and that will then later be increased to 4, and I feel that to be sufficient in most cases. If you have to many engineers that builds at the same time, as well as training new units, the Ai will almost lock up because the resource collection rate is way to low for it to build all that at the same time.
Lastly, I will not implement the tactic snatcher or whatever you want to call it, first of all, as I mentioned in a previous post, it pretty much wont contribute anything to this project. Second of all, I don’t feel like I have time to do it, I instead want to focus on the current learning functions and try to make it as good as possible in the last few days of this project (a week or so left). I mentioned this in the project plan, it was only a wish list item anyway.