Posted July 30, 2019 by HackTrout
This is a dev log about my experience of developing Liment. That's right, it took me 6 months to get this project to where it is now which I'll admit is far too long. But to be fair, those 6 months weren't spent developing all the time. Instead, I worked on Liment in my spare time. Weeks could go by without me working on it at all, which is not a great habit of mine and I plan to address that. That's why I'm writing this post, I want to detail what I've learned, what I've done and what I plan to do with Liment in the coming weeks, so strap in because this is going to be a long one.
As you can probably tell, I am not a full time indie. I make games for fun in my spare time which is partly why it has taken this long to get this project to where it is now. Because I'm not depending on game dev, I've started many games and never finished them, the only one I've actually finished was Haywire, a game jam game. But when I started this project back in January of this year, I fell in love with the idea and I wanted to finish a game for real.
The original idea for Liment was that you swung through a cave avoiding the spikes above and below you. I really liked the idea because I thought it would be a fun way to move as I love momentum based games. I got to coding and the first version I ever saved looked like this:
To prevent this post from being too long let's skip straight to the fifth version:
I was happy with my progress as I was focusing on improving the core aspect, the player's movement, but from here I started getting grand ideas of what the game could be. I was suffering from problems with scope.
I'm sure a lot of you can relate, you have an idea and start a game without a thought out plan. You have so much motivation you spend hours upon hours making the game in the first few weeks of starting the game. Then one morning, you find yourself without the same drive to finish the game and it's nowhere near completion and was it always this boring? Well that was me in Liment's early days as I just started the game without a clear idea of what the finished game was. This allows your scope to go out of control. "Won't it be cool to have a story mode?", "Maybe there should be bossfights?" and "An upgrade system is a must!" are ideas that flew through my head while I made the next versions of the game which muddled any vision I might've had for the finished game as these are drastic changes that don't work with the style of my game. For example, Mario wouldn't be the same if it had a skill tree. Along with that, it increases your workload for what you thought would be a game that would only take a month to make.
This was the mistake I made and why it has taken this long without finishing it. But, because of this, I feel like I learned my lesson. For my next project after Liment, I won't jump into development with a "cool" idea without making sure it's fun. The best way to do this is to take the core of my game idea and make a quick prototype out of it. For example, Mario's movement in any Super Mario game. After that I will write down a brief description of what I want my game to be when it's finished. For Liment this should be "This is a game where you swing through a cave and you avoid the spikes above and below you as well as the enemies who try to get in your way".
If you have tried out the current version of Liment and you are interested to see where the project will be heading, I will be working on 3 aspects of the game in the coming weeks. These are the Difficulty Curve, Decoration and User Experience. The Difficulty Curve refers to how I'm going to increase the challenge through each play-through of the game, this will be the increase of speed and when harder enemies are introduced. Next is Decoration, which refers to how I plan to make the game look more visually appealing and add a bit of variety. I've already started work on this and this is all I have to show for it:
Random crystals appear in the standard cave.
After a while you will enter a "Crystal Cavern" where there's an abundance of crystals and glow bugs which light up the dimly lit cavern.
I hope to create more unique areas that'll spice up the look of the game rather than going through the same grey and boring cave. The final category I'm looking to improve is UX or User Experience which I've lumped a lot of stuff together in. These are the standard game features like volume control and button mapping but I also plan to revamp the game's UI as it is bare bones at the moment.
As well as working on the game, I also plan to update the page with new dev logs every week detailing any progress I've made. I also plan to keep the current version of the game up on the page for anyone to download and give critique of it. It still feels weird to do that as I'm uncomfortable about people playing an unfinished game but on the other hand it gives me the chance to receive feedback and suggestions during active development. What are your opinions on this?
As promised, I said I would go through some things I've learned as an inexperienced dev.
Firstly, if you're anything like me and you rarely finish games, then you probably haven't encountered any performance issues (this is using Gamemaker Studio by the way). I was shocked to find that my game started to drop frames at one point and I had little to no idea how to fix it. The problem could've been anywhere or everywhere in my code as I coded with little thought of performance. I watched a very helpful video by the FriendlyCosmonaut (video here) and I was able to address the issue but this did take up time I could've spent making the game. All in all, I'm not telling you to go out and optimize the hell out of your game project when it's running perfectly fine but rather you should try to code in ways that'll prevent something like that from happening in the first place by getting familiar with what common mistakes slow down your preferred engine.
Secondly, DON'T. UNDERESTIMATE. THE. POWER. OF. DEADLINES. They're very handy. As a hobbyist, I don't have to worry about deadlines which seems like a good thing on the surface. I could go weeks without working a single bit on my project. Not only does this make it harder to get back into the groove of making games again but I've also wasted valuable time not working on what I love doing. Then I learned the value of a deadline when a Youtuber invited people to send their projects to him to play within the next few days. Those couple of days had me filled with a drive I hadn't felt for quite some time. I ended up with a somewhat playable version of the game (This also happens to be the one uploaded to this page!). For that reason, I've decided to hold myself more accountable and be able to provide somebody with proof that I did something that week which is why I plan to update you on my progress every week.
If you made it this far, thank you for reading my first ever dev log! I'm new to this. If you haven't tried Liment already, I would really appreciate it if you would give it a try. Any feedback or critique would also be great! As well as a general update every Sunday, I'm also willing to do a dev log on certain aspects of the game if anyone is interested. Expect the next update to be Sunday the 11th as I will be participating in the GMTK game jam this Sunday!