I wanted to share with you all something I've been working on these past few weeks. I mentioned in my previous posts that I wanted to learn something new, specifically, I wanted to make a 2D pixel-based game. My inspiration for taking on this challenge stemmed from you all (the lets build community). Over these past few weeks, you all have shared some amazing tools and resources. I read each and every post along with every comment and as a result, I have grown so much in the short time we've been a community. I hope you will allow me to give back by sharing what I've learned.
For my first 2D game I decided to focus on the simplest game I could think of that would be fun for me to play. Fun was a big factor for me considering I knew that I would get bored coding it, so having something fun to play might just motivate me enough to finish it :)
During my brainstorming, I remembered playing Counter-Strike jumping maps as a kid and really enjoying what amounted to a very basic set of game mechanics. On those maps, you simply jumped around a course to reach the end in the shortest amount of time possible. I figured I could take this idea and run with it (heh)
The game is simple. You are a dude named Blurby and you REALLY want to touch that flower! The goal is to move and jump through the level to reach the flower in the shortest amount of time possible. The game is designed to be optimized by finding small adjustments in your movements and jumps to save time.
My choice for Godot was simply out of curiosity, however, after working with both Unity and Godot now for several weeks I can honestly say the experience working in Godot is a million times more pleasant. I can't really put my thumb on why exactly I like it more, but it just feels like a more solid and well thought out IDE.
So with absolutely no knowledge about Godot, I decided to start with some tutorials on YouTube. I found a Youtuber that goes by the name HeartBeast who makes some really great content. Instead of watching every single video though, I focused on the couple mechanics that I wanted to learn (jumping and walking) along with some basic animation. Please note, I still don't have it all memorized, but I can say that I understand everything I built 100%.
I made a promise to myself that I would attempt art, however, I am fully aware of my own limitations. That is why I decided that the level art would be something I found, while the player and its animation would be something I created from scratch using Aseprite. This allowed me to understand the aspects of pixel art and animation while still finishing the game in a short amount of time.
For the level art, I chose this great asset pack from itch.io called MicroFantasy.
Aseprite is a very simple tool that I found relatively easy to learn. I had to google a couple things due to my unfamiliarity with the UI, however, the basic concepts of pixels and frames made it easy for me to create this very basic 3-frame idle animation.
Creating the level was probably the most difficult part. I wanted the game to be fun but with some element of difficulty. Not having any enemy players to navigate around meant the difficulty would have to come in the jump mechanics. Below demonstrates an example of how a player could shave off a couple seconds by executing a pixel-perfect jump off the ledge (please know this took me about 10 attempts to nail down for the gif).
My early version of this game had the player starting over from the bottom every time they missed a jump. I decided to make the game more forgiving by adding inherit checkpoints that gave the player a place to fall without having to start over. This punished falls enough to impact the time while still making less than perfect runs enjoyable.
Besides the obvious things like learning Godot, Aseprite, and level design, I think the biggest takeaway for me is confidence. I don't have a lot of time to devote to game development, and I really wanted to see what I could do in a short amount of time. I am happy to say that this game represents weeks of learning and an afternoon of focus and determination. I hope to continue working on this project by adding more mechanics and discovering ways to add fun to this game.
If you are interested in playing the game I included a link below for you to download. Please share your thoughts, but more importantly your high scores :)