The LibGDX application framework is a free and open-source framework for the development of multi-platform video games. It allows programmers to develop games on a desktop computer (Windows, macOS, Linux) using the Java programming language and deploy them to other platforms, including Android or iOS mobile devices. The advantage of this strategy is clear: developers program the game only once, and when the program is complete and debugged, they only need to export it, and maybe test it one last time on a real mobile device, before uploading it to Google Play or the App Store. Furthermore, LibGDX allows for the development of 2D and 3D games and is also easy to integrate with other frameworks.
This second edition is a good introduction to game programming using LibGDX. The author assumes that the reader has a basic familiarity with Java. However, throughout the book, there are sections in which the main concepts of the language are reviewed. The book is divided into three very appropriately titled parts: “Fundamental Concepts,” “Intermediate Examples,” and “Advanced Topics,” with a total of 17 chapters and three appendices.
Part 1 shows how to install BlueJ and introduces LibGDX. BlueJ is an integrated development environment (IDE) for Java, mainly used for educational purposes and by novice programmers. However, the games presented in this book are easy to port to more professional IDEs, such as IntelliJ IDEA, NetBeans, and Eclipse. This part also shows the development of a simple shoot-’em-up game.
Part 2 is especially interesting: it presents games that other books hardly mention. Of particular interest is chapter 10, which presents a program for designing and editing levels for multilevel games, and chapters 11 and 12 on platform games and adventure games, respectively.
Finally, Part 3 shows the development of a maze game, another game that uses advanced 2D graphics, and a third one that uses basic 3D graphics.
There are three appendices. The first one explains how to write game design documentation, which is an often-ignored topic in the literature. The second appendix presents a very basic revision of the Java language. And the last appendix contains a reference of the most important LibGDX classes used across the book.
In total, the book presents 12 video games for which source code can be downloaded from the publisher’s website.
Making a general balance of the book, the only disadvantage that I found, and that may disappoint some readers, is that it only presents the development of desktop games. The deployment of games on mobile devices is only mentioned in passing. However, to be fair, if readers complete all the projects, they will be able to consult some advanced book on LibGDX [1,2] or the tutorial available on the LibGDX developers website (https://libgdx.badlogicgames.com/documentation/). These references cover the building of cross-platform mobile games.
In conclusion, this book is highly recommended for game developers who want to start using LibGDX in their projects. Advanced users can find some gems, especially in the intermediate examples and in the advanced topics about advanced 2D graphics and 3D game programming.
More reviews about this item: Amazon