Learn to design and create video games using the Java programming language and the LibGDX software library. Working through the examples in this book, you will create 12 game prototypes in a variety of popular genres, from collection-based and shoot-em-up arcade games to side-scrolling platformers and sword-fighting adventure games. With the flexibility provided by LibGDX, specialized genres such as card games, rhythm games, and visual novels are also covered in this book. Major updates in this edition include chapters covering advanced topics such as alternative sources of user input, procedural content generation, and advanced graphics. Appendices containing examples for game design documentation and a complete JavaDoc style listing of the extension classes developed in the book have also been added. What You Will Learn Create 12 complete video game projects Master advanced Java programming concepts, including data structures, encapsulation, inheritance, and algorithms, in the context of game development Gain practical experience with game design topics, including user interface design, gameplay balancing, and randomized content Integrate third-party components into projects, such as particle effects, tilemaps, and gamepad controllers Who This Book Is For The target audience has a desire to make video games, and an introductory level knowledge of basic Java programming. In particular, the reader need only be familiar with: variables, conditional statements, loops, and be able to write methods to accomplish simple tasks and classes to store related data.