Chapter 3. Creating Diverse Player Experiences with a Flappy Bird Clone

Alright, here we are! In this chapter, we will make our first Construct 2 game using the game design information that we obtained from the previous chapter. We will look at a popular game that everyone knows, Flappy Bird, and try to make something similar. We will analyze what makes it good and what can we do to make it more engaging.

In this chapter, we will look at:

  • What the Flappy Bird game design looks like
  • How to make a dynamic gameplay
  • How to add modifications from the original design
  • How to add collectibles

How Flappy Bird works

Let's first take a look at how Flappy Bird works and how it ended up with its designs. The game is really simple; players control a bird that automatically falls to the ground, and to prevent this bird from falling, players need to touch the screen to make the bird flap upward. There are pipes coming from the right-hand side of the screen, and there's only a small gap left for the bird to go through.

Everything seems so simple, so how did it become so popular? The answer is through simple controls and random generation. The way to control the game is just through a one-finger tap; everything else (like the bird falling down and pipes coming from the right-hand side) is handled by the game. The other factor is random generation.

Understanding random generation

So, what is random generation and how did it make the Flappy Bird experience so engaging?

Note

Random generation is a technique used to create a game object at a random place or random interval, or the created object itself might be random.

This is what's used when creating the pipes; there is a gap at a random position between two pipes when they are created. Why is this so important? How does this create a challenging experience? It's because the pipes are randomized. Flappy Bird creates a different level every time the game is played, so no two playthroughs will be the same. If the gaps are created at a fixed location for every play, players can remember them. Once the players remember them, the game starts becoming less challenging. Dong Nguyen, the game's developer, will then be forced to add more levels with different gap positions.

Flappy Bird game design

Now, to better understand the inner workings of Flappy Bird, we will try to make its game design based on what we learned in Chapter 2, Writing Your First Game Design. This might not reflect how Dong Nguyen created his game design. The following game design document is written in the way I would write a game design document to make this chapter easier to understand:

  • Elevator pitch: This is a game where you have to fly a bird through small gaps made up of randomly generated obstacles.
  • Theme: This is a one-tap game.
  • Genre: These are casual games.
  • Challenges: These allow the bird that the player controlled to fly through small gaps at random positions.
  • Rewards: Rewards are such that one point is added every time they managed to fly through a gap.
  • Winning condition: There is no winning condition. This is an endless game.
  • Losing condition: There are two losing conditions: if the bird hits the ground and if the bird hits an obstacle.
  • Dynamics: This involves the following:
    • The bird automatically falls down if the player does not tap the screen.
    • If the player taps the screen, the bird flies up for a few pixels before falling down again.
    • Two pipes will periodically come from the right-hand side of the screen as obstacles. These pipes will form a gap at a random location.
  • Gameplay progression: The flow is as follows:
    • Unless the player taps the screen, the bird will fall down
    • As long as the player hasn't lost, the game will create two pipes as obstacles
    • If the bird hits the ground or pipe, the player loses

This is the rough design of the game; we will follow this design in making our own version of Flappy Bird.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset