a shitty fortune generator

I’m always pretty excited when I decide to just make things and publish projects without thinking too much about it, and clear ideas and patterns emerge anyway. I’m clearly really into bad divination strategies right now, between PythiaBot and the Bottlecap Divination board and now…the Shitty Fortune Generator.

I don’t have any real intention for this(it is liberating, you know, making projects without intention). I just wanted to paint a fortune cookie, and it was a quick hour-ish project that I hope makes a couple of people smile. The code is just random image Javascript, cobbled together inelegantly from several sources on the Internet.

the space hobo bottlecap divination board

I spent the last couple days of 2016 working on this idea for a space hobo divination board. I’ve been mulling over the idea of creating a larger divination toolkit for RPGs…basically, a box full of props for various imaginary fortune telling systems.

Anyway, I decided to create a bit of an asocial cloister for myself and do nothing but make art for 48 hours, and I emerged with the Space Hobo Divination Board(currently fundraising on Kickstarter for two weeks).

The next step that I’m really excited to play with, is building an interactive version of this board that includes some sort of programming to auto-deliver divinations. Been talking to my friend Sasha about RFID readers and thermal printers to see if we can make that happen. I’m going to finally learn how to work with micro controllers this year…it’s actually a bit embarrassing that I haven’t.

Oh, I also got to make some space brew puns, after about three hours of brainstorming with Jason in bed and a whole lot of awful puns. This one is an ongoing part of the project and I have yet to design most of the bottlecaps.


Most of the fun in this project has been in writing the prophecies. Here are a few of them:

@trashhaiku and @pythiabot

I’ve been a bit obsessed over machine-made art, not art that machines help to make, but machines learning how to make art. I’m currently very much in love with Ross Goodwin’s work in this field(see: Adventures in Narrated Reality, Part 1) . A bunch of monkeys in a room typing may eventually produce the complete works of Shakespeare, but a bunch of robots being trained to deconstruct the linguistics of poetry and create new work…that’s already here, and it is far more interesting.

(Goodwin’s work is much more compelling, but here is the inevitable link to a shitty robot-written Christmas carol.)

Sadly, my first entry into this field is as someone who can’t quite code well enough to parse language, so I am currently dependent on the sheer flukes of phrase randomization. @PythiaBot is a fortune telling bot, seeded with a series of odd phrases that are all syntax compatible. It is a bit repetitive, but it has generated some surprisingly lovely sentences.

@trashhaiku is vaguely political art – it remixes Donald Trump’s incoherent twitter feed into similar incoherent haiku. It is currently hand fed, by me reading the original twitter feed to find phrases that match(more or less) a syllable count. I have to admit that I am not sure I understood what “suffer for your art” meant, but I do now.

Both are built on Zach Whalen’s Google Spreadsheet twitter bot code, which is remarkably simple to follow.

How to make a Twitter Bot with Google Spreadsheets (version 0.4)

The Apology(and thoughts on Twine 2.0)

I’d known of Twine as a tool for interactive narrative for a few years now, and have loved the wealth of games that use it as an engine for quickly spinning up fascinating and convention breaking indie games. I’ll provide a list of recommendations at another time, but for now, I am especially partial to Porpentine’s With Those We Love Alive.

As a visual artist though, while I am delighted by the tinge of 80s and 90s dirty cyberpunk nostalgia that permeates these games, it is largely a sad result of the engine. The Twine engine handles only rudimentary file linking, and the default black on white and sidebar look is so reminiscent of early 90s webdesign that it fundamentally directs a certain aesthetic. Really, Twine 1.0 is just not that pretty, by default, and it is not particularly easy to wrangle it into prettiness. (But definitely not impossible while keeping in the spirit of “easy” – see Cryptid Hunter, which cleverly packages up the text area in a custom frame and tosses in some simple but clever animations for a game that feels pretty polished)

I poked with it a lot in 2014, but the only short project I finished was the Citizen Science Portal, based on my Center for Otherworld Science stories.

This just ain’t that pretty.

Enter Twine 2.0. Oh man, I love the hell out of Twine 2.0. Aside from becoming web based(although I prefer the download), and getting rid of some tiny annoyances with file linking, it now handles standard HTML and integrates stylesheets quite elegantly. And most importantly, the default is clean and…dare I say it – pretty.

I wrote a short piece of interactive fiction; it is about a five minute read. It’s set, vaguely, in the Last Apothecary universe, but in the inner colonies. It’s mostly about going to a dinner party where everyone is weird to you. It is called The Apology.

It might be hard to tell, but getting rid of that default awkward sidebar makes a huge difference.

With Twine 2.0, I was able to take this vague inkling of a story to some sort of publishable interactive fiction format in about four hours, including the writing and the (very rudimentary, to be fair) graphics. There is a tiny bit of stylesheet poking, but I largely stuck to the defaults.  Four hours, though! That’s a pretty great prototyping tool for interactive fiction that can make the transition to published work fairly quickly(even faster if, like me, you’ve developed the habit of just iterating in production. I will never find work in the tech industry again, I’m sure).

Anyway, I am delighted with the changes in Twine 2.0, and think it is an excellent tool with a welcoming bar of entry, and I am incredibly excited to see more work built with this engine.