This post was by janh, originally in the other thread.
I started to write a long, detailed business plan-type post to yours, which I think asks the correct quesitons. But then I figured why bother? Matrix will either continue to progress its strongest franchise, or it won't.
The AI improvements, global set-up variables, coupled with the graphic and UI improvements talked about here many times (zooming map, TF templates, easier industry interfaces, etc.) would allow Matrix to re-market the WITP core one more time to current fans like us. It would remove the need to fund a clean-sheet stab at a new engine, which is possibly a seven-figure budget proposition. It would stay away from at least part of the spaghetti code problem by working on the periphery of the engine. It would leave the currently awesome OOB alone.
..... END Bullwinkle58 material.
Ah, I recall, yes. I guess in principle you are right. It would be interested in a questionaire, maybe with the possibility to rate the items one would like to see improved or expanded, or removed. Just out of pure curiosity to see what the majority would like. And ideally also those who do not regularly read or participate in the forum, and are part of the silent single-player audience.
A questionaire could be done by Matrix pretty easily. I think to be useful in stratifying features, rather than open the floor, they could comb the forum for past ideas and put them into three budget buckets: Expensive, Moderate, Cheap. Then let responders "chose one from Column A and two from Column B." IOW, if AI were the top request of that responder give a weight to its development cost (maybe 80% of total) and only let the responder have a few other choices. OTOH, if AI is not important to that responder let him choose many Cheap upgrades to go with a Moderate. That type of thing. The objective would be to impose some discipline on responders who otherwise would want 100-man-years of new game for their money, while giving Matrix some idea of the heat behind each request topic.
As I said in the first post, the objective is incremental improvement over time, not one massive leap to perfection, whatever that is. To begin to see WITP as a living product that need never end, one which can grow on the success of the last, re-using material when appropriate and keeping up with advances in PC hardware.
I would dare to bet that AI and use of AI to automate some micromanagement or delegate some local commands (china ground, rear area ASW and convoys, etc) would rate high. And UI probably too. Not that I dislike the present UI, but the more Michaels adds to it (*, #, ...), the more it appears to slowly be overloaded. Also a zoom and unzoom feature would be extremely welcome.
The map zoom in WitE was among the best features of the game., Given the size of AE LCU and other icons a zoom would be a huge boon.
Automating in-game systems would be a feature in the quesitonaire. Or several. I think that having the AI manage geographies is very much harder, due to hand-off events and multiple demands for the same asset, than closed-end game functions like pilot management, fatigue management, or strategic movement behind the lines (how many times must I tell asets arriving at EC to get themselves to SF when that's what I always want them to do?)
Regarding the AI work I think you are speaking of Herwin. He studied that.
I read the thread suggested by fcharton. I read some of Herwin's posts, but I confess I stopped as his points often related to his work and only tangentially to the game. From your comments below I believe I was thinking of you. You are too modest.
I have been working only little with neural networks, although they are nowadays also being used in my field (theoretical/computational chemistry) to speed up codes. They are not very common, though, and also not meant to be "learning" in a larger sense. I have some experience with AI design, but mostly self-tought in my leisure time. In the past years I have been very busy writing AI enhancements and an "operational" AI for ARMA2, which is awfully modder-friendly with only very little hardcoded functionality not exposed to modding. It requires C++ knowledge as both the objects and the scripting language (with a special precompiler) are C++ based. With almost 1300 commands, local and global variables and various namespaces, you can do almost everything. The only limit is the CPU load, since in contrast to something like WitP it matters how fast your scripts are executed, and how many scripts run at any moment. The latter part is actually the bigger challenge, to avoid any overhead, unnecessary loops and so on. Often a look at the "numerical recipes", smart tricks/approximations and optimization is necessary.
I recall Herwin was of the opinion that an AI could never be as good as a human, and I know from other people in that area that there is a lively debate about such arguments.
It is, but I see the business case here as making that debate largely moot. As before, Matrix is never going to design a top-flight AI for a game when the best labs in the world are still struggling in ways detailed in fcharton's referenced thread. And it doesn't have to in order to come up with a saleable product. It just has to be better. There are ideas in that thread which piont the way towards making that happen. But as the old saying goes we must be careful to not ask Matrix for something which results in perfect being the enemy of good enough.
Part of it is due to the problem what "good" is? Behavior by the book? Learning behavior? Ability to improvise? Ability to make mistakes? And how something that in one outcome would look like the most brilliant, improvised, unconventional move might be bone-headed in another.
Herwin was probably right, we won't get AIs that will be on par with a good or poor human player -- not so soon, at least.
Not the goal. However, as far as WITP2 goes I think the problem space is smaller than free-ranging discussions of AI theory make it seem. We don't need a general AI whcih can play out any battle or campaign. DoD might need that, but we don't. We need a custom AI which can play out the boxed war found in WITP. A defined time span. A very defined, immutable map. A semi-fixed OOB known to the AI in advance. And, at this point, hundreds of AARs which detail the most common campaign moves, objectives, and techniques pounded out by thoughtful humans who have detailed their pros and cons to each in exacting (and free to Matrix) detail. All of that can be used to refine the current script skeleton to a next-generation.
There is many groups working on this general area, be it in the context of drones, industrial plants, robotics or whatever. They are making progress, some even in the area of learning codes (which gets back to the basic idea of neural networks, if I understood it's origins correctly). But no matter what would be doable in games with that today, I don't think any gaming company would invest that much yet. Not if a lot lesser investment gives you the same sales volume. And AI just is "just not a visible advertisement" (such as the graphics polishing of so many titles in the past 10-15 years, which somehow led to ignoring the further development of the game idea, features, AI etc.).
In the general sense you're correct about AI not being sexy in ads. But this is a specific case, with a defined target segment of AE players. We know the AI's limits and we know how important it is to imporve it if the game is to have future legs. We're an odd, niche-cubed target market (wargames-PTO-WITP) who are very different than a new mark who wanders into Matrix's sales site with no pre-knowledge.
In contrast to Herwin I believe that AI can, nonetheless be a lot better than most games show.
WiTE, for instance, I find shows that. It is at least smart by the book, and does all the routine stuff very well. And it could certainly improved to also react even better to unusual situations, i.e. what for a human would be called improvisation. Also there we follow rules, and those could be implemented as well. Just at what cost, what time and efforts would it take? Too much for a company.
In contrast to my comments on WitE elsewhere, I agree with you that the AI is pretty good. I played four scenarios, never a GC, but in general I was pressed by the AI in each one. It seemed quite confident in forming combined-arms attacks, exploited my mistakes instantly, and was also very good at behind-the-lines marshalling and strat movement. It did not do suicide attacks, worked with supply and fuel constraints well, and in general did what it needed to do to manhandle a newbie who didn't know all the rules. In particular, and of parallel importance to WITP2, it didn't ever get tired or forget steps. This is a great advantage AIs have, and in a mega-game it is magnified. AIs can simply outwork a human mind over the long haul.
However, to be fair, WitE is a 2-D problem--land and logistics. The air model is castrated and a shadow of the complexity found in AE. There is no naval element to speak of. There is a defined front line in most moves unless a general rout is achieved. And terrain is somewhat less a factor than in the AE map where it ranges from deep ocean to Himalayas. But in general I never got the feeling it was working to scripts. Maybe it was, but they were more behind the curtain than in AE.
Pretty much the same holds true for the ARMA series. Pretty good already as vanillia, it is amazing to see how much potential was opened up by just making this code to modder friendly and adding some many scripting functions, and more with each sequel and with each beta patch every month. Look at mods like ACE2, ACRE or so many others, they more than double the game content and not only fine-tune the AI, they really add new functionality to it. It took a long time, but since code is easily portable between the sequels, it gets carried on, improved and extended with every sequel.
With scripting functions and codes analogous to ARMA2, you could expect the community to squeeze out a lot more from games like WiTE or AE. You would have to rely on static scripts, which say "trigger the invasion of Nomuea on a fixed date, or when a given base falls". You could make that a separate function to be called with arguments (containing the exact LCUs or selected them based on a HQ, add LBA or Naval assets and whatever parameter you might want), and have it called from a parent thread that for e.g. check the force dispositions in that region first (BB, CV, B-17 or Bettys or LCUs with AV>y detected in the past X turns within a range of N hexes from ...), or whether there was a decisive carrier battle preceding it as requirement, and making sure it fits into the global strategy. Then you have this function in each turn put out some status variables to the parent threat, e.g. checking whether force allocations were to little, too much, whether supply is needed or whether a sudden development rendered this move totally stupid for some reason (and then perhaps spawning a function that could organize an evacuation, reinforcement or whatever you wanted the AI to be able to do). Some scirpting might need a little bonus for AI, for e.g. letting it occasionally peek through fog-of-war a bit or so, but if done correctly, it would still look natural/normal to a player.
I understand your enthusiasm for player-led AI modding, but I'm doubtful of it working here. First, Matrix is institutionally very close-hold with releasing any details of executible code. The degree some games, especially shooters, open their code base up to fans must make Matrix managers cringe. Second, I was initially hopeful that AE would be modded to a great degree and argued hard to doubters on Usenet that this would be the case. And there have been some very good to great mods. But the clunkiness of the editor combined with so much being embedded in the EXE, as well as the player community here tending to older and less technical than in many other gaming communities I think it's hard to expect many AE-ites to learn to mod AI. Some would take to it, but most of the players here want to play, not mod.
I imagine in the beginning it would be a huge lot of work, but you could write such dynamic functions either for each set of targets, India, Adamans, OZ, DEI, Mariannas etc. taking into a account that way the peculiarities of the region a bit. Vanilla could be just about on par with the present AE AI, maybe with an additional check for naval assets before starting any of their scripts to avoid wasting CV or other capital ships against well-known player strongholds or such. The rest might be up to the community. And if you look at the DaBabes or RA modes, not to mention others, and perhaps a few of those silent single players who would be interested in a more flexible AI, I am sure after some 2 years all the vanillia scripts would have doubled in refinement and functionality -- after having seen how this scripting grew with each ARMA2. There would be a huge potential and I wouldn't want to imagine what someone like Andy Mac with his mean spirit might be able to do with such a toolkit at his hands -- he might be able to give even the most gifted PBEM players a hard time.
I've read a lot of threads on AI theory and I confess I don't know a thing, really. So my ideas come at it from a non-technical POV. But I agree that scripts have to remain in the near-term. There simply is not the funding on any level to go into some of the techs expounded upon in those threads. But that's not to say a scripted environment can't be improved.
Referring to what I said above, that WITP is a box of known size, shape, and duration, I think script structures could use that more effectively. I was struck by something fcharton said in one of his posts in that thread about the difference between error from bias and error from noise. That seem to offer a "place to stand" as an AI designer seeks to find a better way to fire scripts. One big problem now is that scripts are chosen up front and then If-Then-Elsed as triggers are hit. Perhaps there would be a way to "chunk" the map into geographic pieces, using the accumulated learning from the AAR library, and periodically snapshot the situation in each chunk, derive an objective value for criticality and progress toward macro objectives (remove the "accumulated noise" based on objectives achieved in the chunk as well as presence of OOB assets), and then at those periodic intervals fire new scripts, or acceelerate those already in the queue. IOW try to overlay a strategic schedule on known game-winning or losing objectives and periodically measure progreess based on best practices from AARs, and tell the AI to go faster or slower based on map state at that game date.
As to the scripts themselves, I see them as largely still human pre-written, but perhaps with more flex (teleporting too) to re-cast themselves based on the aggression coefficient calculated as above. Plump up naval TFs when the next objective is critical, and meld this with LBA assets somehow to make it look like a combined-arms move. I don't exactly understnad how much flex is in formation creation now, but my impression is the naval formations at least are pretty strictly defined by class and number, with only the specific ships teleported in to form them as needed by the script.
I think this would be a better way for Gary and his crew in designing new AIs for their games, more efficient than hardcoding and testing every bit of AI code on their own. Not to mention that this level of mod-ability appears almost a selling reason by its own right nowadays. I would be very happy one day to browse the forum and to see the announcement of a WiTP2 with such features, but well, it may be long before that.
As above, I'm skeptical that modding is the way to go, and from a business perspective quite risky if the modders don't step forward, but anything which could be done to make the script-writing process less opaque I'd be in favor of trying. I've poked around in the editor a little, but I find it very hard to grasp compared to developer tool kits released for other games I own. Andy Mac continues to be the main source of scripts, and while his are excellent and often devious, it's still one man's approach.
< Message edited by Bullwinkle58 -- 7/31/2012 2:47:35 AM >