
Show HN: Card Proxy Generator – Generate printable game cards from JSON - konamacona
http://mitchkeenan.com/cardproxy/
======
konamacona
Just got off work and saw all the comments. I wrote this up a few months ago
to make custom cards for a mafia/werewolf type game I've been playing at work
(as some guessed). It's 100% client side and uses jsPDF[0]. You can find the
(very rough) source on my github[1]. Future plans include better styling and
some changes to allow easier clearing of the template. Thanks!

[0]: [https://github.com/MrRio/jsPDF](https://github.com/MrRio/jsPDF)

[1]:
[https://github.com/konamacona/cardproxy](https://github.com/konamacona/cardproxy)

------
keerthiko
I like the simplicity of the UX, I would find it much more usable open source
so I can adjust the template easily.

I wrote a similar thing for my board game site [0], using yml files as data
sources with jekyll includes to generate the html and a html2canvas conversion
to make printable images of individual cards that I have to manually put on a
print-sheet -- not quite as streamlined as this, and I would love to learn
from the rest of this person's flow architecture on how to generate a pdf,
make it downloadable, expose the json editor. I know I could learn each of
these on my own, but this is so close to my usecase it would be nice.

[0]:
[https://gitlab.com/keerthik/dicestorm/](https://gitlab.com/keerthik/dicestorm/)

~~~
navls
I'm surprised this community is not more adamant about source being shared
alongside a "Show HN" post. It seems like a no-brainer to include source when
showing a group of software enthusiasts your non-commercial project.

~~~
pajop
[https://github.com/konamacona/cardproxy](https://github.com/konamacona/cardproxy)

------
shitloadofbooks
I'm using Squib
([https://github.com/andymeneely/squib](https://github.com/andymeneely/squib))
for this at the moment.

I have several of my current prototypes in Squib, with CI where it builds the
artifacts (PNGs of each card and a PDF).

I'd like to one day set it up so it pushes the artifacts to Tabletopia
([https://tabletopia.com/](https://tabletopia.com/)), but I haven't found the
time yet.

------
twic
Nice!

Boardgamegeek has a list of card design resources:

[https://boardgamegeek.com/thread/991506/resources-card-
game-...](https://boardgamegeek.com/thread/991506/resources-card-game-makers)

Most are of the painstakingly-click-and-type variety, though. There are a
handful based around a more site-generatorish workflow that look pretty sweet:

[https://github.com/vaemendis/hccd/](https://github.com/vaemendis/hccd/)

[https://github.com/ghostsquad/pycard](https://github.com/ghostsquad/pycard)

[http://cardpen.mcdemarco.net/doc/index.html](http://cardpen.mcdemarco.net/doc/index.html)

------
xixixao
There's a bunch of (usually pretty arcane) software for generating cards. I
like this because it takes JSON, as opposed to having to click around a GUI.

The real challenge though is to get a nice design. You should be able to put
in some templates/generate some templates, and add image URIs/upload images.
That would be truly awesome.

~~~
iamdave
Agreed 110% on the ability to include images, maybe a key for an image URL and
another key for the location on the card using a simple grid-reference?

Great suggestion, hope OP sees it because I'm already very interested in using
this tool.

------
soneca
Awesome! Just the tool I needed. I am developing my own board game and the
hustle to create the cards to print and test was getting in the way of
actually thinking about the game and the rules.

A small suggestion: add a _image-top_ and a _image-bottom_ fields where you
put a URL and the PDF includes the image on the card.

~~~
XaspR8d
If you want a more featureful tool, but still data-oriented and built with a
programming-slant, I highly recommend Squib[1]. It has tons of rendering and
processing options, and fairly thorough documentation (unlike pretty much
everything else out there).

[1] - [http://squib.rocks/](http://squib.rocks/)

~~~
algorias
Thanks, this looks like exactly what I need. I hacked together something
similar in python a few years back, but it wasn't as elegant and general.

------
clusmore
I built something quite similar to this for my brother, who plays Magic: The
Gathering. He likes to build decks and test them before he commits to buying
the cards in it, so he asked if I could help him generate printable decks to
test with. Luckily, somebody has already compiled all of the Magic: The
Gathering seasons and published it openly here:
[https://github.com/mtgjson/mtgjson](https://github.com/mtgjson/mtgjson).

My previous system was a hacky Python-based HTML pre-renderer that was
annoying to maintain - I was in the process of rewriting it but have dropped
off on development recently. You can see a WIP of it here:
[https://curtislusmore.github.io/mtg/](https://curtislusmore.github.io/mtg/)

------
trynewideas
I imagine it'd be pretty straightforward to convert that JSON into a CSV for
InDesign's Data Merge feature, once you're past prototyping and ready for
product-ready printing. [http://blog.ironmarkgames.com/creating-prototype-
cards-using...](http://blog.ironmarkgames.com/creating-prototype-cards-using-
adobe-indesign-and-data-merge/)

------
fiatjaf
Nice app. I guess this is a perfect match for
[https://remotestorage.io/](https://remotestorage.io/) integration. People
would be able to save and tweak their card templates without worrying.

------
DonHopkins
A while ago I made a "Micropoly" board game about the Microsoft Monopoly, with
cards for various dot-com companies (Copyleft (L) 1999 Free Monopoly
Foundation), using an xml file to define the cards and board and an ugly Perl
script to render them with PostScript!

[http://donhopkins.com/home/Micropoly/](http://donhopkins.com/home/Micropoly/)

>Update: I've written an ugly "openopoly.pl" Perl script, and a
"micropoly.xml" data file, that describes the specifics of the game. The Perl
script reads in and parses the XML database, and writes out PostScript and
HTML to render the graphics and web pages. It embeds EPS files with images and
cartoons in the PostScript file, and then runs it all through GhostScript, to
render out PDF and JPG files with the printable images of the board. It
currently writes out one HTML file with links to the small and large pictures
of all the property cards, and soon it will write out a web page for each
property, and link them all together, as well as an image map for the entire
board. Most of the logos, cartoons, and other graphics haven't been put in
yet, but the basic functionality for producing the game is there. This is work
in progress, but here's a preview of the automatically generated web page
index of properties, the full sized board micropoly-board-whole.pdf [1,672k],
the paginated board micropoly-board-split.pdf [10,028k, sorry but I'll
optimize the PostScript not to draw clipped images and it will reduce in
size], and the printable cards micropoly-cards.pdf [5087k], as well as the
micropoly.xml file from which it was all generated.

[http://donhopkins.com/home/Micropoly/micropoly.xml](http://donhopkins.com/home/Micropoly/micropoly.xml)

[http://donhopkins.com/home/Micropoly/micropoly-board-
whole.p...](http://donhopkins.com/home/Micropoly/micropoly-board-whole.pdf)

[http://donhopkins.com/home/Micropoly/micropoly-
cards.pdf](http://donhopkins.com/home/Micropoly/micropoly-cards.pdf)

The idea (which I never finished but encourage anyone else to pick up and run
with) was to develop a fully skinnable parametrizable Monopoly compatible game
template (or variants like Anti-Monopoly), that you could print out and glue
onto cardboard, or even play online!

[http://donhopkins.com/home/Micropoly/notes.html](http://donhopkins.com/home/Micropoly/notes.html)

Monopoly is essentially the original "Open Source Game" designed by Elizabeth
Magie and shared among Atlantic City Quakers. Then it was illegitimately taken
over and patented by a giant corporation. Parker Brothers' story about Charles
Darrow was marketing bullshit.

[https://en.wikipedia.org/wiki/Lizzie_Magie](https://en.wikipedia.org/wiki/Lizzie_Magie)

There's also an interesting story about Ralph Anspach's decade-long "Anti-
Monopoly" lawsuit:

[http://www.antimonopoly.com/](http://www.antimonopoly.com/)

[https://en.wikipedia.org/wiki/Ralph_Anspach](https://en.wikipedia.org/wiki/Ralph_Anspach)

[https://en.wikipedia.org/wiki/Anti-
Monopoly](https://en.wikipedia.org/wiki/Anti-Monopoly)

[https://www.washingtoncitypaper.com/columns/straight-
dope/ar...](https://www.washingtoncitypaper.com/columns/straight-
dope/article/13040530/straight-dope-monopolys-anti-capitalist-origins)

[https://en.wikipedia.org/wiki/History_of_the_board_game_Mono...](https://en.wikipedia.org/wiki/History_of_the_board_game_Monopoly)

>Also in the 1970s, Professor Ralph Anspach, who had himself published a board
game intended to illustrate the principles of both monopolies and trust
busting, fought Parker Brothers and its then parent company, General Mills,
over the copyright and trademarks of the Monopoly board game. Through the
research of Anspach and others, much of the early history of the game was
"rediscovered" and entered into official United States court records. Because
of the lengthy court process, including appeals, the legal status of Parker
Brothers' copyright and trademarks on the game was not settled until 1985. The
game's name remains a registered trademark of Parker Brothers, as do its
specific design elements; other elements of the game are still protected under
copyright law. At the conclusion of the court case, the game's logo and
graphic design elements became part of a larger Monopoly brand, licensed by
Parker Brothers' parent companies onto a variety of items through the present
day. Despite the "rediscovery" of the board game's early history in the 1970s
and 1980s, and several books and journal articles on the subject, Hasbro
(Parker Brothers' current parent company) did not acknowledge any of the
game's history before Charles Darrow on its official Monopoly website as
recently as June 2012. Nor did Hasbro acknowledge anyone other than Darrow in
materials published or sponsored by them, at least as recently as 2009.

------
pimlottc
Not sure if this supports mobile, but I’m just getting a blank new window when
I hit “Save”.

~~~
Waterluvian
Expect a pdf file download. Worked on my phone.

("Save" should be "Download" or something else more clear.)

~~~
pimlottc
Yeah, I wasn't sure what to expect after hitting the button. It does work for
me in Mobile Safari, but not Chrome (iOS).

------
kurnikas
This is a super cool idea, I know it would be also be super useful for
teachers

------
kyo3
This is pretty cool!

------
sleepylook
it will be great to have utf8 support.

------
michaericalribo
what do you use this for?

~~~
eitland
Seems like it is meant to generate printable pdfs with game gards for RPGs.

When you click save it downloads a pdf that you can print.

~~~
michaericalribo
yeah, I'm just curious what OP uses it for herself...what made him make it in
the first place!

~~~
iamdave
I was just introduced to the Fluxx card-game system this weekend; it's a
system with different variants, Zombies, Monsters, there's even a version for
the TV show Firefly.

Looking at the cards generated they seem to resemble the style/format of Fluxx
and I wonder if OP plays themselves. I for one find it to be really neat, and
may even use it myself for my weekly table-top night.

~~~
michaericalribo
Aha, great point! Fluxx is fantastic...it reminds me a bit of Nomic [1] and
1000 Blank White Cards [2].

Have you tried making your own Fluxx deck?

[1]
[http://legacy.earlham.edu/~peters/writing/nomic.htm](http://legacy.earlham.edu/~peters/writing/nomic.htm)
[2]

~~~
iamdave
Not _yet_ but I very much want to; I'm thinking of doing one for the Star Wars
universe :D

------
hartator
Okay, not sure why it’s on top of HN.

~~~
ghrifter
Basic programming tasks amaze HN nowadays

~~~
bsder
Just because the task is basic does not make it uninteresting.

People dismiss so much stuff with "I could have done that...". Well, you
didn't, and they did. So there.

(In this case, the task is probably more annoying than you think. There's a
lot of little details involved in getting the alignment correct, getting the
fonts wrapped, generating the PDF, etc.)

