Indie Games and

Game Jams

Shovel Escape

(Shovel Escape section is WIP)
What started as a 48h game jam turned into a 4 month solo project after which I released this speedrun-able, vertical platformer to itch.io here.
This is an in depth look at my design processes while creating this game, and what I learnt along the way!

Here is a full run of the level in a decent time!

Summary

The massive hole you've spent months digging is collapsing on itself and lava is erupting from underneath your feet! Throw your magical shovel against the falling debris to climb to the top and escape!

Details

  • PC Only

  • 2D side-scroller

  • Vertical Platformer (traverse up, not right/left)

  • Designed to be speedran

  • Created by Tobias Brunner (@PudgeMeBaby) and me

Brainstorming & Prototyping

  • Problem/Challenge:
    Brainstorm, then draft a plan for a game with our skill and resource restrictions.

  • Restrictions

    • 48 Hours - With only 48 hours (minus self-care) to complete the game, we had to scope small.

    • Game Maker Studio 2 - Tobias, who would do most of the coding, preferred to work with GM2, and I wanted to learn a new engine to broaden my experience.

    • 2D - Game Maker Studio 2 is limited to 2D.

    • Pixel Art - Tobias had experience making his own pixel art games, and I wanted to practice it as well.

    • “Falling Apart” - This was the game jams' given theme that we had to incorporate into the design.

  • Goals

    • Create a game the like of which neither of us has before; to challenge ourselves creatively.

    • Easy to learn; hard to master. Replayable.

  • Solution:
    We wanted to create a platformer, something we were both familiar with, but with no combat/enemies, both to challenge ourselves to think outside the box and to avoid complex enemy AI in the limited time we had.
    I had always wanted to test the concept of the “Stepping Stones in the Sky”, where you gain altitude as you jump from one falling object to the next above it, and having something above you “Falling Apart” to create these stepping stones fit the theme perfectly!

shoveljump.png

First concept of the game, showing that the player has to escape upwards by traversing different sized platforms as they fall down. They will also have a tool to help them in case they get stuck.

Although very buggy, the game jam submission served as a fun proof of concept for the “stepping stones in the sky” mechanic, and drove me to want to see it’s more polished potential!

Although very buggy, the game jam submission served as a fun proof of concept for the “stepping stones in the sky” mechanic, and drove me to want to see it’s more polished potential!

Game Jam Submission

  • Problem: There is an extremely easy way to exploit the game by throwing the shovel into the wall and hanging on it, jumping up as you recall the shovel, then throwing it back into the wall where you jumped to. This allows you to easily scale the wall very quickly.

  • Design intent: You’re able to throw the shovel into the wall to get around badly generated rock patterns, or to avoid falling while waiting for a rock to get into range.

    • Playtesting revealed: Good players saved their teleport to get around these bad rock spawns, and it even saved them time, so it was optimal. This meant, they did not even use the shovel in the wall much and that mechanic could be removed to encourage this behavior.

  • Solution: I widened the level, while not allowing the blocks to spawn too far on the sides, and disabled putting your shovel into the wall.

    • worked!

  • Problem: Teleporting to a rock placed you on top of the rock, and platforming around rocks is difficult, so players over-rely on their teleport to get around rocks instead of learning how to jump around them.

    • Solution: Player dangles off the end of the shovel, instead of being able to stand on top of it like a platform.
      This also fixed many collision issues.

Closed Beta

Five of my gamer friends played this version for over an hour each.

  • Problem: No tutorialization in game lead to confusion on what all the given tools where.

    • Solution: Text prompts teaching the mechanics, that would only advance to the next when you got high enough.

  • Problem: Players were losing their double jump and struggling to manage their jump cooldown?

    • Observations: Players were unwillingly pressing “W” , which I had set as an alternative button to Spacebar, at the same time as “Spacebar” to jump! This caused them to sometimes double jump immediately.

    • Solution: Since they were pressing W automatically, I tried taking spacebar away as a jump option, but this resulted in less accurate jumps, so I changed it to Spacebar only. This solved the bug and made players more actively think about their jump input.

  • Other improvements in this version:

    • A more varied level, with areas on the sides to stand, that you first had to navigate around. These platforms served as checkpoints if you fell, but still required you to pay attention, as you could get squished between the platform and a rock from above.

    • Crystal alternative win condition (observed: threw in at first from a nice to have feature, but this turned into the main replayablity/late game/mastery feature)

Still not bug free, despite many nights of debugging. This was meant to be the release candidate, but the feedback from this 5 player 1 hour playtest was so valuable, that I wanted to keep working on it!

