Recreating Flappy Bird - Easier than I thought
Recreating Flappy Bird - Easier than I thought
The journey of making snake was pretty much a nightmare, however making flappy bird was actually much easier than I originally thought. Easy enough to the point where I made it in around 3-4 days not in a row though, it was very sporadic because I had a lot of things going on while making it.
Day 1 - Where do I start?
I really had no idea where to start. Should I try to make the bird? Maybe the pipes? What about the UI? These questions always come to mind when building a game straight from scratch. What I like to do is to make the character first, and in this case that would be the bird! I started off simple, a yellow square, and a single script with the movement stuff. It took a while to finally get the flapping to work, but I got there eventually. The flapping however did not feel like the original game. This was because when the bird is falling, the velocity was usually greater than the flap velocity making it feel very hard to control. To solve this every time you flapped, I would reset the velocity then add the flapping velocity.
After that I started making the pipes, and the pipe manager. Before I did this I remembered how bad it was trying to make a play again button in snake, so I made sure that I made the pipe and the bird a prefab. The pipes were really easy, instead of moving the bird forward, I would just spawn the pipes off screen, and have it move left for a certain amount until it finally despawned. There I had it, mostly a working game with something that looked like flappy bird. Now I just had to complete the game loop where the bird can die and the player can play the game again.
Day 2 - Completing the Game Loop
Today was a pretty easy day, I added some UI for the game over menu, and added colliders for the pipes. It did take a while to realize the optimal way to setup the colliders that would make the bird die, but I found the optimal way to do it eventually. When I setup the play again button, the whole thing worked with no errors, and I was super happy that I didn't have any MissingReferenceException errors.
Another big thing I did was upgrading the input system to where the bird could be controlled in many different ways.
The last thing I started on was the difficulty multiplier where the farther you progress the more difficult it gets. I didn't get very far on this though and ended up not finishing it. The next couple of days that I worked on this project I was planning on making a score system and finishing the difficulty manager..
Day 3 - More Features
This day I finished up the difficulty multiplier which took up most of the time, but I had some time to quickly make a simple score manager which changed every time you successfully passed a pipe. Today I wasn't feeling like adding the last finishing touches so I just left it at where it was for now and went to bed.
Day 4 - Finishing Touches
Today I added a thing where at the start it would wait for you to press any button then it would start the game. This was a pretty simple adjustment. Now the game was complete! I went ahead and made a build and published it to itch.
Final Remarks
Making this game taught me a couple of things. Whenever you start making a game, it might feel very overwhelming so start little by little and before you know it your game will be finished. Making this game gave me valuable experience to hopefully help me prepare for an upcoming game jam that I will be participating in. Of course there will be a blog post about the game jam. One last thing that I learned is that making these games gives me so much more confidence in making another game because I know all of the mistakes like not making prefabs early on and other things help me know what not to do.
Here is the link to the itch page: https://thecodingtaco.itch.io/flappy-bird-recreation
Thanks for reading!
TacoDev
Here is the link to the itch page: https://thecodingtaco.itch.io/flappy-bird-recreation
Thanks for reading!
TacoDev
Comments
Post a Comment