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!
Find out how to get live help from instructor and other students.
Learn how to setup your development environment.
Learn how to create projects using LibGDX Setup Application.
Showcasing projects that will be created in this course. Resources attached.
Learn about Gdx class and how it works.
Learn how to handle input and what is difference between input polling and input listening.
Learn how to handle input with Event listening.
Learn some new tips and tricks about our Android Studio.
Learn basics of Java Reflection API.
Learn about refactoring, DRY and WET code and prepare for building our sampler tool.
Learn how to embed LibGDX window into Java desktop application using Java Swing UI Framework.
Add control panel to our sampler.
Finish our sampler so we can run all samples from one window.
Learn what is Orthographic Camera and how to use it.
Learn about different types of Viewports in LibGDX.
Learn what is SpriteBatch and how to use it.
Just quick summary about what we have learned so far.
Test basic LibGDX knowledge that we learned in section 1.
Learn how to create our new project using LibGDX Setup Application.
Learn how to draw shapes using ShapeRenderer class.
Learn how to improve our world grid drawing and make it reusable for future game development.
Create a class that will represent our player.
Learn how to move player using input handling.
Add Zoom and Reset to CameraController.
Learn how to load debug Camera Configuration from file.
Learn how to use DebugCameraConfig class.
Learn how to use our new class.
Summary about Camera Controller.
Learn how to block player from leaving world bounds.
Learn how to add obstacles that player needs to avoid.
Learn how to recognize pattern that repeats and make reusable super class.
Learn how to detect collision between player and obstacle.
Learn how to create bitmap fonts and use them for our in game hud to display remaining lives and scoring.
Learn how to use BitmaoFont and GlyphLayout classes.
Learn how to add lives and logic for losing life.
Learn how to add score logic.
Learn simple trick to make our displayed score nicer.
Add game over logic.
Learn how to add difficulty levels to our game.
Learn how to separate game logic from rendering logic. Single responsibility principle.
Create class for our game logic.
Create class for our render logic.
Learn how to setup our controller and renderer.
Learn some of the most important things about viewport.
Remove obstacles that are off screen, to save memory.
Learn how to fix obstacles that are partially off screen.
Learn about object pooling and how it can help use to manage memory.
Implement pooling of obstacles in our game.
Add assets to game.
Learn how to fix position of bounds and textures so they overlap.
Fix player positioning.
Fix obstacle positioning
Add logic for restarting our game.
Add touch controls for player.
Learn how to run game in emulator and on real device via USB debugging.
Summary for this section.
Learn what is Asset Manager and how to properly use it.
Learn how to use TextureAtlas and TextureRegion.
Learn how to pack our assets into TextureAtlas and use TextureAtlas.
Learn how to use texture atlas.
Learn how to create simple loading screen for our game.
Learn how screens work.
Asset Management Quiz
Learn how to use Actions.
Learn how to use skin class.
Learn what is Skin and how to use it.
Add highscore screen to our game.
Adding Logic for highscores.
Add Options Screen to our game.
Learn how to add difficulty logic.
Refactor common behavior to super class and how to reuse it in other games.
Learn how to create custom skin for our main menu.
Using Custom Skin in Menu Screen.
Using Custom Skin in HighScore Screen.
Using Custom Skin in Options Screen.
Fix problem with checboxes.
Learn how to add sounds to our game.
Summary about what have we learned so far.
Learn how to use Components.
Learn how to use Systems.
Learn how to modify entities on the fly.
Creating project for our Game.
Setup project by reusing previous code.
Create Debug Camera System so we can move camera around the game world.
Create Player Entity
Create Debug Render System for drawing debug graphics.
Create Player System that will process input handling.
Create Movement System that will update position based on speed.
Create System that will wrap player from leaving the world bounds.
Create system that will cleanup obstacles.
Create system that will process collision.
Create System for rendering HUD.
Create Listener to execute logic based on collision.
Create System that will award player with score.
Create system for rendering Textures.
Fix bounds and texture positioning.
Preparing base project code
Implementing player sprite class
Implementing player sprite class
Implementing obstacle sprite class
Short section summary
Preparing base project code
Implementing Game Screen
Implementing base actor for game objects
Implementing PlayerActor class
Implementing ObstacleActor class
Finishing game logic
Content getting added to course
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.