AKA: Bespoke-Print, ForeverPrint


A personalised, bespoke ProcGen wallet/credit card sized piece of art for that person alone, created from their interactions/input. Their choices inform the generation of the image, processed in a way which is opaque enough to prevent direct manipulation through replay.

Core Elements

Procedural Generation (ProcGen), Low Fidelity/Restrained Output, Personalised Artefact, Interactive Fiction.


On Hold - the project is by-and-large completed, but the physical output is not at the desired level. Currently looking at alternative solutions.


Mirror-Image came together as a combination of different elements I have been interested in exploring- Procedural generation of images, low fidelity printing using a thermal receipt printer, and interactive fiction. Each element was too small and indistinct to lift a project on its own, but together work as a scaffold for this project.

Players visit the Mirror-Image website and embark on a small Interactive Fiction adventure (7000 words in total across all passages), which contains a number of choices and questions which establishes a rough picture of the player.

This story draws upon a world I have been tossing around in my head for a while, and focuses on a former "hero" returning to the scene of their struggle. It is up to the player to determine the mindset and reactions of the hero to their unfolding adventure, and it is these choices that determine the raw seed data used for generating their Mirror-Image.

Upon completion, this seed is submitted and fed into a Python-based procedural generation script which creates a vector-based image that "reflects" the player. It is this that the name "Mirror-Image" comes from.

The player is then shown their resulting image. They can re-roll the ProcGen script if they wish until they are happy with it. If they would like, the player could then order a physical copy of the image which would be printed out using a thermal receipt printer, mounted, laminated, and sent to them along with a small gift card. This Mirror-Image would be credit-card sized to fit conveniently within a wallet / purse / phone case / whatever.

A small, personal object reflecting them in a tiny monochrome image.

Despite a number of tests, the thermal printer I purchased for outputting the Mirror-Images is not of a satisfactory standard and so the project has been deemed completed in terms of the infrastructure, but on hold in terms of the final product.

Frankly, I do not want to attempt selling something that I would not be satisfied with myself!


To fully realise Mirror-Image in the manner I desire, I would need a PVC/Plastic Card printer. These are often used for ID cards, and command a high price when new. They also maintain their value when second-hand and so attempts to purchase one inexpensively have failed.

As I have no guarantee that I would recoup the high initial cost of the printer (and have other, more pressing financial concerns) I have parked this project.

Lessons Learned

Technologies Used

TWINE, AJAX, CSS, JS, Python 3, Bash.

Helpful Resources

Others, incoming