Still not bug free, despite many nights of debugging. This was meant to be the release candidate, but the feedback from this 5 player 1 hour playtest was so valuable, that I wanted to keep working on it!

Release Version

  • Problem: Without being able to hang on the wall, players are pushed towards the middle of the map, where they would naturally avoid a lot of the interesting level shapes that were meant to serve as challenges and resting areas.

    • Solution: I implemented a wall jump.

      • This allows players to gain verticality without having to rely on rocks for every jump and made movement a lot more fluid, as you could jump off the sides of rocks now too, instead of just the tops.

  • Other improvements this version:

    • Critical Bug Fix: Was able to fix what was making players stop their jump upon hitting a rock from below.

      • This ended up being the biggest change that made gameplay feel fluid and smooth.

    • Better rock spawns

    • Better collisions

Post-launch unresolved problems

  • Problem: Controls are very hard for certain players, if they were…

    • new to PC’s WASD/Space controls.

    • new to controlling with the left hand and and using mouse with the right hand.

    • used to playing platformers on a controller.

    • playing on laptops with a trackpad.

  • Problem: It’s still unclear, when to optimally teach the teleport ability.

    • Playtests revealed, that players who had learnt it early, overly relied on the mechanic.

      • They would teleport high up, like how far it took them, and then wait in that spot for the cooldown of the teleport to come back. This lead to them falling further than they will be able to teleport before the cooldown is refreshed, leading to their overall descent.

    • Teaching how to jump from one falling rock to another, and to use the wall jump, first should have helped with this, however…

      • some players gave up before getting high enough to learn about the teleport, and then found a lot more success and fun after being told how to do it before they got high enough for it.

      • some players did not understand the importance of the teleport when taught later on, as they were too focused on the base platforming, and the tutorialization was just text.

  • Meta Problem: When trying to get streamers to play the game, there was a big buy in for them…

    • to download and trust a file that wasn’t on steam, especially when it triggered anti-virus software due to being an unknown executable.

      • A browser port would have diminished this hurdle significantly, but my attempts at a port caused new, game breaking bugs, which I did not plan to invest my time time into debugging.

    • to play a game for free, when some of these streamers where big enough to have devs pay them to play/advertise their game.

      • I put a few gifted subs on the line if they could beat the game, and some streamers took on that challenge for the content.

    • to play a game in front of their viewers that might be unpolished, buggy or even against ToS.

    • to switch to a different game from the one their current viewers specifically clicked on.

      • This meant, I had more luck with variety streamers or those in the just chatting sections.

Things I learnt

  • To get the best results, playtests should be conducted with at least a handful of players.

    • I learnt a lot from watching people play with varying degrees of experience in keyboard and mouse controlled platformers.

    • Having good players come back to test changes proved to help me refine the difficulty.

  • I had a lot of difficulty at first wrapping my head around Gamemaker’s collision system.

    • Unlike Unity, where you have collision boxes and simulated physics, we opted to work around scripts that would predicts is certain sprites would overlap one another in the next x frames.
      This was my biggest pain point with Gamemaker, and why I will be sticking with Unity as my preferred engine in the future.

  • I realized that I still have a lot to learn about debugging.

My student projects created with ~5 person teams in 4 months each:

Conran - The dinky Raccoon

A 3rd-person shooter, with different enemy and weapon designs, and a dynamically changing arena. My first “released” title.

Very ambitious for the time and team size, I learnt about creating interesting levels for the types of enemies we had, as well as creating believable sound effects.

Released on Steam: HERE

Shiny Ninjas

A stealth fighting game, with local pvp. Snappy combat, hide and seek elements, and multiple win conditions, with up to 4 players on 1 screen.

I learnt about creating engaging levels for the kind of insta-death combat we had, and this was my first introduction into scripting a big game, with proper options and menus.

Steam release TBD: HERE

Game Jams I learnt a lot from:

Peasant Pusher

An arcade game about pushing peasants into the water without falling (or being pushed) in yourself.

A great lesson in creating a fun game loop in 20% of the time, and polishing it up in the other 80% of time.

red is lying

A very simple puzzle platformer, where you only have seconds to find the solution to each room, before being reset to the start of the game. Remember the solutions to each room after you reset and you’ll be able to get through the game in under 80 seconds.

This was a great lesson in creating unique problems/puzzles in a very established format (platforming).

The Climb Home

A slow paced puzzle platformer with a hint of storytelling. It introduces new mechanics every level, as the platforming gets harder.

Good practice in mechanics scripting and creating reusable puzzle prefabs.

Main portfolio.

More about me.