Flappy Bird Clone - The Complete SFML C++ Game Course
4.3 (36 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
8,499 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Flappy Bird Clone - The Complete SFML C++ Game Course to your Wishlist.

Add to Wishlist

Flappy Bird Clone - The Complete SFML C++ Game Course

Game Programming Course To End All Courses
Bestselling
4.3 (36 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
8,499 students enrolled
Created by Frahaan Hussain
Last updated 6/2017
English
English
Current price: $10 Original price: $20 Discount: 50% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 5.5 hours on-demand video
  • 3 Articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Use C++ To Make A Game
  • Create A Multi Device Game
  • Create A Cross Platform Game
  • Use The SFML framework To Make A Game
  • Understand Game Logic
  • Create An Extendable Game Engine
  • Understand Flappy Bird Game Mechanics
  • Understand How To Create An Adaptable Game Template
View Curriculum
Requirements
  • C++ Programming
  • SFML
  • Coding
  • Game Development (optional)
  • Flappy Bird Game Logic (optional)
Description

Learn how to make cross platform games using the immensely successful and addictive Flappy Bird as an example. A step by step process is used to show everything from project setup to essential game design technique

Gain a good understanding of the following concepts:

  1. C++ Game Programming
  2. Video Game Logic
  3. SFML Game Programming
  4. Game Mechanics

SFML is one of the easiest game frameworks in the world and will provide you with a solid foundation for your game development journey. The gaming industry is bigger than Hollywood and is constantly growing, start your journey now.

You will be provided with the full source code to aid in development during and after this course. The source code and artwork is free to use in as many projects as you wish.

Who is the target audience?
  • Suited for C++ Developers
  • Suited for Budding Game Developers
  • Fan of Flappy Bird
  • Love Video Games & Relish The Prospect Of Making A Game
Students Who Viewed This Course Also Viewed
Curriculum For This Course
36 Lectures
05:28:32
+
Introduction
1 Lecture 02:13

Welcome to the Flappy Bird SFML C++ Game Development course.

Preview 02:13
+
History
2 Lectures 00:28
Great Articles
00:16

Psychological Techniques Employed By Flappy Bird
00:11
+
Project Creation & Setup
2 Lectures 24:55

In this video we will cover the following

Prerequisites:

  • Windows Visual Studio project setup
  • Resources
Setup Project - Windows (Visual Studio)
13:47

In this video we will cover the following

Prerequisites:

  • Mac Xcode project setup
  • Resources
Setup Project - Mac OS X (Xcode)
11:08
+
Game Engine Setup
4 Lectures 47:34

We will create the state machine which will allow our game to manage different game states/screens from Main Menu to Game to Pause state

Great links to learn more about State Machines:

  • http://gameprogrammingpatterns.com/state.html
  • https://www.gamedev.net/resources/_/technical/game-programming/state-machines-in-games-r2982
  • https://gamedevelopment.tutsplus.com/tutorials/finite-state-machines-theory-and-implementation--gamedev-11867
State Machine
17:43

We will create an asset manager to handle the loading and retrieval of various types of assets including the following

  • Textures
  • Fonts
Asset Manager
08:14

We will cover implementing an input manager to handle all of our input needs. It will be extendable allowing you to implement more and complex input methods for your future games.

Input Manager
07:35

We will implement the main game loop that will handle all of our game from input to asset management to state handling.

Game Loop
14:02
+
State Creation
4 Lectures 43:45

We will now implement the Splash State that allows us to add our very own logo

Preview 17:24

We will now implement the Main Menu State that allows us to  navigate to the Game State and displays the game name/logo.

Main Menu State
15:47

We will now implement the Game State that will contain our main game logic and game elements.

Game State
06:29

We will now implement the Game Over State that will appear when the player wins or loses.

Game Over State
04:05
+
Game Logic
14 Lectures 02:31:20

We will now create our Pipe class which will serve as the foundation for spawning and moving pipes.

Pipe Class Setup
07:44

Now we will spawn pipes that move from the right to the left of our game window.

Preview 10:54

Lets spawn pipes automatically and delete them when they move off screen.

Automatically Spawning Pipes and Deleting Them
08:14

Pipes are awesome but we need some ground/land to compliment them, also they need to move :D

Create Moving Ground
14:12

Lets liven the game up by randomising the Y position of the pipes to add some difficulty to this game.

Randomise Pipe Y Position
06:12

Awesome we have pipes and land. Now lets create the basics for our Bird Class which will allow us to create a moving, animating bird.

Bird Class Setup
09:56

The bird is boring, lets make it come to life using animation :D

Preview 07:58

We will now make our bird fly.

Fly Bird Fly
11:28

Let's make our bird rotate to look down when it's falling and rotate to look up when it's flying.

Rotate Bird
05:59

Without collision we have a very easy game, so lets implement collision detection with the ground and a game state system for the different gameplay states.

Collision With The Ground & Game State System
15:02

We have collision with the ground, lets extend it to support collision with the moving pipes arrrgggghhhhhhhhh!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Collision With The Pipes
08:37

Dying is not fun. So lets rub it in the players face with a flash of light :D

Flash Screen White Upon Death
11:56

Games are no fun without scoring, so lets add a scoring system.

Scoring System
15:05

The player needs to be able to see their score as they are playing so lets implement it.

Displaying The Score
18:03
+
Game Over
4 Lectures 39:03

We have a fully functioning game. Lets extend it with a game over screen to display some extra data.

Setup
16:04

We will now display the players pitiful score on the game over.

Display Score
08:25

It isn't fun if we lose our score when the app is shut down, Flappy Bird is hard as it is. So lets save our scores.

Saving Score
06:16

Shiny things are awesome, lets give the player some medals for their hard work.

Medals
08:18
+
Extras
5 Lectures 19:26

We will add audio to engage the player even more.

Sound Effects
08:09

Extra Task - Music
00:19

The command prompt is great for debugging for doesn't look very elegant when sharing your amazing game with the world.


In this video we will cover hiding the command prompt.

Hide Console On Windows
01:23

Running your game through Visual Studio is great but not ideal for sharing your game. Also Visual Studio uses valuable resources from your computer for debugging.

Lets cover how to produce a release version of your amazing game to share.

Distributing Your Game On Windows
02:57

So what is next after this awesome Flappy Bird game?

Where To Go Next?
06:38
About the Instructor
Frahaan Hussain
4.2 Average rating
405 Reviews
39,579 Students
10 Courses
CEO and Lead Developer at Sonar Systems

I am CEO of Sonar Systems which is the world leader in educational material for the game engine Cocos2d-x, one of the best and most popular game engines in the world. With years of experience programming and running an online education platform (Sonar Learning) I can help and support new programming like you.

I am also a University Lecturer teaching a variety of topics in Games Programming from Games Design to OpenGL Shader Programming.

I am also a published author of games design and soon to be released Responsive Web Design. I have all the facets required to educate and inspire.