Re: Working Together
Well, I was thinking that AI could have a separate COPY of rules engine that it could use to try moves - but whatever it does, it would be hidden from the true game engine that would only receive the final result of AI calculation.Incantus wrote:To answer Marek, it would be very difficult, if not impossible, to have an AI engine that didn't require integration with the rules engine. It's easy to say the AI should just tell the rules engine what to do, but that's because you are assuming it would work similar to the way we do. Each of playing magic has our internal rules engine that lets us decide what actions are beneficial, and we play those decisions/scenarios internally before commiting to a real action. In order to get a slightly non-stupid AI, it would be necessary to allow the AI access to the rules engine to perform theoretical calculations (basically doing a search through possible move space). I would one day like to do a version with an AI, and I look at Incantus as a prototype to see what kind of architecture is needed to support the rules of Magic, and whether that architecture is feasible in faster, compiled languages. Currently I believe could use a language like Scheme or Lua to that would be both rules compliant and fast enough to do a search AI. Anyway, I believe a program closest to those goals is Deckbot/Botarena, which has quite a number complicated cards and has a decent AI.
In the end, a "move" in Magic is just selecting one possibility from a list, after all. (Those who play with BotArena find this out pretty quickly, though I think that system could [and possibly should] be even more atomized.)