I cant wait to see what Argh has to say about all this.
Erm...
I have beaten all of this stuff to death. To DEATH. Over and over again. I see no point in rehashing all of the fundamental arguments I raised. For those who can't be bothered to read my previous rants, here's a very short synopsis. Yup, this is the short version...
1. What is "learning", from a machine's perspective? How do we turn that into any practical application? I have yet to read anybody's take on this that cannot be quickly and logically dis-proven, given different starting conditions.
2. What is worth "knowing" is a lot different than what is likely to emerge from "learning". What humans know is really just a gestalt of pattern recognition- this is an acceptable argument. However, what humans are observing, and drawing conclusions from, is quite a bit more complicated than it first appears.
3. Statistics are a pleasant but ultimately futile trap. Statistical approaches inevitably make so many fundamental assumptions about starting conditions that they are almost entirely useless. Humans do not really store statistical anything in their minds. They do store odds, but only in a general way. And, as experiment after experiment has shown, they store data that is specific to a problem being solved. For example, chess grandmasters aren't any better than average test subjects at feats of memorization... however, they are very good at remembering specific combinations of complex structures from chess. The same has been shown with many other specialists.
4. AIs that are going to defeat humans should cheat. Period.
5. No AI designer is going to possibly understand a game design as well as the designers themselves. The best possible AI is something that modders can tune to the specific needs of their game design, not something that magically "figures out" how a game design actually works.
6. Show me a good "learning" AI that plays a decent game of AA, and I will show you a "learning" AI that will suck at NanoBlobs. I have watched the "learning" approaches come and go here for months- they have all died of their own hubris and the authors inevitably fade away, having viewed the great mountain and coming away humbled. AAI's painful demise was especially interesting, if not terribly satisfying- I had hopes that Submarine would stay pure to his initial design goals, so that we'd have a pure "learning AI" to compare all other design strategies to... but, as the competition grew fiercer, he couldn't resist adding more specificity, which made it harder to support other mods, and so forth, until AAI was, basically, just an AI designed to play AA with mediocre abilty, and play anything else badly. Or crash
7. If your AI can't beat a human at NanoBlobs, then it's not likely to beat a human at anything more complex. I challenge any would-be AI designer to design an AI that give me more than a moderately-challenging game. The closest I have gotten, in that regard, has been NTAI, now that it's tuned decently (it
will kill you, if you're a newbie), and KAI when NanoBlobs was a lot less subtle and allowed for more raw speed than it currently does. I was fascinated by how just slowing down the speed at which things could be built made such a huge difference in how well KAI could play, though- once things were slowed down to a level a human could deal with, it was very easily defeated, all other factors being equal.
At this time, NTAI is the only AI that can even play the mod that was designed to give AI developers a very focused, problem-specific and balanced testbed, designed to give humans and AIs roughly even chances.
I think this is a real shame. If would-be AI developers would focus on making their AI capable of playing something small and tight like that, they'd get a really close-up view of the problems they face.
If you cannot design an AI to beat a human at a mod that's designed to give AIs specific advantages in the areas that they exceed human abilities (such as multitasking, concentrating on multiple points of observation, and cheating methods such as map-hacking and other things)... then what are your chances of defeating a human at anything complex? Zero.
I have played every AI for Spring at least once. Most weren't even worth a second glance, because they keep going down the same roads:
1. They are severely state-driven, and have no dynamic command structures to give them flexibility and randomness. This makes them extremely hard to re-task for new mods, and they fail utterly when confronted with truely new game designs.
NTAI had this problem until XE8, and tbh when I finally got this latest buildtree done, I yelped with glee, because I'd been simulating flexibility with very mushy buildtrees, and now my simulated flexibility is statistically accurate and presents a balanced long-term set of curves to work with. In the long term, NTAI now builds armies that make at least some sense, even against humans. Perfect? No. There are details that aren't yet there. But it's still 100% better than before.
2. They fail to understand that units are not just a collection of statistics in a TDF file, but also contain many pieces of information that aren't available directly through the AI Interface code, such as the rate of turn on turrets and the other "small details" that contribute HUGELY to the relative balance of units!
3. They don't spend nearly enough energy on understanding the role that maps play in games. KAI's advanced topography/chokepoint scanner is probably the single most interesting piece of new AI technology developed for Spring, and I am hoping he'll be nice enough to give us the source, just so that that can become part of the body of knowledge.
4. They don't provide decent, or even any, support for modders. AAI and NTAI were competing on this front for awhile, but NTAI pulled waaaaay ahead several versions ago, and has continued to improve.
5. They're built by people who come at the problems of AI in prejudiced ways, instead of studying the issues like proper scientists. It's one thing to think the Bertha is currently OP vs. Tim in AA... it's another thing entirely to bring that sort've fuzzy, not-necessarily-accurate worldview and impose it on a piece of state-driven logic.
6. They forget that an AI that keeps CPU usage to a bare minimum while being stable and relatively decent is a lot more useful and will attract a much greater audience than an AI that is theoretically going to start improving upon Plato and Kasparov in 2100, but requires a super-computer to move gigs of datasets around, crashes constantly, and is generally un-genial.
... let's see... did I miss any of my traditional ranting points on this subject? Hmm....
To sum up...
AIs should be flexibly designed, because Spring mods are constantly being altered, and new game designs continue to emerge. Some of the game designs I've checked out recently around here have been pretty neato new things, conceptually speaking, and there's exactly
one AI that can handle them to some extent.
AIs should not attempt to "learn" until somebody comes up with a proof of what "learning" would mean that is both useful and defendable. Personally, I think that road is a waste of time, and I hate reading this same set of tired arguments brought forth. No amount of repetitious random-bashing of all possible units on all possible terrains will equal a decent human player's total gestalt. Period. This is not chess, where the moves are ultimately calculatable. There are too many random factors and possible choices to predict ahead in time with decisive results, once your simulation becomes complex enough. While it may be possible to make a Weasel kill a Commander by obeying some simple state-driven rules, it is not possible for that Weasel to always win.
Lastly... AIs that can't work with NanoBlobs will not work with anything else that's radically different from AA/XTA. AI designers who want to be involved with the modding community should keep in mind that the vast majority of us developer-types... are working on things that are fundamentally different from OTA in various ways. Some mods keep OTA's economic assumptions intact... I strongly suspect that will change as soon as we have more options. And very few of them preserve OTA's gameplay assumptions, because we modders have already been there and done that
