IllustratorsLeak
castpixel
castpixel

patreon


How to come up with an innovative game mechanic

with your amateur gamedev host, @castpixel



Ok, so I was feeling very low this past month. Some health stuff to come to terms with, couldn’t focus on work, was out of creative juice.


I entered gbjam in the hopes of getting my mojo back, and it totally worked! I frequently feel like I fail at game jams, because I usually don’t end up with finished, fun games. Nobody cheers for a half-baked engine. But I always learn a ton. I knew I wanted to make a game with an innovative core mechanic, so this time I thought I’d try to learn how to come up with one. Below is a write-up of my findings.


This is the game engine I ended up with

INSPIRATION
So when I think of innovative core mechanic, I think Katamari, the Swapper, Scorched Earth, but also these two that stand out for me:

Drill Dozer for the GBA is all about drilling. You do everything by drilling, attacking, climbing, secret-finding, even operating elevators.


Plant Cat a brilliant previous GBjam game is all about platforming, armed with an infinite, flexible plant ladder that needs soil to spawn, and also incidentally can tether to enemies, neutralizing them so you can pass.


But how do you go from a blank slate to a game mechanic that is innovative, clever and elegant? Surely iteration is the key, but what is even the starting point, before you begin to iterate?

PRACTICAL ADVICE!
I was talking it over with my friend Sven ( @___discovery  ) and was sure that I can’t come up with a clever game mechanic on my own. Sven, being the wise, talented, and experienced gamedev that he is, told me it’s all about exploring the possibility space and discussed it at length with me. Well, he was doing all of the explaining, I was doing the asking. He told me to think of a space, and how I’d go about traversing it in increasingly less ordinary ways.

Imagine you want to cross a street. Walking across the street is a commonplace way to solve the problem. But what if the street is too crowded? Take a detour, again, commonplace, even if it is an inconvenience and needs more work. But what if the detour takes you to a place that has snakes and is also super packed with people who are in a hurry and are all carrying hot coffee? Now this is a problem that needs an extraordinary solution. An interesting solution, which, if you’re making a game, requires a player skill/ability, and ultimately translates into gameplay.





GIVING IT A GO - THE CONCEPT
Having a starting point took care of my blank slate mentality: I tried to imagine the possibility space of a platformer that can be traversed by using stealth and one special skill that you can attribute to one of the two gameboy buttons (this was the gameboy jam after all).

This was my first draft:

  1. You could maybe (due to a superpower) become an electronic spark that can cling to all the walls allowed (maybe there are unscalable walls). Unseen and unheard for a small time frame

  2. or you could become a Bugs Bunny-like bump on the ground, burrowing inside the platform floor, under everyone’s feet

  3. It would be cool if you could remotely activate switches (for distraction and other purposes)

  4. Maybe you can send a spark wherever you like, but you do not become the spark, you just control it to do what it needs to do (for example scout out an area in front of you). Your body is still where you left it, and can still be detected.


Guards alerted to the player’s run noise


Combining those ideas for a special move, in a way that would satisfy clinging to walls (a), remote switch activations (c) and leaving your body vulnerable (d), I settled on this special move:


You get to send out a robot drone, of which you have an infinite amount. Each follows the floor contour (it climbs walls and ceilings) and has limited range. It can be used to activate switches remotely.

So already, instead of no idea at all, I had an obstacle-filled possibility space, that I could navigate by using a set of player skills. From that to a full level and then a full game,  all that remained was to make interesting problems for the player to solve, using those skills.


Some initial designs, a spark, some drone ideas and 2 guards


THE IMPLEMENTATION

Then, I implemented the mechanic, to see how well it performs.

Coding the robot drone to climb walls was a puzzle, but I quickly settled on detectors around the sprite (front, bottom and corner), that “feel” out the terrain in front of the drone and either allow it to go forward or force it to rotate 90 degrees, in order to conform to right angles on the walls. I guess non-right angles would need the detectors themselves to detect slopes? But I didn’t need it, so I didn’t overthink it.

Having only two action buttons to work with was an opportunity to experiment with context sensitivity. Therefore I made pressing down to crouch and then pressing button [A] into a trigger for deploying the drone robot. Makes sense that your character would kneel to place it on the floor, like a radio-controlled toy.


Drone deployment and drone-specific walls


AND SOME ITERATION
It would be cool if the second action button could do something context-sensitive while in drone mode. I decided you should be able to detonate your deployed drone, for two reasons

  1. if you want to quickly exit drone mode (where you can’t control your character and are vulnerable) you can instantly destroy the drone and regain control.

  2. the sound from the explosion could be used as a distraction, by making the guards think you’re someplace other than your current location. This furthers the stealth scope of the mechanic


Drone detonation

I also designed some paths that count as climbable walls for the drone, but are not obstacles for the player. That way, I could redirect the drone to interesting paths, such as toward a ceiling or a switch.

To really sell the drone’s scouting capability, I set the camera to following the drone whenever it’s on-screen. That way you can see where it’s going, and also scout ahead.

While testing the drone out, it dawned on me that I could make it go as long as the action button was pressed, and while it wasn’t pressed, the drone could retrace its steps towards the player. Initially, I had it so that you could extend and retract the drone as often as you like, back and forth.

Testing that, in turn, showed that my distance calculation introduced a significant offset when scaling corners, so by moving it back and forth a lot, the drone would move a tiny bit further away each time, overriding its fixed distance “tether”.

To counter players exploiting that, I made the drone extend only if you hadn’t previously released its action button. That is, you can press the action button, the drone extends until it can’t any more, and by releasing the action button, the drone can only return towards the player, it can’t extend again before it reaches the player. If you press the action button while the drone is retracting, it stays fixed in place. That’s one more interesting interaction, and I decided to leave it in, in case the drone is exactly where you want it to be for an explosion/distraction, but the timing isn’t right, as the guard is too far away to hear it. That way you can hold the action button as long as you need, and detonate the drone when the time is right.

PARTING WORDS
That was my process. Unsurprisingly I don’t have a game at the end of the 8 days I spent on the jam, but I feel there’s a decently interesting mechanic in place to explore, and I intend to.









Comments

thank you! it's retro stuff, like Astro boy and Kim Possible (both the cartoon and the PS2 game)

This character design looks awesome! What is the process behind these ideas?

I'm loving your posts. So inspiring and so much great info. Definitely glad I'm supporting you :)

Curious Scribbles


More Creators