Building Android Games with OpenGL ES

A comprehensive course exploring the creation of beautiful games with OpenGL ES
2.4 (5 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.
88 students enrolled
82% off
Take This Course
  • Lectures 39
  • Length 1.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 1/2015 English

Course Description

This video course brings to you a great way to learn the use of OpenGL ES and create brilliant games while creating a framework for any future games that you would like to develop. It is enriched with the theoretical foundations of OpenGL ES along with ways to monetize your game so that you can potentially make money through the Play Store.

You will be introduced to the fundamentals of shaders and how they work in OpenGL, gradually moving into the intricacies of rendering a single cube and developing it to add different types of lighting and texturing. You will also see the implementation of particle effects to explode the cube. Finally, after playing with the key technicalities of building a game and developing the engine, you will put it all together to create the classic game from the 1970s, Breakout, and present it with an edge.

This video course is all about learning the ropes of making a fun game with your own engine, and then being able to create it yourself.

About the Author

Amerigo Moscaroli is a junior game developer at Race Yourself, a game development company based in London, that deals with creating augmented reality fitness games for Google Glass. He has been an avid gamer since an early age, leading him to pursue a career developing video games. He has a first class Bachelor’s degree in Computer Games Programming from De Montfort University.

What are the requirements?

  • All you need to do is sharpen your basic Java skills and you are ready to go.

What am I going to get from this course?

  • Utilise shaders to render the objects in your game
  • Discover how to encode the math functions necessary for games, from matrices to vectors
  • Bring life to the scene through different types of lighting
  • Add textures to objects and spice up the environment with finer details
  • Make the bricks explode using the key functionalities of the particle systems
  • Link different activities together to navigate through the app and create other assets
  • Create the gameplay for Breakout through different input methodsand collision detection
  • Include a high scores table in your game and monetise your product on the Playstore

Who is the target audience?

  • If you are looking for a course that will show you how to build Android games using OpenGL ES, you have found it! This video course is just what you need to build your own game for Android devices.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Getting Started with OpenGL ES

Refer to instructions to set up Eclipse for OpenGL ES programming. Set the correct SDK settings and recommended emulator settings.


Create a simple program using OpenGL ES. Use a renderer to create a colored screen.


Provide an easy introduction to shaders that would give the programmer more control over the graphics.


Show how the OpenGL graphics pipeline works. Shaders should necessarily be used in the reader's own programs.

Section 2: OpenGL ES Math

Information is vital in game development, so it is important to understand the theory.


It is important for creating complex games; for instance, the dot product is necessary for applying the lighting effects in our game.


Perspective projection is necessary for 3-D games, and view matrix is needed for a camera.


It is necessary to create a world matrix. It is needed to transform models and other objects.


World matrices are used to transform objects, and it allows for easy transformation.


Quaternions allow rotation without Gimbal Lock. It is important for having accurate rotations.

Section 3: Lighting

Ambient lighting is easy to understand. It’s part of the final lighting equation.


This allows for better lighting in games and is very important for creating good-looking games.


This is the final part of the lighting equation, needed for accurate lighting.


This is the easiest type of light to create. Also, it is useful for lighting the scene.


The most commonly used light, which is important for level creation.


This is another useful light in games.

Section 4: Texturing

This is necessary for textures. Textures are important for creating good-looking games.


This is useful to know how to use shaders, and it can help improve the performance.


This is needed to actually render textures on objects and is easy to understand.


Different methods can affect the performance and can also make textures look better.

Section 5: Particle Systems

This improves the performance because of which particles provide better effects.


This is needed to have particles in our program. This also allows for having many beautiful effects.


This renders the particles and is necessary for particle creation.


A user can create many different effects, and it is easy to implement.

Section 6: Breakout – Assets and UI

This would make it nice for the user to navigate and is easy to implement.


This is needed for a good user experience. Plus, it is a necessity for all games.


This is easy to implement and is needed for the game.


This is necessary for the game and also useful for creating other games.


This is easy to implement. and is also necessary for all good games.

Section 7: Breakout – Gameplay

This is necessary for the game and is good for learning about other games.


This is useful to understand touch controls and is also easy to implement.


Accelerometer controls are useful and easy to understand.


This is used to have better performance of collisions and gets better results.


This is necessary for the game and is also good for learning about other games.


This is necessary for the game and is also good for learning about other games.

Section 8: Breakout – Finishing Touches

It is a nice feature to have in a game and is easy to implement.


This is useful to know how to publish a game. It's a good way of making money if monetized.


Increases the performance of the game and makes consumers happy to have a better product.


It's a good way of making money and is useful to know.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Packt Publishing, Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.

Ready to start learning?
Take This Course