The Original Idea
Originally, I wanted to make an idle game. But got stuck trying make my idea unique. I started searching the Google Play store for ideas and to see what games already existed. After not benefitting from my search, I started to consider what other genres of games that I enjoyed. Similar to my love for idle games, I also enjoyed bullet hell games. In short, a Bullet hell game consists of an extremely large amount of projectiles being fired at the player. The player then has to dodge these projectiles without getting hit.
Remembering this game genre , I immediately thought about combining it with my game idea. An idle bullet hell.
No Idea What I'm Doing
Now that I have somewhat of an idea, and some experience using Godot, its time to begin the development.
Starting a new project was incredibly daunting and I wasn't sure what to start with first. I knew I had to start somewhere, so I decided to start small. I need to have a clear goal in mind so I don't overwhelm myself.
The first feature I wanted to tackle was player movement. Using knowledge from the Dodge The Creeps tutorial, I was able to get movement working pretty fast. I also figured out how to add a background to the game as well. I do have to note, I am using WASD to move the player. This initially was for testing, as the final game would have a joystick for movement.
I do have to note, I am using WASD to move the player. This initially was for testing, as the final game would have a joystick for movement.
Firing Projectiles
The next feature I wanted to implement was projectiles firing from the player. Implementing this feature took some time as I tried to find a suitable tutorial to learn from. Eventually, I found a simple projectile tutorial and added it to my player.
The function on line 5 is responsible for moving the projectile. It is one of the many built-in functions in Godot. It runs 60 times a second. Using this function, I was able to constantly set the position of a projectile along the Y-axis. Giving it the illusion of being fired.
The function on line 8 is responsible for deleting the projectile when it's safely offscreen. It's connected to a VisibleOnScreenNotifier2D Node that emits a signal when whatever it's attached to goes offscreen. This is to save resources and to avoid unnecessary entity overflow.
Unforeseen Changes
Feeling pretty good about my progress, I decided to check out the Google Play store again for ideas. It was at this time that I would stumble upon a game called Lone Tower. Upon seeing this game, I was hooked. The idea was so simple, yet it was fun to play. Without even second-guessing it, I knew what kind of game I was going to be making instead.
‹ Previous Devlog: #2 Next Devlog: #4 ›