/MTG-Proxyshop

Rebuilding and extending the Autoproxy tool in Python.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Proxyshop

Photoshop scripting to generate high-quality Magic card renders, original concept developed by Chilli-Axe, rewritten in Python for extended functionality. If you need help with this app, join our discord: https://discord.gg/qdR2S4nQ6U

Discord Maintenance GitHub Photoshop Python

img1

Requirements

  • Windows (currently incompatible with Mac/Linux)
  • A copy of Photoshop (2015-2022 Tested)
  • The Photoshop templates
  • The following fonts, included in fonts folder:
    • Beleren Bold, Beleren2016 Bold, Beleren Smallcaps, MPlantin and MPlantin-Italics
    • Keyrune and Mana (Keep Keyrune updated for expansion symbols)
    • Relay Medium, Gotham Medium, and Calibri (comes with Windows)
    • Chilli's custom Magic symbols font, NDPMTG.ttf

Setup and Usage Guide (GUI)

  • Extract release into a folder of your choice.
  • OPTION 1: Download the templates linked above and drop them inside the templates folder. Make sure to keep named plugin folders like "MrTeferi" intact in the templates folder.
  • OPTION 2: Launch Proxyshop.exe. Click "Update", a window in your browser will open asking you to authenticate with Proxyshop using your google account. Once you've authenticated, Proxyshop will load templates available to download, download them as you please.
  • The first two tabs splitup the main application which renders real MTG cards, and the custom card creator which will allow you to render your own custom cards.
  • The next set of tabs are card types which currently have more than one template available. You can select which template should be used if Proxyshop encounters a card of that type, for example "Fullart" for normal cards, "SilvanExtended" for MDFC, "Extended" for Planeswalker cards.
  • At the top are settings, saved to the config.ini file and maintained the next time you open the app. Automatic Set Symbol will input the correct expansion symbol according to the card's set information. Auto Symbol Size will size and center that symbol on the end of the typeline. Manual Edit Step will end the script automation when the card is finished so you can make manual changes before saving. You can also remove reminder text or flavor text from the card.
  • Hit "Render all" to render every card art in the art folder. Hit "Render target" to render one specific card.
  • During the render process the console at the bottom will display the current progress and prompt you if any failures occur.

Config

  • Proxyshop has multiple settings options.
    • Auto Set Symbol — Automatically insert the correct set symbol for each card.
    • Auto Symbol Size — Automatically resize and position the set symbol on the typeline box.
    • Auto Symbol Fill — Experimental feature that fills gaps in set symbol background.
    • JPEG Saving — Will save render output files as JPEG.
    • No Reminder Text — Remove reminder text from cards.
    • No Flavor Text — Remove flavor text from cards.
    • Manual Edit Step — Will pause the rendering process before saving for manual changes.
    • Skip Failed Cards — Automatically skip any cards that fail (instead of asking to continue).

Setup and Usage Guide (Python Version)

  • Clone to a folder of your choice, referred to as the working directory.
  • Create a virtual environment: py -m venv /venv
  • Activate virtual environment: venv/scripts/activate
  • Install requirements.txt: pip install -r requirements.txt
  • Install the included fonts, only the ones listed above are required, the others may be useful to have.
  • Download the Photoshop templates, create a folder called templates in the working directory, and extract them into the folder.
  • Create a folder called art in the working directory. This is where you place art images for cards you want to proxy.
  • File names should be structured like <CARDNAME> (<ARTIST NAME>).jpg. Artist name is optional - if omitted, it will be retrieved from Scryfall. You can optionally specify the card's set like so: <CARDNAME> [<SET>].jpg. You can also include your proxy creator name like so: <CARDNAME> {<CREATOR NAME>}.jpg. For this to work you need to go into the photoshop template and add a text layer called "Creator" in the Legal layer group.
  • Run the app: py main.py

FAQ

  • I want to change the set symbol to something else. Head over to https://keyrune.andrewgioia.com/cheatsheet.html - you can use any of these symbols for the set symbol for your cards. Copy the text of the symbol you want on the cheatsheet, then replace the expansion symbor character in the config.ini under Expansion.Symbol.
  • I get an error when trying to execute the script with the python command. Python may not be added to your PATH environment variable. Here's how you can add it: Link
  • Where is a good place to get high quality MTG art? Your best source is going to be MTG Pics, to improve art quality even more you can look into upscaling with Topaz/Chainner/ESRGAN. On our discord we provide a lot of resources for learning how to upscale art easily and effectively. Also for mass downloading art, view my other project: MTG Art Downloader

Scope

  • Modern style cards, normal and extended; transform and mdfc, front and back; basic lands, normal, Theros, and Unstable styles; planeswalkers, normal and extended; mutate, adventure, miracle, and snow cards; and various flavours of fancy frames - stargazing, universes beyond, masterpiece, ZNE expedition, and womensday.
  • Leveler and saga cards require manual intervention to position text layers, but are automated up until that point.
  • Planeswalkers also require manual intervention to position text layers and the ragged textbox divider, but are automated up until that point.

Google Drive Privacy Policy

Proxyshop does not collect any information from users, period. Google Drive integration is purely for the purpose of keeping installed plugins up-to-date, our contributors almost always share their PSD files utilizing Google Drive, making it the easiest and safest way to share the files and metadata required to check for routine updates.

Credits

  • Credit to Wizards of the Coast and all the talented artists who make Magic the Gathering Possible
  • Credit to Chilli Axe for his original amazing project MTG Photoshop Automation, and for producing most of the base PSD templates that have been modified to work with Proxyshop. None of this would have been possible without him!
  • Credit to SilvanMTG who has also done an incredible amount of Template work. (Silvan Extended Normal and MDFC)
  • Credit to Hal and the other contributors over at Photoshop Python API
  • Credit to Nelynes, Trix are for Scoot, FeuerAmeise, michayggdrasil, Warpdandy, MaleMPC, Vittorio Masia and others who have provided assets to the community that made various other templates possible.