Finding Yourself is a game about finding yourself. I made it for Ludum Dare #23. It’s a platformer with 15 levels, and it’s difficult, I’ve been told. You can pull off hard sequences of maneuvers to collect the key in each level, if you want, or simply glide through without straining your back to get to the end. 1402 people submitted a game for Ludum Dare #23. Submissions are rated in various categories, of which in the “Overall” category with the rating of 3.33/5 I came 223rd. The best category my game achieved in was surprisingly the “Fun” category, where with the rating of 3.41/5 I came 126th.
Arrow keys - Move left/right and jump.
D - Dash.
Space or F - Alternate Jump keys.
F4 - Toggle windowed/fullscreen.
F9 - Saves a screenshot in the folder the game is located.
Downloads / Links
Download .exe file (Click here!)
Download .gm81 source file (Click here!)
Watch Development Timelapse (Click here!)
View Ludum Dare entry page (Click here!)
View game on YoYo Games (Click here!)
Download the font I made for this game (Click here!)
Finding Yourself Post-Mortem: A Look Back on the Development Process
As we all know, Ludum Dare is a light-hearted contest which runs for 48 hours, within which a game is to be produced and submitted by each participant for the following trial of a voting period. Let me tell you about those 48 hours in relation to the game I submitted to Ludum Dare #23.
The Morning Prior
The theme was to be announced at 11AM where I live, so I had time to walk to the nearest supermarket to do some last minute stocking up while the sky was overcast and the air was still fresh and misty, and get back to eat something I can’t remember if I’ve even experienced before at breakfast time: Bacon and eggs on toast, with juice. I then did some last-minute flicking through of The Game Jam Survival Guide, wrote down somewhat of a plan for the 48 hours which mainly consisted of what I was going to do in the first quarter of Ludum Dare because I didn’t have time to plan much more, and then I uploaded a GameMaker 8.1 (.gm81) file (which contained the stuff needed to play .pttune files) and distributed it in a blog entry on the Ludum Dare website so as to follow the rules like a good boy. Well, I finished posting that blog entry 20 mins in to the 48 hours due to website traffic screwing me over as everyone raced in to check what the theme was (and also due to the fact I am not a fast typer), and didn’t even end up using .pttune files in the actual game. The theme was “Tiny World”.
Dawn of The First Day -48 Hours Remain-
Following the little plan I put together, I did really well to begin with and had a box maneuvering around a test room the way the character does in the final version of the game, and also a way to move on to the next level within the first few hours. I then imported the font I was to use in the game and started displaying a giant number in the background of the levels to show what level the player is currently on, and made a simple rain effect by simply drawing lines at random over a simple gradient background (oh no, two games in a row I’ve used a gradient as a background!). I also made the gems at this point too, which I later changed into keys.
After that I was kinda lost and didn’t know how to make my game idea fit the theme, nor did I know what small step I should take next in moving my game towards the complete idea I had in my mind either. After some pondering I remembered something I learnt myself a while ago that was reiterated to me in The Game Jam Survival Guide: The first thing you should do is make the most basic thing you can call a complete game; something with a menu, a level, a way to win, and a way to lose. It’s here that I added those red dangers and worked on the player respawning via lighting strike (I was going to change the “dangers” into spikes later on, but after I made the first few levels I decided they looked almost like little berries or something on the side of a giant vine, and so I left them like that so it at least looked like you may have been really tiny, because I still didn’t have much of an idea of how I was to tackle the “Tiny World” theme). It’s also here that I worked on the main menu and the most basic tileset which was to be used in the level/s, which I had planned to give some texture or pattern later if I had the time, which I didn’t. I then made the first levels (the green ones), with text showing the player the mechanics that are used in the game, and wasted a bunch of time sitting there playing through what I had made while thinking of what to do next. It was getting late, so I slept on it.
Dawn of The Second Day -24 Hours Remain-
I woke early, shaved early, clipped my nails early, and showered early, whilst gathering in my mind some sort of plan for the morning to follow through with until I was to attend church. As planned, I jumped onto the computer, programmed the file saving system including the saving of best runs and displaying of the stats on the title menu, and I made character sprites and got them displaying properly in place of the character hitbox, then I left for church.
In the afternoon after a bit of food, It was time to get back into it. I made the mini intro cutscene where you see yourself running across the screen and jumping over the red dangers, and I made the ending level and the ending mini cutscene, turned the gems into keys, and made the Congratulations screen which follows, displaying the stats of that run. The game could now be called done; I now had the basic framework of the game complete.
It was time to add sound, music, and wrap it all up with a few more levels. To start off, I tried to get .pttune files playing in the game. After I did this, I decided I didn’t have time to make my own music anyway, and then cut out the .pttune functionality from the game, made the rain sound effect in Pxtone which I exported to .wav and softened with GameMaker’s inbuilt basic sound manipulation stuff, then moved on to making the rest of the sound effects with SFXR, alongside the running game, to try to get sounds that I thought fit well. I was very happy with how the lightning sound effect turned out. I then did the same thing with Autotracker-bu and music; I generated about 20 tracks and played the game with the rain sound and other sound effects implemented while listening to the tracks, and eliminating ones I thought didn’t feel right, until I ended up with the tracks you hear in the game now, after converting the .it files to .wav and then to .mp3. It was time to make levels until the submission time. I had work the next day, so submission time for me was before I went to bed.
Before designing levels, I thought I should gauge how difficult I was making them by testing the limits of the physics. For example, I knew that the player could jump x blocks high, and jump x blocks far, and how far the player could jump, and the limits of where they could land by running off a platform and holding right, etc (You can actually see me testing this in the timelapse. You can see I make a room with purple tiles laid out like a grid. I was using that grid of tiles as a way of measuring the distance that the different maneuvers take you in different situations). I would then use this information to know how hard I was making levels. For example if I wanted to make an easy level, knowing that the player can jump x blocks high, maybe all of the jumps in an easy level should only require the player to jump half that high, so as to make it easy, and more difficult levels would require the player to jump with more precision to make jumps. This testing was all well and good, and probably would have gotten somewhere, but there was just no way I’d be able to properly design levels using this distance counting method in the time I had left, so I stopped with that and just hurried on to making levels. I was aiming to make 20, but I realised they were all going to be crap If I just rushed them out like that. I had rushed out the 5 yellow stages just then, guessing how hard the jumps were that I was making the player traverse, and they didn’t turn out very unique or good in my opinion, so I decided to cut the levels down to 15 and just have some fun with the last 5 levels (also disregarding the testing I did, and just winging it and playtesting). As I was making the levels, I made it so that each set of 5 levels had their own architecture, which I thought ended up alright. The green ones I threw the blocks around in a mountainous, curvacious fashion like a forest, while you can see the yellow section had all platforms that weird shape, and the blue world had levels structured like buildings.
I then played the game through just as a general sort of sweep, to catch any obvious problems with it to fix before I uploaded, but all was good, so then I wrote up my submission and submitted my entry. It was late. I was happy with my game. It was time for bed.
What Went Right
- I did plan at least a little bit before the start of the 48 hours.
- I went to bed on time and woke up refreshed, early.
- I stayed in familiar territory in regards to the character spriting, and as such was able to do that rather fast.
- I made something that was “complete” early, allowing me to choose how to refine my game in the spare time I had left over.
- Deciding to let Autotracker-bu handle the music meant that I was able to spend more time making levels.
What Went Wrong / Amending mistakes
- I could have planned much more than I did prior to Ludum Dare. I was lost a few times during the 48 hours and wasted time trying to decide what to do next when I could have been progressing the game.
- It is still a habit of mine to playtest more than needs be, procrastinating and wasting time that could be used developing the game (This being said, overall I was rather happy with my low procrastination levels this Ludum Dare).
- I wasted a lot of time doing things that didn’t make it into the final game, like fiddling around with Pxtone and testing the limits of the physics. This could have been better anticipated.
- I was testing the physics so that I could develop levels to be a specific level of difficulty, but because I didn’t use that information and just powered on to making as many levels as I could, I got so into making the difficult path for the 5 blue levels super amazing that I forgot to make the easy path of those blue levels actually easy. I really wanted to make it so that most people would be able to beat the game, but I got carried away and as such, a very small percentage of people have actually beaten it, and that is by taking the ‘easy’ route. I should have thought more and had better control over the difficulty curve I was feeding down the player’s throat.
- I uh, also could have bought less food or something. I still had more than half of the stuff I got for the weekend still sitting in the fridge.
I’m fairly certain that I could have made my entry in half of the time with all of my mistakes amended and a little bit of speed-dev practice down. I should probably make typing with all of my fingers a habit too. With a bit of practice, I believe the same sort of game with better graphics, gameplay, homemade music, and added wildlife or enemies is fairly doable by one person in 48 hours. I look forward to being blown away by entries like these. Until then, put down your glasses and let your eyes recover from the wall of text I threw into them.