Original Post — Direct link

Sr. Software Engineer, Alex Werner, gives a peak into the rules engine and insight into the job of those of us who make sure that hundreds of new Magic cards added each year work with the thousands of cards that already exist.

https://magic.wizards.com/en/news/mtg-arena/on-whiteboards-naps-and-living-breakthrough

External link →

Originally posted by TW80000

Love the article. Got a few questions:

  • I’m very curious as to how a team decided to use a language with as notorious a reputation as lisp for a production system. But I’ve heard it’s great for developing sort of DSLs so it seems like a perfect fit, but I have to imagine it was a known risk to build the system in lisp for hiring reasons.
  • Are any parts of the system open source?
  • Are you using AI/ML internally for anything? Evaluating cards, simulating games, predicting mana costs, etc.
  • Does Magic Online have a similar architecture or do they use a different approach?

Arguably the whole concept of "parsing cards" is AI. As are AutoTap and the system that navigates a player to the end of their turn if they run out of time (AutoResponder). And additionally we have a system called RoboQA that nightly plays hundreds of thousands of games against itself looking for ways to crash the game (it's the world's most experienced MTG player!).

After all, AI is a pretty wide term - it's "an artificial system that does stuff that are associated with intelligence". Still, all of our systems are as deterministic as possible - we don't leverage big data or probability distributions or randomization as a matter of course. Well, RoboQA does. #wotc_staff