List of MTG Engines
Here's a list of MTG Engines:
|Name||DesktopOS||Language||Last Release||Screenshot||Release Schedule||AI*||Card Count*|
|Forge||Any (Java)||Java||2017-01-13 (1.5.58)||-||2-4 Weeks||Simple||16443|
|Incantus||Any (Python)||Python||2012-05-23 (0.7.1c)||-||1-68 Weeks||None||2583+|
|XMage||Any (Java)||Java||2016-07-24 (1.4.13v3)||-||1-2 Weeks||Mad, DraftBot||23929|
|BotArena||Windows||C++||2013-03-02 (1.44.2)||-||~4-6 Weeks||Minimax||10744|
|Magarena||Any (Java)||Java||2016-12-31 (1.80)||-||Monthly & Daily Builds||Minimax/Monte Carlo/Vegas - incl. cheat vers.||11296|
|Multiverse||Any (Java)||Java||2014-08-24 (1.2.1)||click||2-8 Weeks||None||1500+|
|Manalink 3.0||Windows||ASM / C||2016-08-07 (EMN)||-||4 Weeks||Simple||12869|
- For AI column, please give a short description that makes a touch of sense about how the AI works (AI/Simple State machine etc). Add details as a note below, if you can't think of a good description.
- Card Count: Not as simple as you'd first think -
- There are about 16763 +2 Distinct Mtg Cards by name ever printed (including non Standard cards like Schemes and Avatars). Gatherer (Gatherer is missing Scarmaker and Jaraku the Interloper )
- There are 150 total physical cards with multiple names (Split, Flip, Transform) giving a total of 16613 physical cards.
- There are 224 total physical cards in Un-sets (not including basic lands Gatherer), many of which involve physical actions which cannot be programmable, which would reduce the total to 16389
- There are also 2 other cards involving physical actions Chaos Orb and Falling Star creating a likely realistic total of 16387
- Vintage format contains 16,102 physical cards.
|Name||Undo||Multiplayer*||Human vs Human*||"Quest" Mode||Draft||Sealed||Card Scripting*|
|XMage||Yes||Yes (3-10)||Yes||No||Booster & Cube (4-16)||Yes (2-16)||No|
|Magarena||Yes||No||No||No||No||No||Yes (Natural language & Groovy script)|
|Manalink 3.0||No||No||Not working||Yes||Yes||Yes||No|
- Multiplayer means more than 2 Players.
- Human vs Human is generally used for over the Network against another Human. If you support local Human vs Human (via Hot Seat) make a note as applicable.
- Card scripting allows for creation/testing of new cards outside of the chosen programming language, generally without recompiling.
|Name||Standard||Commander||Planechase||Vanguard||Archenemy||AI vs AI||AI Cards||Ante||MobileOS||Save/Load State|
|Manalink 3.0||99%||Yes||Yes||Yes||Yes||No||~90%,~70%decent||Yes||No||Yes most times|
- Save/Load State: Saving an existing game to disk, for loading back in at a later time.
- Limited: Techically it is possible to describe a game state with some limitations (ex. auras cannot be attached). This is widely used in test utility.
|Name||Pictures||Folder Structure||Naming Convention||Crops||Full||Uniques*|
|Incantus||Yes||All in one folder||WotC website*||No||Yes||No|
|Magarena||Yes||All in one folder||slightlymagic||Yes||Yes||No|
|Multiverse||Yes||All in one folder||Gatherer Multiverse IDs||Yes||-||Yes|
|Wagic||Yes||Set-per-folder||Gatherer Multiverse IDs*||Yes||Yes||Yes|
|Manalink 3.0||Yes||All in one folder||WotC Gatherer*||Yes (288x232)||No||Yes|
|Magicgrove||Possible||All in one folder||slightlymagic||Yes||No||4 Lands|
- Uniques: This basically allows for cards which have more than one image in each set to be displayed in it's different forms. This was in effect for a few early sets like Fallen Empires and Alliances. This is also the case for most basic lands.
- Incantus downloads card images from the WotC website into a card_images.db, but it can also read images from the /data/cardimg/ folder as long as they use the same format, i.e. the name of the card with spaces turned into underscores and commas stripped out.
- Manalink 3.0: Image files are named conforming to the English language card names officially listed in the Magic Gatherer Card Database, with non-legal file naming characters (*, /, \, :,") being replaced in the file name with an underscore for each of the illegal characters used in the card’s name. Except for the default image, alternative artwork files for a card are identified by a single space after the card’s name followed by a bracketed number. e.g ‘Circle of Protection_ Black (1).jpg'
- Wagic Gatherer Multiverse IDs: The majority of cards follow Gatherer’s IDs, except for tokens, that have no ID (?), which names are source card’s ID and then «t» letter (for «token»). For example, «249685t» for 3/3 Beast token from M13. Also this rule has exceptions, too.
Here are some brief instructions on how to add Engines to the above tables. Please let me know (friarsol) if you have difficulties with the instructions, and I'll try to clarify them.
Adding an Engine
Copy the format provided by one of the other Engines already on the list.
For example, on the first table, copy the following (from the wiki code):
|- | [http://www.slightlymagic.net/forum/viewforum.php?f=26 Forge] || Any (Java) || N/A || Java || 2012-08-03 [http://www.slightlymagic.net/forum/viewtopic.php?f=26&t=7738 (1.2.11)] || 3-4 Weeks || Simple || 11034
and paste it below the last line that starts an Engine table row, just before the
and then fill in the appropriate data, making sure to leave spaces in between the || symbol
Each table has slightly different column length, so make sure to grab your sample table row from the right table before adding.
Adding new Columns
If you'd like to add a new Column, I'd recommend adding at the end of an existing table. The trick here is to make sure you provide phantom data cells for every other engine that exists. Unless you don't mind hitting the preview button a lot, feel free to make suggestions and I can add them in if they seem like a reasonable comparison.