Magnagothica: Maleghast Print & Play – Unit Chips

A Magnagothica:Maleghast game in progress on the tabletop

In the past month I’ve been trying to get Maleghast on the tabletop. The game was designed for the Virtual Tabletop but I don’t particularly like playing boardgames online as for me the social aspect is an implicit draw of the genre. So my plan was to translate the game components in a way to play them on the tabletop in a easy manner.

Initially I was planning to simply create 3D-printable miniatures for each unit in the game as I’ve done for Last Light but then the inspiration struck me after playing Chip Theory games like Cloudspire; to convert the miniatures into poker chips instead.

I went with chips because it allows me to display unit information for the opponent directly on the table, rather than having to remember everything or refer to the unit cards all the time. For this purpose, I used G.I.M.P. to add the basic unit information directly on each unit image. Now it becomes very easy when you’re deciding what to target to easily view all most relevant information such as the defense of the unit (which is the target number you want to hit with your attack)

As a sidebonus to that, the other side of each unit has a corpse image, so when a unit dies, all I have to do is flip it upside down, and it becomes a corpse on the battlefield. And if I need more corpses, I can use some of the unused unit chips.

For the poker chip creation, I used the process described here. For reference, these are the supplies I bought from German Amazon given that this guide was built for the USA market.

  • Poker Chips: These chips are very affordable and have satisfying weight. You need to remove their internal label to allow proper adhesion of the unit labels, but that’s easily done with an x-acto knife.
  • Hole Puncher: The poker chips have a 2.9cm diameter internal space so this one works best, but I’ve found you’re better off printing the units at 2.8cm to avoid cutting off some edge art.
  • Tweezers: To pick up unit labels without getting fingers sticky.
  • Glue Spray: This is the one suggested by the original guide. Loos like it works well enough as I can variate the spray strength as as to not send the card pieces flying.

However through trial and error I’ve discovered that it’s actually easier to spray the poker chip directly with the minimum amount of glue, and then press the unit art onto it. Spraying the unit paper makes things way messier. What I do I spray very very lightly on the chip, offset towards one side of the radius. Then I place the cutout unit art onto it, starting from the side I placed the glue, then gradually “tipping” it over, so that as it lays flat, it pushes the glue towards the rest of the area. This allows better coverage, without having the glue squish over the rim. Even then, it’s very easy to put too much glue on the chip, which still results in residue on the raised chip sides. I’ve tried cleaning that residue with paper and alcohol, but unfortunately it still remains sticky, which results in the chips sticking together when stuck and feeling sticky on the fingers.

To combat this, I got me this residue remover which is very good at getting rid of this glue. If I get some spillage, I immediately wipe it away with a rag infused with it, and there’s no residue left and in my experiments it’s not wiping the art either like alcohol does.

After I finished all the units, it occurred to me that I could have printed my own poker chips with the 3D printer, which should have allowed me a smaller “raised” radius on the chip, and therefore more space for art, but I already did all the work. And plus, the purchased chips have a more satisfying weight as well.

For the unit art printing, I created a custom python script with the help of an LLM, which takes all the images in a directory, resizes them and places them in A4 PDFs, which I can then send to my printer.

import os
from fpdf import FPDF
from PIL import Image
# Create A4 page (210mm x 297mm)
pdf = FPDF(orientation="P", unit="mm", format="A4")
pdf.set_margin(0) # Remove default margins to prevent shifting
pdf.add_page()
# Hard coordinates in millimeters
X_START, Y_START = 15, 15  # Outer margins
x, y = X_START, Y_START
IMG_SIZE = 29
GAP = 0
PAGE_WIDTH = 210
PAGE_HEIGHT = 297
DIR = "all_units"
# Filter and sort your images
files = sorted([f for f in os.listdir(DIR) if f.lower().endswith(('.png', '.jpg', '.jpeg'))])
for file in files:
    img_path = f"{DIR}/{file}"
    # Open the image to check its pixel dimensions and aspect ratio
    with Image.open(img_path) as img:
        p_width, p_height = img.size
    # Calculate dimensions while maintaining aspect ratio within the IMG_SIZE box
    if p_width >= p_height:
        # Landscape or Square: Width is the limiting factor
        w_mm = IMG_SIZE
        h_mm = (p_height / p_width) * IMG_SIZE
    else:
        # Portrait: Height is the limiting factor
        h_mm = IMG_SIZE
        w_mm = (p_width / p_height) * IMG_SIZE
    # Check if the next image fits horizontally, if not wrap to next row
    if x + w_mm > PAGE_WIDTH - X_START:
        x = X_START
        y += IMG_SIZE + GAP  # Moves down by the maximum box height + gap
    # Check if the next row fits vertically, if not create a new A4 page
    if y + h_mm > PAGE_HEIGHT - Y_START:
        pdf.add_page()
        x, y = X_START, Y_START
    # Place image with its calculated proportional width and height
    pdf.image(img_path, x=x, y=y, w=w_mm, h=h_mm)
    # Move cursor to the next column based on the bounding box size to keep a uniform grid
    x += IMG_SIZE + GAP

pdf.output(f"{DIR}_perfect_{IMG_SIZE}mm_grid.pdf")
print(f"Done! '{DIR}_perfect_{IMG_SIZE}mm_grid.pdf' generated with aspect-ratio preserved images.")Code language: PHP (php)

Then it’s just a matter of cutting them out with the hole puncher

Initially I had the tyrants as a poker chip as well, but this was clearly never going to work as they’re meant to take 4 times the space as a 2v2 unit. So I instead converted them into square images which I can print on a chipboard as per this guide. All you need are

  • Straight Ruler
  • Utility knife
  • Paper Glue (I prefer this over spray glue, but that can work as well)
  • Carboard

I decided to print the max amount of units for each faction, so that each player also has the capacity to craft the warband they want. That means 3xScions, 3x Thralls (i.e. 6 chips), 1x Tyrant&Necro and 2xEverything else. I stayed with only 3x thralls instead of 5x, as it’s unlikely someone want to do that except for the memes, and it saves me the extra work and storage for the extra ~30 unit chips this would need. I also only printed 1x of each Necromancer, not really expecting to play mirror matches a lot.

With this approach, I now have a complete print of all Maleghast which are compact and can easily be stored due to the chip stack-ability. Also instead of expecting each player to have their own copies, I can simply provide everything and even carry it with me.

In the next guides I’m going to elaborate on the the 3D-printed poker chips I modified to serve as condition tokens, the 3D-printed terrain I designed for walls and elevation, and the printed terrain I designed for hazards, ladders and adverse terrain, so keep an eye for future blogposts on this.

I’ve already managed to bring the game to the table with all these components and I’m quite happy with both the flow and the time it takes to play. I’m leaving you with a photo of the last game I’ve managed to bring to the table

Abhorrers VS Igorri

Tell me what you think.