“Magician’s Thief” at least the character, was born from a discussion with a close programming friend at a TGI Fridays back in 2020, both web developers/programmers for different companies, we was pretty drained from how stressful the jobs we were at the time, and so we decided randomly ‘fuck it, let’s make a game’ and came up with a concept right there and then.
The idea was it to be a rouge-like platformer that auto generated a set of rooms from point A to point B, it’s easier to imagine Spelunky but you play as a thief, dodging traps and obstacles whilst avoiding being seen by guards and cameras, at the end of the level (3-4 rooms) you’d find the treasure you have to steal, and then you would have to go back the way you came under a timer/alarm that went off.
We were both pretty new to game dev but due to circumstances with our jobs and personal lives we never got time to expand on that idea, I think about that moment fondly as I wouldn’t be working on my current game if not for that conversation back then, thanks Jim I owe you a drink.
It wasn’t until 2022 I decided to work on a 2D platformer, up until then I played with random game ideas such as an office life sim in Ren’Py which was then later moved to RPG Maker, and a top down Earthbound/RPG Maker inspired horror game, the former had issues with getting the feel/core gameplay loop right (plus a lot of writing for a game I did not plan properly before development) and the latter being it too big and ambitious for someone who didn’t even know what I wanted the game to be in the first place.
So that’s why I decided to start small and simple and went with an engine that had a bit more flexibility with the programming side of things, Unity.
After a few tutorials online I was able to create a basic moving character with an air dash and some obstacles, after playing around with the gravity/speed, I got something that was pretty fun to control.
Once I had some basic movement I tried to create the character, the left character was when I made the concept for the rougelike idea and the second image is the Magician Thief in the current game (though his cape was to be changed to have red on the inside) and from there I made a few animations so I can get the feel of the character right.
Trying to recall what was going through my head at the time was hard, when you start working on a game, you either think ‘oh god why I am doing this’ to sometimes thinking ‘Hell yeah, I got the winning idea’ but to kind of quote a viral tweet I saw (sorry I wish I could remember the exact quote): game dev is asking why no one has made that idea yet, trying to make that idea, and discovering ‘ah, that’s why no one has made that idea yet’.
Once I had a little room with a bunch of obstacles placed all over, I got my friends to play it for fun, there wasn’t much to do, I gave the player a gun to shoot at enemies, but there was no sense of danger. However one friend asked ‘does the enemy have to die?’ and it led to the creation of the alert system, the idea is: if the enemy sees you, the enemy turns red and the alert goes up, locking specific routes/obstacles, like jump pads and moving platforms, that same enemy cannot increase the alert system twice cause they’re red, they’ll just move faster and chase you if you’re on the same platform as them.
The enemy had a couple of layers added, if they see the player, they’ll think for a second, and then if the player is still within their vision, they’ll fire the alarm, otherwise if the player is gone, they’ll go back to normal and continue their walk cycle. However it was coded so that if the enemy did see the player 3 times briefly within 10 seconds, they’ll automatically go red, this was to prevent the player jumping up and down teasing the enemy, there’s some real life logic at play there: if you’re a guard and see something for a split second, you could have imagined it, but if it kept appearing you know something was wrong, you don’t have apply real world logic all the time since well, it’s a game, but the right amount I found made it more interesting for friends who did try that and the reactions were gold.
The reason I expanded talking about the enemy and alert system there because that was the core concept of this idea, building upon that old rouge-like and turning it into something more simple/linier I thought, turns out that was the start of the many issues I ran into later on.
You can probably tell from the videos alone that I was very new to making this type of game and there was a lot of stuff I wasn’t factoring in at the time, but the main one was how I didn’t really understand level design, and to be fair yeah, if it’s your first time you wouldn’t realise these things until you actually tried to make it yourself, but the challenge that came was the idea of making a linier level and having it work with the alert system.
We’re going to jump 6 months later where I started to put the first level together, after a lot of trial and error I decided that to get the level to work I would need to make it almost metroidvania-like (ended up using the term minivania a lot). The main question I kept asking was ‘what I am locking when the alert goes up?’ so I split the level into 3 sections, each required a number of key cards that increased with each section, allowing the player to move around freely finding these cards. Paths would get locked each time the alert goes up, narrowing the players route, if they didn’t get caught the idea was they had more freedom and seemingly easier paths to get through some of the harder sections of the level.
But the further I got into the level the more difficult it got to design it and for the longest time I couldn’t figure out why, part of that was due to it being my first time designing a level, so I had no experience understanding why the back of my head was saying ‘this is off, this isn’t working!’ but one day it hit me, the security system was the issue! There were many other things but that was the main roadblock.
So at this point there were 5 security levels, each time it goes up, more and more obstacles and paths were locked, and later I made it so more enemies would appear, that works at the start of the level, but as you progress further in, you have then think how the level will look if the player was at security level 2,3,4 and 5, I was basically trying to design 5 levels layered on top of each other, in 3 different sections no less. If a player got caught 5 times at the start, everything later on was locked, and then I found another problem with presentation, I’m not sure how to explain this best but imagine a puzzle game with a simple room, you want the player at first glance to know what to do/where to go, my level was getting bloated with too much stuff and ultimately too complicated for someone like me at the time.
I don’t know if it was a blessing in disguise but back when Unity tried to make it so you would be charged per download (it’s a whole thing, if you didn’t know about it or are reading this post years later, I recommend looking it up) I decided to stop what I was doing and move the game onto Godot, from that point on I decided it was best to do something simple, ironic since I said to myself I would do exactly that when I started making this platformer, this time it was a simple fast paced platform which focuses on the players speed and movement.
It feels a bit anticlimatic to end it there, but the move to Godot allowed me do a lot more things better, such as improving my code, my approach the level design and scaling back the project as a whole, the game is now a level of 15 rooms with a boss (going to have 8 levels in total) a hub world and is more aimed towards speedrunning through a level as oppose to stealth.
I don’t think the level design was the only issue, there are a lot of smaller factors at play, the player moved fast and dashed a lot, in a level that was basically built for stealth, my reluctance to remove the security feature thinking that was the golden egg of an idea no one has done (there are games that have done this idea, and so much better than what I attempted) players didn’t really know what the aim of the game was, my understanding of level design was one thing, but UI design, trying to teach the player how the security functions work and so forth, all these little things add up and I was not ready to take on something that big in the end.
It wasn’t all in vain however, from that experience alone I’ve been able to create a full two levels of my current platformer, with a lot of back and forth with over 20+ play testers, some of which were game developers and friends who are big platformer enthusiasts and have crafted something I’m quite proud to show now, remnants of the old game is still present now, with how the enemies work, from not being able to kill them to then reacting when they see you.
My full two level demo will be hopefully coming out before the end of the year! And I will talk about how game came to be in more detail in a future blog post, thanks for taking time to read!
Comments are closed