Iomante Chapter Two

We finally finished chapter two of Iomante! It is a browser game that works on mobile and everything else. Click here to go and play it: Iomante! Continue reading to learn more about it.

We being myself and my friend John. In 2013 I sat down to do some coding and wrote a tiny engine for playing a very simple choose your own adventure style game. I then thought “well I should write a story for it now I guess” and messaged John, a man that writes fiction for fun and, occasionally, profit, and asked if he wanted to meet up and write something together.

He did, so we did, and after six hours of work we had a story that took, if you went the long way through, about three minutes to finish.


Ahh well. That said, we had a lot of fun and people actually liked it, so it was time well spent.

In January 2016 my girlfriend showed Iomante to some friends who, after playing it, said that they liked it and was there a second chapter? After she told me this I asked John if he was up for writing some more, and he was.

We decided to write chapter two over several shorter sessions, as the first chapter got more linear as we got more and more tired and it was a bit of a waste of the ‘choose your own adventure’ idea.

We probably spent around twenty five hours writing chapter two, and the result is a roughly fifteen minute story. Writing things takes so long.

The code that plays the story is almost identical to the original version. I fought the urge to rewrite it and just let it do it job, though as we had decided to let the player’s choices change things later in the story I had to add the ability for the player to set variables and replace text based on those variables.

We used a fantastic tool called Twine to plan the story out, but I didn’t like the interface it gave you for playing the story, so I decided to present chapter two in the same way as chapter one. This meant converting the story into the format that my player needed, which was difficult as Twine just spits out an html file and I need the story in JSON.

A couple of evenings with htmlparser2 solved that problem, though it did mean abandoning Twine’s syntax for setting variables based on player input. I didn’t want to recreate the features from their syntax, as it was much easier to just write some JSON in each ‘page’ of the story and parse that with javascript, so each page where variables are set ended up having a big lump of JSON in it but since I don’t have to teach anyone else how to use it I deemed it an acceptable solution.

A few playthroughs revealed both story and code issues, so after much editing, we’ve finally decided that all that’s left to fix is enormous chunks that we’d like to remove or completely rewrite, so let’s just release it and forget about the parts we don’t like any more!

We do intend to write a third chapter. We’ll probably start it this year, but not for a little while yet. Probably whenever the warm feeling of having actually finished something wears off and we feel like frauds again.

Until then, please go and play Iomante!