Space Slider
[ PLAY IN BROWSER ]Platforming/puzzle game made for Mini Jam 185. The limitation was 'limited space', and I limited the number of times the user could press space to move each level, requiring careful approaches to reach the exits.


For this project I made a conscious effort to design in an extensible way. I prefabbed everything - the player, the hazards, the walls, the main camera - in the hope that I could make functional and aesthetic changes later easily. This (maybe obviously!) really sped up development, and I could quickly make a new scene, throw together a level with existing and newly made prefabs, and then move onto the next. I also spent over an hour trying to draw a tileable striped wall texture in MS Paint.


I thought this project was cute and functional and had some well designed levels. It achieved 23rd overall out of 110 entries, getting 17th in Enjoyment.
[ GAME PAGE ]
Smoketrail
[ PLAY IN BROWSER ]Puzzle game which challenges players to guide particles into designated areas to progress, developed in Unity over 72 hours for Mini Jam 179.


The theme for this Mini Jam was "Creation Through Destruction." My initial idea involved objects burning and emitting different smoke trails, which players would sculpt into specific shapes by strategically placing wind currents. As it turned out, a significant portion of development time was spent learning Unity’s ParticleSystem, and consequently ParticleSystemForceField -although this was far more valuable for expanding my skill set than just implementing familiar mechanics. Due to this, and drawing from past jam experience, I made a conscious effort to scale back the project’s scope to get a playable and polished result that demonstrated the underlying concept well.


The final game features eight levels, built around a single smoke trail controlled by one ParticleSystemForceField that follows the cursor. Players can adjust its gravity using mouse buttons to attract or repel particles as needed.
I was proud of the concept and pleased with how it came together. Playtesting proved invaluable -I repeatedly adjusted level order and difficulty to ensure new players could learn mechanics intuitively without solving puzzles by accident. This experience reinforced the importance of user experience, something I need to prioritize more from the outset in future projects. The game ultimately placed 18th for Concept out of 83 entries.
[ GAME PAGE ]
Don't Drop Alice
[ PLAY IN BROWSER ]Group project made in Unity for Mini Jam 180, for which the theme was ‘Refresh’ and the limitation was ‘Falling Down’. Pop-ups constantly appear, and the player must refresh the tab with Alice in before she falls out of it.


For this project I had no hand in art or concept, so could focus entirely on clean implementation and QOL improvements. I had fun coming up with creative implementations, for example each of the ‘2D’ popup needed to have clickable components (Close button, refresh button, title bar) that could not be clicked through other popups in front of them. My solution was to implement the popups as very thin 3D objects that each spawn minutely closer to the 2D camera, with a 3D collider for the main body and slightly extruded colliders for the clickable parts. This meant I could just 3D raycast from the cursor position into the screen to accurately return whatever the user clicked, and closer popups would physically block anything behind them from being hit. It was a great lesson in bringing 3D concepts into a 2D game, and I’m glad Unity makes this so easy to do!
Ranked 20th out of 86 entries.
[ GAME PAGE ] --- [ JODIE'S ITCH PAGE ] --- [ WILLOW'S ITCH PAGE ] --- [ SONYA'S ITCH PAGE ]--- [ CODE REPO ]
Press Play
[ PLAY IN BROWSER ]A group project made in Unity for Mini Jam 178. The limitation was ‘Everything Is Alive’, and after bouncing around ideas we went with one that had a small but expansible scope that would let us focus mainly on improving our team dev skills, as all of us had generally worked solo for jams in the past. Since ‘everything is alive’, we decided to make the game itself about trying to click a living ‘play’ button with a slippy, living cursor. Once that was implemented we went on to add ‘stop’ button enemies and constantly spawning play buttons to click.


Divvying up work was easier than expected -it was nice seeing tasks flying across the Trello board and commits pouring in. Having team members more experienced with asset creation and visuals than me was also great, as I could focus almost entirely on scripting which left me lots of time for tweaking and improving game feel.
I implemented cursor controls, raycasting to detect successful clicks, and varied movement logic for buttons and enemies as described in the initial brief, and then was free to iterate on and add features to improve play and feel, such as:
- enemies bouncing off each other to mitigate clumping
- a Rigidbody for the cursor which delta mouse movement adds force to rather than allowing player perfect control
- DOTweening player control back to them after a collision
- cosmetic tweening to scale and bounce the cursor to improve feel
Ranked 21st out of 79 entries, coming 16th in the concept category.
[ GAME PAGE ] --- [ DOUG'S ITCH PAGE ] --- [ WILLOW'S ITCH PAGE ] --- [ CODE REPO ]
Caption Quest
[ DOWNLOAD HERE ]A short top-down puzzle game made in 24 hours as a solo dev using PyGame for the University of Bristol GameJam.


The theme was 'It's not a bug, it's a feature!', and my 'bug' was the player character not having their movement restricted when talking to NPCs. This, for example, lets them walk over textboxes, grab keys out of them, and start multiple conversations at once. It was awarded the prize for 'Most Innovative Game' out of around 30 teams of 1-6 people.
Wizard Pool
[ DOWNLOAD HERE ]A 2-player pool simulator made in Processing (a Java-style IDE + graphics library). Each turn, players can select a spell to cast, such as "moving pockets," "fog cloud," or "create portals."


A silly little project I occasionally update with new spells. It's fun to have somewhere to throw ridiculous, unbalanced ideas and to watch your friends scream at each other over them :)