Android Game Development - Create Your First Mobile Game

Learn Android Game Development with Android Studio and Java - SurfaceView

Instructed by Sandip Bhattacharya

  • You'll be able to build a complete Flappy Bird game using SurfaceView in less than 3 hours.
  • Create an efficient game loop
  • Learn the basic framework for games
  • Everything you need to know to build your own games

Hi, do you want to learn how to build Android Games in Java?

My name is Sandip. I have published more than 10 android games in Google Play Store. So, I happen to know a little bit about game programming and I’ll show you exactly how to create this awesome Flappy Bird game using Android Studio and Java.

This course is perfectly suitable for anyone who wants to learn the core concepts behind a 2D game like creating an efficient Game Loop, handling the Touch Event, Collision Detection, Playing sound effects, Score, saving personal best, designing XML Layout etc. If you want to learn the basic framework for games then this is the right course for you.

And, if you want to learn game development by writing code in Java then you’ll enjoy this course. While my previous course focused on using Android’s View class, this course is aimed to provide a solid foundation for a more dedicated Android class for game development: SurfaceView.

I believe the best way to learn game programming is by making one. So, I will walk you through the process of creating this game, from start to finish, step by step in a completely hands-on fashion.

At the end of the course, you’ll be able to build a complete Flappy Bird game using SurfaceView which you can publish in Play Store. You'll have a clear understanding of the core concepts behind a 2D game. You’ll have an improved Java skill.

Android is the largest eco-system for gaming so if you’re serious about your career in the gaming industry, this is a great place to start. Or, if you just want to learn programming then Java is an excellent language which is also the preferred language for Android and building games is a great fun. Over the years, I have helped thousands of students in making their Android games and there’s absolutely no reason why you can’t as well. So, Enroll now and let’s get started.    

  • You should have Android Studio installed.
  • Beginner to Java programming
  • Beginner to Android development
View More...

Section 1 : Introduction

  • Lecture 1 :
  • Introduction to the Course Preview

Section 2 : Getting started

  • Lecture 1 :
  • Create the Project
  • Lecture 2 :
  • A high-level overview of project Flappy Bird
  • Lecture 3 :
  • Game Resource
  • Since, I am not licensed to re-distribute most of my game assets, I can certainly share some useful sites for you to download game assets. ;-) 1. OpenGameArt 2. GameArt2D 3. Kenney 4. Craftpix By the way, I've purchased the graphics from and My image dimensions are as follows: Scrolling background: 1024 x 512 pixels Bird: 70 x 66 Main Background: 720 x 1280 Tubes: 90 x 554 Play Button: 64 x 64 GameOver: 180 x 113

Section 3 : Create the Framework

  • Lecture 1 :
  • Create BitmapBank class
  • Lecture 2 :
  • Create GameView class
  • Lecture 3 :
  • Create GameThread class
  • Lecture 4 :
  • Create BackgroundImage class
  • Lecture 5 :
  • Continue constructing the GameEngine
  • Lecture 6 :
  • Finish the Framework

Section 4 : Draw the Bird and Tubes

  • Lecture 1 :
  • Draw the bird, apply Gravity and interact via Touch
  • Lecture 2 :
  • Draw the Tubes
  • Lecture 3 :
  • Change Tubes randomly

Section 5 : Add More Fun

  • Lecture 1 :
  • Scoring System
  • Lecture 2 :
  • Collision Detection
  • Lecture 3 :
  • Add Sound Effects

Section 6 : Game Over

  • Lecture 1 :
  • Design GameOver screen
  • Lecture 2 :
  • It's GameOver

Section 7 : Course Wrap-Up

  • Lecture 1 :
  • Goodbye

Sandip Bhattacharya,

Hello, I am Sandip and I am a passionate Software Developer, Trainer, and Entrepreneur from Kolkata, India. I have 12 years of software development and teaching experience including Android Apps development, Web development, and many other programming languages. I obtained my B. Tech and M. Tech degree, both in Computer Science & Engineering. I have trained many aspirant students and software professionals in various software practices all over the world.      
View More...

Getting started with coding

By : Devansh Varshney

Lecture 27


Superb Python Course - Become Certi...

By : Paul Carlo Tordecilla

Lecture 91


Superb Advance Javascript - Become ...

By : Paul Carlo Tordecilla

Lecture 28


Application development with IBM Wa...

By : Harshit Srivastava

Lecture 14


Learn React 16 and Redux by buildin...

By : Haider Malik

Lecture 74


Python for Beginners : A Python Meg...

By : Vijay Gadhave

Lecture 39


Need any help with the platform? Contact us at: