Automatic MTG Deckbuilder
A downloadable program for Windows and macOS
This application generates random functional, synergistic Magic: the Gathering decks.
It is an ongoing passion project. This is an early release.
Project Goal
The goal of this project is to rapidly generate viable deck ideas based on an input collection of available cards. It's not intended to generate the most competitive deck possible but rather to find synergistic, interesting and viable decks.
The output decks are not necessarily intended to be final versions of a deck but rather starting points from which your creativity can sparkle that can be further refined.
User Guide and Notes
- Please look carefully at the install instructions that will appear when you click the download button.
- Currently after you press a button it takes a while for the program to give user feedback, so don't panic. If the button was pressed the process will start, just wait for a few seconds.
- The Download Latest Cards button takes a lot of time to process, beware.
- To input a collection it has to be in the format: <amount><space><cardName>, and the card names have to be precise. Same for the restriction list.
- You can expect crashes and failures at this state of development.
- The first time using the program I recommend that you start by leaving all the settings as is and just press the "Create" button to try it out.
- When an output deck is generated I recommend you copy paste it into a decklist in MtgGoldfish to visualize the deck.
How does it work?
The program starts by creating a population of totally random decks. Then, it gives each deck a score based on a number of factors, like color consistency, card synergy, card quality and mana curve. The best decks move on to a second generation of decks and the worst decks are discarded. New decks are randomly created to fill in the gaps of the discarded decks and a new scoring iteration takes place. This process occurs rapidly through thousands of generations and, at the end of the process, the best of the best deck is returned to the user. Usually it results in unexpected, synergistic and optimized card piles.
A note about AI
Without a doubt AI could be used to generate Magic decks and generate similar or better results than this program, but this is not currently possible with publicly available AI technologies yet. For example, by using Chat GPT you can get some deck lists, but they will usually be far too generic and un-creative.
I do not discard leveraging AI in the future and add its input into this program's heuristic to improve its results.
Current Project Features
- Generate random viable decks given an input magic card collection.
- Allows to use the full list of all magic cards instead of a collection.
- Allows to force certain cards to be in the output deck. The program will then find other cards that go well with the selected cards and build around them.
- Keeps up to date with the latest magic releases.
Current Project Flaws
- The program does not yet properly detect the legality of certain cards, and this may result in decklists that have a few unset cards or weird non legal prints.
- The program does not yet consider the landbase of the decks, and it only outputs 36 cards, leaving 24 empty slots as placeholder land slots.
Future Project Features
- Ability to select a format, like commander or legacy, to restrict the generated decks.
- Import options for common magic collection programs like ManaBox or Moxfield.
- Expose deck generation parameters to the user so it can customize the priorities of the generated deck.
- Add additional deck generation considerations to improve the output deck quality.
- Ability to input a deck and have the program give you an analysis report of its constitution.
- Proper inclusion of lands in the generated deck.
- Proper visual spoiler of the output deck.
Status | In development |
Category | Tool |
Platforms | Windows, macOS |
Author | Blas Mena |
Genre | Card Game |
Tags | Automation, Generator, mtg |
Download
Install instructions
For windows users make sure you have mono and gtk installed (download both in this webpage: https://www.mono-project.com/download/stable/#download-win). You should be able to double click the AutomaticDeckbuilder.exe file now.
For mac users they will have to make sure they have Mono installed (https://www.mono-project.com/docs/getting-started/install/mac/), then unzip the file and then run the program through the terminal like this: mono "pathToAutomaticDeckbuilderApp.exe"