*gasp* *gasp* Let this be a lesson to anyone diving deep into an ocean: always have a plan and do not dive headfirst.
I finally finished my one tiny game: “Survive the Void”. The premise is simple: rack up a high score while dodging the Void’s bullets. You could say this is my form of “Flappy Bird”.
But the truth of the matter is this: I went in making this game without a clear plan, thus I improvised and struggled with making some ideas work. Let’s get to the details.
Hell in Making Bullet Hell
My main idea with the game is arcade bullet hell, wherein a lot of bullets appear on screen, and you have to be deft at dodging those. I opted for the Unity Game Engine due to its popularity and rich learning material scattered on the Internet. Coming from the computer science educational background has made the learning process of this engine buttery smooth.
Getting the player to move was straightforward. Getting the enemy to move and shoot streams of bullets was daunting. I also wanted my background to have a constant distortion effect to induce the dread the Void created, but my brain got fried on fiddling with that kind of special effects with the game engine.
One key point of interest with Unity is the Asset Store. The Asset Store is exactly what you guessed: you can pull assets made by other creators, be it game objects, art, music and the whole nine yards. However, for this particular project, I challenged myself in NOT using the Asset Store because I wanted to put my artistical skills to the test. And boy, a challenge it was, especially when I had to learn these tools at my disposal:
- Aseprite: to make the animated pixel art of everything, from the player down to the background.
- Audacity: to make the sound effects
- Linux MultiMedia Studio: to make the looping music track.
- Git/Github: to save my progress over a cloud and work on the game on my laptop during my college semester.
One asset in particular that I actually downloaded(not from the store by the way) was the font for the game. It would have taken me more time to create it by hand, and I was eager to get the game going.
Newfound Respect for Game Development
After this whole experience, I have major respect to game developers, especially the indie game developers. Juggling real life affairs while making your games takes true grit. Unexpected events happen in your life which get in the way of making games. Then there’s the debugging aspect of game development where you could spend days or weeks squashing a particular bug or making a certain feature you want to work properly. Not to mention the amount of times to build and rebuild the project to make sure the frigging screens don’t appear tiny and unreadable.
All in all, the most important thing when it comes to game development is finish making the game. It creates closure and allows you to move on to making more games, better than the ones you have made previously. ‘Tis a funny thing for me to say since this is one game that I only made and have not made any others. LMAO
Here’s the tiny game! All feedback is appreciated, and I am willing to share my source code. I might give it some more sprucing, but I want to make other games, and use different game engines(or make one myself!). One important thing that I have learned from all this: WRITE DOWN A PLAN DOCUMENT!! Of all the things for me to forget to do when it comes to software engineering is making a document detailing the designs and technologies to be used. Other than that, improve on my art and music.
That is all! And as always… HACK TO THE FUTURE!!
About featured image: It’s a drawing I did after I had the game in the works. Done with colored pencils.