Book Image

Building a 3D Game with LibGDX

Book Image

Building a 3D Game with LibGDX

Overview of this book

LibGDX is a hugely popular open source, cross-platform, Java-based game development framework built for the demands of cross-platform game development. This book will teach readers how the LibGDX framework uses its 3D rendering API with the OpenGL wrapper, in combination with Bullet Physics, 3D Particles, and Shaders to develop and deploy a game application to different platforms You will start off with the basic Intellij environment, workflow and set up a LibGDX project with necessary APIs for 3D development. You will then go through LibGDX’s 3D rendering API main features and talk about the camera used for 3D. Our next step is to put everything together to build a basic 3D game with Shapes, including basic gameplay mechanics and basic UI. Next you will go through modeling, rigging, and animation in Blender. We will then talk about refining mechanics, new input implementations, implementing enemy 3D models, mechanics, and gameplay balancing. The later part of this title will help you to manage secondary resources like audio, music and add 3D particles in the game to make the game more realistic. You will finally test and deploy the app on a multitude of different platforms, ready to start developing your own titles how you want!
Table of Contents (12 chapters)

LibGDX project setup


At the time of writing this book, LibGDX was in version 1.6.4 and we will use that version. Download the setup app from http://libgdx.badlogicgames.com/download.html and open it:

Set up your project name (ours will be called Space Gladiators) and package name (ours is com.deeep.spaceglad). Enter the game's main class name (ours is Core), set the destination path to your preferred directory, and point out the Android SDK directory location.

We will check the Desktop, Android, and iOS project, but leave out Html since we will use the Bullet physics API, which doesn't work on HTML because of the Google Web Toolkit (GWT) backend (for more information, check out http://www.badlogicgames.com/wordpress/?p=2308).

From Extensions, we'll select Bullet (Bullet physics API), Tools (Bitmap Font Generator [Hiero], 3D Particle Editor, and TexturePacker), Controllers (Controller Input API), and Ashley (Entity System API).

LibGDX comes, as you can see, with a lot of very useful tools that you should use for some time and explore them. We'll cover these selected APIs in some depth over the course of this book.

Click on Generate and wait. After it is done, open IntelliJ IDEA and click on Import Project. Go to your newly created project and look for a file called build.gradle, and IntelliJ will do everything else.