Master LibGDX Java Game Development and Beyond Volume One
4.7 (65 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.
453 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Master LibGDX Java Game Development and Beyond Volume One to your Wishlist.

Add to Wishlist

Master LibGDX Java Game Development and Beyond Volume One

Learn how to develop and design games with LibGDX Java Game Framework using practical examples
4.7 (65 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.
453 students enrolled
Created by Goran Lochert
Last updated 5/2017
English
Price: $100
30-Day Money-Back Guarantee
Includes:
  • 26 hours on-demand video
  • 6 Articles
  • 7 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • How to easily create your own games
  • SUPPORT is mind blowing – questions you have are answered that day
  • Understand how LibGDX works
  • Use Java to solve complicated programming problems
  • Advanced tips and tricks used by the pros
  • Understand different techniques of game development and find what technique is best for your next game
  • Make games from scratch using LibGDX Framework
  • Understand how to create professional User Interfaces using Scene2D API
  • Understand how to create reusable components for future game development
  • Understand asset loading and master asset management
  • Understand basics of data oriented design
  • Understand how to create and use bitmap fonts
  • Understand how to create reusable components for future game development
  • Understand Entity Component Systems
  • Advanced tips and tricks used by the pros
  • Understand how to use Ashley Libgdx extension to develop games
  • Understand what are Entities, Components, Systems
  • Understand how to create useful utilities which help to debug your game
  • Understand how to embed LibGDX window into Java desktop application
  • Understand how to write clean and maintainable code
  • Understand some software engineering principles
  • Use gained skills to create new games from scratch
  • Learn how to write code in reusable way
  • Learn how to reuse code from your previous games
View Curriculum
Requirements
  • At least some basic Java programming knowledge and basic Object Oriented knowledge
Description

Course Updated 18. May 2017.

Student Reviews For Master LibGDX Java Game Development and Beyond Volume One

"Goran goes the extra mile in the approach for teaching the material. He has a very good grasp of the libGdx game engine and in just the 1st section I have learned more than other libGdx courses I have bought here on Udemy. He has always been available when I needed a little extra understanding to get over a hurtle. Having been in the computer industry myself for over 20 years in an unrelated field it is very refreshing to find someone that really understands how to relate to newbies as myself. This course has vastly expanded my knowledge beyond the other libGdx classes I have purchased so far. Highly recommend this course to anyone looking to design and program their own games!" - Dallas Stump

"I have followed quite a few courses on Udemy, covering several topics. I rate this presenter as the best I have come across. Clear and thorough. As well as the subject matter of the course, you will learn good principles for coding games in Java (usingLibGdx class libraries). The instructor demonstrates how to build your own debugging classes for use during game development. Very useful and completely re-usable for any LibGdx project. I highly recommend this course." - Paul Clegg

"Profesional and detailed , great value even for experienced devs like me. Simple way to catch things up fast and learn important things about libgdx." - Afan Olovcic

"In addition to showing a clear mastery of the material and having a excellent teaching style, the code is also professionally written with everything you expect from professional code - including proper error handling; separation of concerns; use of design patterns; clear variable and function naming; and proper commenting. This is in contract to most programming instruction videos which are often just barely enough to get the program running and often are written by coding amateurs." - Thomas Musgrove

-----------------------------------------------------------------------

LibGDX is a free and open-source game-development application framework written in the Java programming language with some C and C++ components for performance dependent code. It allows for the development of desktop and mobile games by using the same code base. It is cross-platform, supporting Windows, Linux, Mac OS X, Android, iOS, BlackBerry and web browsers with WebGL support.

This is only LibGDX Course that will teach you how to use Entity Component Systems to create games with LibGDX Java Game Framework.

This course is completely project based, and we are going to create fully featured games from scratch using different approaches and techniques that LibGDX offers.

We will start with simpler games so you will be comfortable if you never used LibGDX before. 

If there are any problems or issues that you encounter i will try to respond as fast as possible with as much details as i can, sometimes I may ask you to send me your code which will make it a lot easier to help you. That way you will benefit even more from this course.

We are going to start step by step, from drawing simple image to creating nicely structured and extensible game

With step by step approach you will be introduced to main libGDX concepts and you will learn enough details to understand how everything works. 

We will go through important LibGDX classes (Camera, Viewport, Batch...) step by step which should give you enough information on how to use those classes and how they work.

All project files will be included and you are free to use them for anything that you like, personal or commercial use. Through the course we will create utilities that will help us to debug games, all utilities can be used in personal and commercial use. The only limitation is that you cannot use assets or material from this course to create another course.

In this course whenever we learn something new, we are going to create simple example or experiment and after that we will apply that knowledge to game.

Lets take a look at the games and what are we going to learn inside of this course.

First we will make tool that has LibGDX application embedded in itself which will help us to easily run and test simple experiments. Through experiments you will learn details needed to create your own game from scratch.

All the experiments will be in same project so you can always go back and check simple example to remind yourself and see how it works.

After creating tool we will make simple game called Obstacle Avoid. In this game goal is to survive as long as possible and avoid obstacles that fall from the sky. Besides of creating our game logic we are going to create menus and different screens that our game needs. 

You will learn how to manage assets in our game and benefits of using asset manager. When we complete our games with first approach we are going to learn how to use Entity Component Systems to recreate same games and compare what is different.

You will learn different approaches so in your future games you can start with any approach that is best for your game.

After learning all approaches you will be equipped with more than enough knowledge to continue improving yourself in the field of game development using LibGDX Java Game Framework. You will be able to create your own games and game prototypes from scratch.

If you ever had an idea for great game, then enroll in this course and learn all the tools and knowledge that you need to develop your next hit game.

Note: This course is mainly aimed for beginners, some of content could be also useful for advanced LibGDX users.

Over 20+ hours of content + quizzes + exercises.

Enroll Now and you wont be disappointed!


Who is the target audience?
  • Suited for LibGDX Beginners and Advanced LibGDX users
  • Suited for students that want to learn LibGDX
  • Suited for students that want to learn different game approaches using LibGDX
  • Not suited for students that do not have basic programming knowledge and basic OOP knowledge
Students Who Viewed This Course Also Viewed
Curriculum For This Course
135 Lectures
26:05:58
+
Introduction to the Course and LibGDX
21 Lectures 03:46:40

Course introduction.

Preview 02:03

Find out how to get live help from instructor and other students.

Important To Read - Where to get live help
00:22

Learn how to setup your development environment.

Download Java Development Kit and Android Studio
02:00

Learn how to create projects using LibGDX Setup Application.

Create Your First Project
04:05

Showcasing projects that will be created in this course. Resources attached.

Preview 03:03

Learn Application life cycle and how it works.

Preview 13:34

Learn about Gdx class and how it works.

Understanding Gdx Modules
08:22

Learn how to handle input and what is difference between input polling and input listening.

Understanding Input Handling : Polling
16:01

Learn how to handle input with Event listening.

Understanding Input Handling : Event Listening
12:12

Short summary about input handling.

Preview 09:31

Learn some new tips and tricks about our Android Studio.

Android Studio tips and tricks
14:20

Learn basics of Java Reflection API.

Introduction to Java Reflection API
11:29

Learn about refactoring, DRY and WET code and prepare for building our sampler tool.

Refactor, DRY and WET code
10:11

Learn how to embed LibGDX window into Java desktop application using Java Swing UI Framework.

Embed LibGDX Window into a Java Desktop Application (Swing)
14:41

Add control panel to our sampler.

Adding Control Panel
17:13

Finish our sampler so we can run all samples from one window.

Finishing Sampler
18:18

Learn what is Orthographic Camera and how to use it.

Understanding Orthographic Cameras
17:18

Learn about different types of Viewports in LibGDX.

Preview 18:02

Learn about different types of Viewports in LibGDX.

Understanding Viewports Part 2
13:27

Learn what is SpriteBatch and how to use it.

Understanding SpriteBatch
17:07

Just quick summary about what we have learned so far.

Intro Summary
03:21

Test basic LibGDX knowledge that we learned in section 1.

Test Your Knowledge
8 questions
+
Obstacle Avoid Game
42 Lectures 07:27:48

Preview of game that we are going to build.

Preview 01:58

Learn how to create our new project using LibGDX Setup Application.

Creating Obstacle Avoid project
17:01

Learn how to use ShapeRenderer class and how it can help us.

Preview 16:30

Learn how to draw shapes using ShapeRenderer class.

Drawing Shapes with ShapeRenderer
12:44

Learn how to improve our world grid drawing and make it reusable for future game development.

ViewportUtils class
18:12

Create a class that will represent our player.

Player Class
11:37

Learn how to move player using input handling.

Moving Player
09:50

Create camera controller and move our camera.

Preview 17:07

Add Zoom and Reset to CameraController.

Camera Controller Zoom And Reset
14:41

Learn how to load debug Camera Configuration from file.

Creating DebugCameraConfig Class Part 1
17:21

Learn how to use DebugCameraConfig class.

Creating DebugCameraConfig Class Part 2
15:13

Learn how to use our new class.

Using DebugCameraConfig Class
10:17

Summary about Camera Controller.

CameraController Summary
09:18

Learn how to block player from leaving world bounds.

Blocking Player from leaving the world bounds
07:20

Learn how to add obstacles that player needs to avoid.

Adding Obstacles
09:11

Learn how to recognize pattern that repeats and make reusable super class.

Refactor Time - create GameObjectBase class
10:05

Learn how to detect collision between player and obstacle.

Collision Detection
08:22

Learn how to create bitmap fonts and use them for our in game hud to display remaining lives and scoring.

Using Hiero Tool
06:57

Learn how to use BitmaoFont and GlyphLayout classes.

Preview 15:34

Learn how to add lives and logic for losing life.

Adding Lives to HUD
16:10

Learn how to add score logic.

Adding score to HUD
13:11

Learn simple trick to make our displayed score nicer.

Trick to Improve displayed score
06:59

Add game over logic.

Adding game over logic
09:56

Learn how to add difficulty levels to our game.

Adding Difficulty Levels
10:53

Learn how to separate game logic from rendering logic. Single responsibility principle.

Refactor Time - separate logic code from rendering code
06:12

Create class for our game logic.

GameController Class
08:27

Create class for our render logic.

Game Renderer Class
06:20

Learn how to setup our controller and renderer.

Setup Controller and Renderer
07:35

Learn some of the most important things about viewport.

Fixing Viewports
06:49

Remove obstacles that are off screen, to save memory.

Removing off screen obstacles
07:32

Learn how to fix obstacles that are partially off screen.

Fix obstacle spawn logic
08:36

Learn about object pooling and how it can help use to manage memory.

Preview 19:37

Implement pooling of obstacles in our game.

Using Pooling for Obstacles
09:46

Add assets to game.

Adding and drawing our assets
19:21

Learn how to fix position of bounds and textures so they overlap.

Fix bounds and texture positioning
13:10

Fix player positioning.

Fix player positioning
09:29

Fix obstacle positioning

Fix obstacle positioning
08:45

Add logic for restarting our game.

Restart Logic
05:31

Add touch controls for player.

Adding touch controls
14:55

Learn how to run game in emulator and on real device via USB debugging.

Running game in emulator and on real device.
06:41

Summary for this section.

Summary
02:18

Exercise.

Exercise S2
00:17
+
Asset Management
8 Lectures 01:49:53

Learn what is Asset Manager and how to properly use it.

Understanding Asset Manager
15:11

Learn how to add asset manager to our game.

Preview 19:59

Learn how to use TextureAtlas and TextureRegion.

Understanding Atlas And Region
18:34

Learn how to pack our assets into TextureAtlas and use TextureAtlas.

Preview 09:12

Learn how to use texture atlas.

Using Atlas
12:40

Learn how to create simple loading screen for our game.

Creating Simple Loading Screen
19:25

Learn how screens work.

Understanding Screens
09:48

Short summary.

Summary
05:04

Asset Management Quiz

Asset Management Quiz
5 questions
+
Scene 2D
19 Lectures 04:26:18

Basic Introduction to Scene2D UI Framework

Preview 19:44

Learn how to use Actions.

Understanding Actions
17:43

How to use tables for UI construction.

Preview 19:04

Learn how to use skin class.

Understanding Skin
19:40

Learn what is Skin and how to use it.

Creating Atlas for UI
07:14

Learn how to use scene2D to create our Main Menu

Preview 19:51

Add highscore screen to our game.

High Score Screen
13:46

Adding Logic for highscores.

High Score Logic
16:48

Add Options Screen to our game.

Options Screen
19:58

Learn how to add difficulty logic.

Difficulty Logic
14:34

Refactor common behavior to super class and how to reuse it in other games.

Menu Screen Base
13:00

Pack assets for custom skin.

Preview 09:03

Learn how to create custom skin for our main menu.

Creating Custom Skin
16:46

Using Custom Skin in Menu Screen.

Using Custom Skin in Menu Screen
09:30

Using Custom Skin in HighScore Screen.

Using Custom Skin in HighScore Screen
05:01

Using Custom Skin in Options Screen.

Using Custom Skin in Options Screen
14:39

Fix problem with checboxes.

Fixing CheckBox problem
12:30

Learn how to add sounds to our game. 

Add Sounds
09:50

Summary about what have we learned so far.

Summary
07:37

Scene2D Quiz.

Scene2D Quiz
4 questions
+
Obstacle Avoid Game Using Ashley
25 Lectures 05:20:27

Learn theory behind Ashley.

Preview 14:02

Learn about Engine and Entity classes.

Preview 12:36

Learn how to use Components.

Understanding Ashley Part 2 - Component
18:56

Learn how to use Systems.

Understanding Ashley Part 3 - System
19:38

Learn how to modify entities on the fly.

Understanding Ashley Part 4 - Advanced
13:00

Creating project for our Game.

Creating Project
02:24

Setup project by reusing previous code.

Project Setup
05:13

Create Grid Render System that will render world grid.

Preview 10:24

Create Debug Camera System so we can move camera around the game world.

Debug Camera System
13:05

Create Player Entity

Player Entity
08:50

Create Debug Render System for drawing debug graphics.

Debug Render System
19:32

Create Player System that will process input handling.

Player System
15:55

Create Movement System that will update position based on speed.

Movement System
11:36

Create Bounds System that will update bounds based on entity position.

Preview 11:43

Create System that will wrap player from leaving the world bounds.

World Wrap System
15:22

Create system that will spawn obstacles.

Preview 15:21

Create system that will cleanup obstacles.

Cleanup System
13:06

Create system that will process collision.

Collision System
19:37

Create System for rendering HUD.

Hud Render System
13:50

Create Listener to execute logic based on collision.

Collision Listener
18:04

Create System that will award player with score.

Score System
06:05

Create system for rendering Textures.

Render System
19:33

Fix bounds and texture positioning.

Fix bounds and texture positioning
12:37

Section Summary

Summary
09:32

Exercise

Exercise S5
00:26
+
Obstacle Avoid Game using Sprite
8 Lectures 01:23:07

Creating project

Creating project
02:39

Preparing base project code

Preparing Project
05:50

Implementing player sprite class

Player Sprite Part 1
19:15

Implementing player sprite class

Player Sprite Part 2
06:59

Implementing obstacle sprite class

Obstacle Sprite
14:10

Code Refactor

Code Refactor Part 1
12:23

Code Refactor

Code Refactor Part 2
18:55

Short section summary

Summary
02:56
+
Obstacle Avoid Game using Scene2D
9 Lectures 01:51:25

Creating project

Creating Project
02:32

Preparing base project code

Preparing Project
03:32

Implementing Game Screen

Game Screen
14:40

Implementing base actor for game objects

Actor Base
17:46

Implementing PlayerActor class

Player Actor
17:02

Implementing ObstacleActor class

Obstacle Actor
13:43

Implementing Background

Background
09:03

Finishing game logic

Finish Game Logic
22:15

Summary
10:52
+
Upcoming Content
1 Lecture 00:01

Content getting added to course

Content getting added to course
00:01
+
Extras
2 Lectures 00:26
Important Links
00:07

Bonus Lecture: My other courses
00:18
About the Instructor
Goran Lochert
4.6 Average rating
112 Reviews
2,732 Students
6 Courses
Software Engineer | Udemy Instructor | Indie Game Developer

I am developing Desktop, Web and Mobile Applications for more than 8 years. Developing games using different frameworks, that are released on different mobile and web stores.

Oracle Certified Associate Java SE 8 Programmer.

I enjoy teaching people, sharing my knowledge with others and providing information that is not accessible anywhere else. 

I believe in creating material that teaches people how to program rather than creating tutorials that people follow blindly without learning anything.

I'm On A Quest To Give You The Education You'll Never Get In School.