The game
Writer’s Block - now with updated name “Eugene Pencil”.
I just want a free pizza
This game was created as part of the Pizza Jam - a quirky jam where the winner would get a free pizza sent to them regardless of where they live.
Needless to say - I was motivated.
There were a variety of different themes to pick from but the ones that immediately put ideas into my head were “Copy … Paste” and “CLONE-ZONE”.
Development
I started with a small prototype where you could click and drag to copy a square around a tilemap space. I originally had this idea of a platformer where you have to construct platforms in the level to traverse to the “exit”.
It felt a bit clunky, having to switch between moving pieces as well as controlling a character and the weird edge cases of being able to moving something while your character is just standing on it, leading you to get to the exit quite quickly without much challenge.
It made sense then, to go with an AI character that moves on its own through the level ala Lemmings.
The character is spawned at some entry point and just moves along the level and bounces off any walls in the way. It’s your job then to construct a path for them to the exit.
The trickiest part was deciding how to arrange the pieces for the player - can they just place them anywhere in the level? This kind of creative system needs a decent amount of constraints to keep the player from either breaking the level, or just breezing through it.
If anything, the designiest parts of this game were how to put the constraints together in such a way that it felt creative for the player but prevented copious amounts of footgunning.
I ended up by snapping pieces to the grid, and going with a small variety of different pieces. A square, a ramp going up, and a ramp going down. One quirk with the ramps, was since the character was a rigid body controlled entirely by the physics engine, I had to get creative with their velocity - by speeding them up once they get onto one so they maintained a consistent speed throughout. To make it easier I also momentarily reduce gravity on the player so they float a bit easier up the hill. I could have gone with a character that was entirely controlled by changing position, but this way I could have the player easily fall of edges and interact a lot better with stuff in the game world to keep it flexible for future iterations. It made them feel less like a bit of code in the game and more like a participant - something I feel is vital for any sort of platforming game.
Learnings
The best ideas and games I found, are the ones where people play-testing it don’t want to stop play-testing it. My wife was trying it out and shooed me away at some point so she could solve some of the levels I put together for the game jam. Always a very good sign. Also some feedback I got after the jam was “I wish there was more of it”
On a technical level, I am finding more and more that “fake it til you make it” is more important than fancy architecture or cool algorithms. The core of this game is a single script which upon dragging the mouse, clones the object you are dragging and sets a position in the world once you click or let go.
I originally also envisioned a system where you would click, and the block or piece you are holding falls to the ground. This worked fine for placing the blocks; enable the physics simulation, drop the block, it falls down and then turn off simulation so that it stayed in place. Unfortunately there were cases where the block was off slightly or other blocks would not pass between other blocks due to friction. Adjusting the friction meant blocks wouldn’t stack nicely. Urgh. Once I then started going down the route of implementing my own physics system for this I realised “where is the fun here?” and I knew I had to dial it back.
Where to now?
Since this has (so far) been the funnest thing I’ve created, and also quite simple, I’ve decided to keep working on it. I renamed it from “Writer’s Block” (it felt a bit too clunky) to “Eugene Pencil”. I was playing Mario Kart 8 recently and a name in the credits stuck out to me - “Gene Pencil” and my wife suggested that should be the name of the character in this game. I went with Eugene as it rolled off the tongue a bit better and to not throw the real Mr. Pencil under the bus.
I’ll be updating it fairly regularly on itch.io - I’ve already added a mechanic where you click a switch to open some gates, as well as spruced up the visuals and sound somewhat. Next on my list is to implement an “Undo” functionality as well as the ability to select levels and save progress.
Typical game stuff ✨