“‘Lovers on a Park Bench‘ is essentially a typing game following the story of a square, his ex-girlfriend and a series of intense and very-confusing-at-times metaphors and allusions (they’re pretty obvious). All of this is topped with narration by award-winning robot voice, Stephen Hawking (or whatever Audacity can do to emulate it). “

At about this time yesterday, I had just gotten home, having spent an hour stuck in the rainy gridlocked labyrinth Londoners know as the M25, Junction 14, staying lucid on Classic FM. I hit the power button on my computer and opened up Unity – my game was in an alarming state. I had implemented core gameplay and music the previous afternoon: moving, parsing and all; however, the game that I had envisaged seemed unfeasible. Now, a mere 24 hours later, I’m sitting here; the game聽finished with an load of overwhelmingly positive comments (thanks goes to everyone who played it
)
So, here’s a slightly truncated insight into the hours spent throwing this game together.
Scheduling
For any game-jammer, timing聽is key.聽The bulk of development was done from 5pm through till 12pm, with regular tea and basketball breaks throughout. Now for some street smarts:
- Cola works better than tea which works better than coffee.
- Doing exercise helps clear your mind.
- Vague schedules work best. With such a short development cycle, it’s really hard to stick聽to a meticulously planned schedule, trust me – I’ve tried it. My plan was literally: “SATURDAY: Music and art in the morning, Code in the afternoon. SUNDAY: Finish it off”. And of course, even that was thrown off following a surprise trip to London.
The Camera Stack
Unity comes with a handy layer system which allows specific objects to be 聽rendered with specific cameras. Each frame in LOAPB consists of three layers: Sky, Mountains and Background and Main Camera. The Sky is rendered first with orthographic projection, then the Mountains are rendered with a perspective camera (this allows a parallaxing effect), and finally the foreground is rendered with the level and players.

The Whole Typing Thing
So this took wayyyyyy more maths than I had ever anticipated but all the code is accessible (DisplayStory.cs and Parser.cs) so I won’t go into too much detail. Here’s a quick topological overview of the system:
- A lowly text file is parsed, containing a series of sentence fragments, instructions and function calls.

- This is passed to the DisplayStory script which processes each sentence fragment and waits for the respective key to be hit.
- When the right key is hit, a text object is instantiated, having 聽calculated the position of the text beforehand.
Sky
The more observant of you may have noticed the sky transitioning to dawn at the beginning of the game. This was a glitch – it was supposed to slowly transition throughout the game. Regardless, it was achieved by changing the y position of聽a long long long sky strip (made with Photoshop gradients and a dissolve layer).
(this is supposed to be a gif)
Other ‘Interesting’ Points
- Splitting up the voice recordings took much longer than I had expected – I missed out so many breaks – the last emergency recording-fix was made at around 12:40 MIDNIGHT.
- The level is procedurally generated. I expected this to be the most code-intensive part of the game but it literally took a mere 10 minutes to implement.
- This is how I spent 7 hours of development time. (Left: Overall usage of time; Right: Productivity – the amount of time actually being spent on the game聽– over time).

- My official LD33 ‘thinking music’ playlist is Spotify’s ’88 Keys’, featuring Chopin, Einaudi and Cyrin.
- This post is exactly 600 words long.