💾 Archived View for gem.hexandcounter.org › gemlog › posts › ice31.gmi captured on 2023-09-28 at 15:50:29. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-09-08)
-=-=-=-=-=-=-
I just tagged the current version of my Inkscape Countersheets Extension on GitHub as release 3.1, since I recently got some help to make it not crash in recent versions of Inkscape and I thought it was good to make an official release at this point even if there has not been many major other changes. It is sad that the state of software "engineering" is such that backwards compatibility is a dying concept and that we keep inflicting "software rot" on each other like this, but in the ~15 years history of my Inkscape extensions most of the time I spent on it has basically been this kind of wasted work just to keep up with Inkscape API changes. There are a few neat new features though, mostly also contributed by others, so it is not all wasted.
This is the first time I even mention this extension in my gemlog, since the previous release (3.0) was in early 2021, a few months before my first gemlog post. If you never saw this extension you can think of it as a mail-merge script for Inkscape, just with extra features to make it more useful for boardgame components in particular. I think most users use it to make cards, typically 8 or 9 per page. But some of the features are specifically there to make two-sided components like traditional cardboard counters.
I started writing the extension around 2007, when I was trying to manually draw front and backs for a sheet or counters for a game I wanted to make, and I learned quickly how difficult it was to get that right. Not only are there many bits of information to properly put on all the counters, but you also have to make sure everything aligns perfectly and in particular that the front and back for the same counter ends up at the same coordinates (i.e. you have to mirror the backs properly). And then inevitable during development of any game you will want to modify something, even insert a new counter somewhere in the middle of everything, or delete a few counters, and that is not fun. And then I saw a Windows application called Nandeck that came out around that time that had (has) some great ideas for how to turn text into cards (with some support for counters too; I think it might do double-sided too?). So I stole some general ideas from Nandeck and wrote an extension to do something similar for Inkscape.
The basic idea is that you draw one or more templates in Inkscape, or use some of the included templates, and then you put some text in a spreadsheet that you feed to the extension to replace text and insert images or change colors on things etc to make instances of the templates. You can modify almost any SVG attribute if you know what you are doing, and over the years since 2008 when I first released the extension it has accumulated more features than I can remember myself. Some features were developed by others and I also got a lot of help fixing some nasty bugs. Anyway the extension first generates all the variations of your template(s) with data used to modify it, like any mail-merge tool would do, but it also arranges the results into sheets and optionally adds some "cut lines" to make it easier if you want to print out the sheets and cut everything out (like you have to do if you are working on a prototype or print'n'play boardgame) and lines that you need to align the front and back sheets if you are gluing them together (typically with a sheet of cardboard between). But then the extension can also optionally export everything in different ways to PNG and PDF. It can run from the command-line too as long as you have Inkscape installed somewhere in your PATH. I often run it from Makefiles or random build-scripts that I use to make (playtest) components for games.
I like this tool, heavily biased as I am, but I also try to not work on it, because it is just supposed to be a means to an end. The goal was to make games, not to make tools to make games. Happy to leave most of the work to others, as I have done in recent years, especially since most of the work tends to be boring changes forced by Inkscape API changes. If I started over I would definitely not base it on Inkscape and probably not on SVG, but I did not have any better ideas at the time and even now I am not sure what would make more sense.
tags: #inkscape #countersheetsextension #games #software #printnplay