The Mystery of the Maniac AI – Postmortem

Posted by
September 2nd, 2016 7:55 am

Here is The Mystery of the Maniac AI. Most of my past games have been logic puzzles and this game has logic puzzles in it too but it’s a bit different.


Am I a slave to ratings?

I admit that I get hung up on the scores a bit. In creating my previous game, for LD35, a fear of getting bad ratings may have prevented me from pushing the envelope. That’s not to say I think my entry was shallow or uncreative, just that it worked within boundaries that I’d created for myself over the course of the previous few entries. So, for me, the absence of ratings in this event was just what I needed to provoke me to step outside my comfort zone a bit. I did so in two ways.

Gameplay experiment: mixing puzzles with interactive fiction

In the past I have made games where the ending depends on how you solve a particular level. This time, I wondered if I could make a story where you make decisions all the way through by choosing the way you solve levels. I also mixed in a few plain levels for pure puzzle solving, and the story itself has some puzzling aspects.

In doing this, I had to write the story first, or I wouldn’t know how many branches I’d need in the puzzles. And it seems I’d forgotten how hard it was to make levels with multiple interesting solutions. I think I spent something like the first 10 hours designing the story outline and puzzles on paper before even sitting down at the computer to type.

Making a game like this involved much more writing than I’m used to. In past entries I’ve put little snippets of story in between the levels, and the results have been good but even then a bit awkward because I’m just not a very experienced writer. So, deciding to make a game with a more significant writing element was maybe a bit crazy. I was pretty self-conscious as I wrote, wondering: am I using this word the right way, is that a cliché, etc.?

Programming experiment: using HTML and SVG in nontrivial ways

My games are mostly HTML5 games, which, for me, means filling the page with a canvas and then drawing to that every frame. There’s negligible actual HTML. But this time, I didn’t use a canvas. The page has a bunch of divs and an empty SVG object. The game’s javascript code programmatically fills the divs with the text of the story and other info, and fills the SVG with the gameplay graphics. Compared to a canvas, this made some things a lot easier – in particular, formatted text in the story. I just had to put HTML tags for italics in the story file, and I would get italics on the screen. To the best of my knowledge, that would be a lot more work with a canvas. Another useful thing is the ability to draw stuff on an SVG and then resizing it to automatically fit all its content. That would be very difficult on a canvas.

I didn’t have much experience working programmatically with SVG objects. So it was slower to get the graphics going and I spent a lot of time on Stack Overflow. The graphics ended up a bit simpler than they would have if I had more time and expertise. I also have some vague idea in my head that SVG graphics is generally a bit slower to render than canvas graphics.

I made the decision to go for a very subdued look. It would look just like a plain web page with minimal formatting. Then, at certain events, I would have little effects that you don’t normally see in a plain web page. The background colour can change, and at a couple of points there is screen shake, which I created by randomly changing the body margins every frame.

Resulting flaws

Well, it was a more experimental game, and harder to make, than my previous couple of games. That means I had less time and energy to carefully polish it, which means more flaws. (Maybe some of the following won’t make sense unless you play the game.)

  • As mentioned above, the writing’s rough around the edges.
  • It would have been good to have more substantial branches in the storyline, i.e., points where the story can go two significantly different ways that only come back together much later or not at all.
  • The branching puzzles are not perfect. Some of them don’t quite get the degree of satisfyingness that I aim for in a puzzle.
  • In retrospect I don’t think the subdued look is so great – it just doesn’t demand the player’s attention very well.
  • I missed some of those minor details that you don’t notice if they’re there, but you notice if they’re not. Particularly, a button to clear the puzzle, and something indicating how far through the game you are.
  • Sound effects are minimal, and the music, I think, is OK but maybe doesn’t suit the mood of the story so great.


Well, OK, there are a lot of flaws. I’m still very happy with my experiment – I tried something a little bit new and it turned out interesting and hopefully slightly memorable for some players. I can easily see myself using the HTML and SVG stuff again in future.

Would I do this kind of gameplay again? For an LD compo entry, I’m not sure – it was exhausting, it didn’t make the best use of my strengths, and it left too little time for polish. But maybe I could do it if I had more time, or other people to share the workload with.

Leave a Reply

You must be logged in to post a comment.

[cache: storing page]