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
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:
C++ Game Programming
Video Game Logic
SFML Game Programming
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.
Over 205,000 students have enrolled on my courses and all of them are extremely satisfied. You will also be satisfied with this course. If you do not like the course, remember that within 30 days you can request a full refund. I guarantee you satisfaction.
If you have any questions regarding the topics covered in this course, please feel free to ask. I'm always happy to help those who want to learn.
To summarise this is what you get:
• Lifetime access to HD quality videos. No monthly subscription. Learn at your own pace, whenever you want.
• All videos are downloadable. Learn wherever you want, even without an internet connection.
• Downloadable starter code and final code for each section.
• Free helpful support in the course Q&A when you have questions or get stuck.
• Multiple coding challenges to practice your new skills (solutions included).
Sounds great? Then start this adventure today by clicking the “Take this course" button, and join me in the only course that you will need.
Welcome to the Flappy Bird SFML C++ Game Development course.
In this video we will cover the following
Prerequisites:
In this video we will cover the following
Prerequisites:
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:
We will create an asset manager to handle the loading and retrieval of various types of assets including the following
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.
We will implement the main game loop that will handle all of our game from input to asset management to state handling.
We will now implement the Splash State that allows us to add our very own logo
We will now implement the Main Menu State that allows us to navigate to the Game State and displays the game name/logo.
We will now implement the Game State that will contain our main game logic and game elements.
We will now implement the Game Over State that will appear when the player wins or loses.
We will now create our Pipe class which will serve as the foundation for spawning and moving pipes.
Now we will spawn pipes that move from the right to the left of our game window.
Lets spawn pipes automatically and delete them when they move off screen.
Pipes are awesome but we need some ground/land to compliment them, also they need to move :D
Lets liven the game up by randomising the Y position of the pipes to add some difficulty to this game.
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.
The bird is boring, lets make it come to life using animation :D
We will now make our bird fly.
Let's make our bird rotate to look down when it's falling and rotate to look up when it's flying.
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.
We have collision with the ground, lets extend it to support collision with the moving pipes arrrgggghhhhhhhhh!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Dying is not fun. So lets rub it in the players face with a flash of light :D
Games are no fun without scoring, so lets add a scoring system.
The player needs to be able to see their score as they are playing so lets implement it.
We have a fully functioning game. Lets extend it with a game over screen to display some extra data.
We will now display the players pitiful score on the game over.
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.
Shiny things are awesome, lets give the player some medals for their hard work.
We will add audio to engage the player even more.
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.
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.
So what is next after this awesome Flappy Bird game?
Thanks a lot for enrolling in this course, as a way of saying thank you, I am giving you access to my other classes on (game development) at a steep discount! Hope you enjoy them.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.