Korvar
Posts: 813
Joined: 9/3/2014 Status: offline
|
quote:
ORIGINAL: Alfred The amount of work needed to implement the design features outlined in posts #70 and #72 into a new game engine is much more than has been realised. To attempt to do so with quite old legacy code is fraught with opening up a Pandoras box of work and testing. What is proposed is close to the nirvana of AI coding, an outcome which to date has largely escaped the professional coders of wargames. Ok - the AI script loading idea isn't feasible. What about making an interface to programmatically issue orders? The game would be set to 'human vs. human' with the opponent played by an external AI. Thus only the tactical AI would come into play, just like it does for a PBEM game. Commands would be issued via keyboard (not ideal) or via a specific script format, such as: {unit #}{destination hex}{combat mode} As a very simplistic example of a move order for an LCU. It's possible to use the existing human GUI to accomplish this, but it would be very brittle by nature and add a lot of overhead to the processing requirements. As to the 'brittleness', one unexpected dialog box that pops up over the game could derail it. A command API would circumvent all those problems. Also, even just a year or two ago I'd completely agree with you regarding that being the unreachable nirvana of AI coding, yet major advances are being made in machine learning. Problem sets that were out of the question recently have suddenly become possible. Not that we'd realistically create some "world beating" AI, like I said. The bar is only to beat the current AI, which wouldn't be impossible to do with some time - not because the developers were bad coders/designers, but because they were stuck "tightening the bolts" by hand and we've been given a torque wrench, as it were. Also, it's not like we would develop anything better AI-wise overnight - but it would be a very deep, interesting problem that would keep this community occupied for quite some time. Even non coders could help by helping to write the pseudocode logic and/or conducting unit testing. The interface improvements would be necessary in order to create "incubation" mini-scenarios to train the new, external AI. It would play itself with a very limited problem set - to start with only one unit for each side - perhaps two fighter squadrons. AI #1 would pick some permutation of CAP settings and AI #2 would pick some permutation of sweep settings, for instance. Each time the scenario would reset or maybe there would be many squadrons for the AIs to draw upon, but they'd only use one each per turn - we'd figure it out. The AI would be using the actual game engine to figure out what works for a specific problem by iterating over the problem many, many times. quote:
ORIGINAL: Alfred 1. Matrix does not employ product coders. It is only a publishing house. Any game coding would be carried out by the rewriting team who will not be able to sidestep looking at and properly understanding the existing code. Ok - to clarify, Matrix would be involved in organizing any such effort as they are one of the stakeholders in the project. Although there are few left, there are people still around who could act as guides to the existing code, especially if they could be compensated for their work. Also, if we decided upon a way to minimize the necessary interaction with the source code, such as the issuing of orders only and not touching the AI at all, that would simplify the problems a lot. The heavy lifting would then become a problem set external to the particulars of the WitPAE source code. quote:
ORIGINAL: Alfred 2. There are at least two, and in reality probably three external parties that would have to sign off; Matrix (as the publisher) Henderson Field Design (as it is their game code) and subject to what exactly the licensing agreement covered, also 2By3. If third party software such as Tracker is embedded into the commercial redesign, their approval would also be required. The best way I can think of to make this happen is to present them with a scenario that improves the chances of continuing and/or increasing royalty checks while mitigating the input needed from them, while also protecting their IP. Still no guarantees that any will "bite", of course. quote:
ORIGINAL: Alfred 3. A dynamic script selector, for that is what this proposal fundamentally is, will considerably up the processing power required. This opens up the other hardware factors which if not also addressed in the rewrite, will engender a lot of consumer backlash. You cannot expect people to upgrade their systems without also addressing related issues such as native support for Win10, Dx11 etc removing the need for command switches. I don't see this as much of an issue. The folks who do not have the requisite equipment to run the new implementation can run the current one, if the incentive to upgrade isn't compelling enough or they don't have the resources to do so. New iterations of games having new system requirements is nothing new. quote:
ORIGINAL: Alfred 4. In any case, this rewrite would still be built on the foundation of scripts written by humans. As proposed, the complexity of script writing would be even more than it currently is. Let us be clear, scripts provide the strategy to be followed by the computer, the tactics are handled by the AI under the hood. No strategy exists in a vacuum and what is a good computer course of action can be completely invalidated by the human opponent who can engage in strategic feints which will confuse the selection of any "responding" script. The new AI implementation would require new skill sets by coders, no doubt. The syntax of setting up the problem sets would add complexity to the system, yet, it would simplify things in the long run. It's the difference between using a strict imperative programming paradigm, where you issue every single instruction one at a time versus implementing conditional logic where the program is able to dynamically change the flow of execution depending upon the state of defined conditions. It takes some mental gymnastics to get it set up, but then once it's set, the AI is "off to the races" and begins to figure out what works, if a machine learning paradigm is used. The early implementations of the external AI would probably be comically bad, but the simple fact that it can learn will mean that over time it will make fewer and fewer mistakes. It will never become perfect, but it doesn't need to be - it just needs to make fewer mistakes on average than a decent/good player would do. Its dynamic nature would also mean that it would never quite be the same between games, which would immensely help replayability. quote:
ORIGINAL: Alfred PS. Improving the solo play experience is never high on the list of nominated "improvements" presented in these wish list threads. Very high on the list of "improvements" are myriad issues involving land combat. Those can only be addressed with a new game engine. The AE devs have made it very clear the existing engine has reached its use by date. That is probably the case, yet as you state, the land combat issues are stuck right in the middle of the game engine, and thus become DOA. I think as a community we need to learn to live with and love the game engine as it is. Despite any "warts", it is still a unicorn in the sense that there is nothing else like it to simulate the level of detail for the Pacific theatre in WW2. We are lucky that anything close to this level of sophistication was developed at all. Furthermore, a multiplayer focused strategy works really well with games that can be finished in a pre-determined set of time. Take all the multiplayer FPS games that have no single player componet, but each match is strictly regulated by a timer, usually measured in minutes. I think PBEM is the highest level, ultimate expression, or whatever you want to call it - of WitPAE. Unfortunately, even multi-day turn games easily take many months and even years to play. I would like to play a human opponent, but I know how my schedule shifts. I may be able to play multiple turns a day for a given week, then be required to take a month hiatus. That wouldn't be fair to a human opponent, and they could be reasonably expected to have similar requirements which may not match mine. We don't have to extend the same courtesies to an AI - it can play on our individual terms. A compelling AI will open up WitPAE to the widest possible audience, and a happy side effect would be more "pilots" in the "training pool" waiting for the day when they are ready to be put on the "front lines" and face their 1st living, breathing opponent.
|