If you are an intermediate-level game developer who wants to create an RPG video game but found the creation process overwhelming, either by lack of tutorials or by getting lost in a sea of game-related technologies, engines, or frameworks, then this book is for you. This book assumes familiarity with Java and some basic knowledge of LibGDX.What You Will LearnDevelop characters with stat attributes, player movement, animation, physics, and collision detectionCreate interactive NPC characters with speech windows and build immersion via dialog treesBuild inventory management system UIs with drag and drop items to sell, buy, and equipDesign a quest system to expand out the content of your gameForm interesting enemies with battle mechanics and spawn pointsDevise scripted cutscenes to add an element of story and dramaDevelop save and load game profilesCreate special effects to give the game extra “juiciness” and polish, and help build the atmosphereIn Detail
LibGDX is a Java-based framework developed with a heavy emphasis on performance, and includes cross-platform support out of the box (Windows, OS X, Linux, iOS, Android, and HTML5) as well as providing all the low-level functionality so that you can focus on developing your game and not battling with the platform. LibGDX also has an engaged and responsive community, active maintenance, and is available for free without a prohibitive license.
Starting from the beginning, this book will take you through the entire development process of creating an RPG video game using LibGDX.
First, this book will introduce you to the features specific to RPG games, as well as an overview of game architecture. Then, you will create map locations, develop character movement, add animation, integrate collision detection, and develop a portal system. Next, you will learn and develop a HUD and other UI components, as well as an inventory management system. You will then develop NPC interactions including dialog trees, shopkeepers, and quest givers. After this, you will design and create battle features for fighting enemies, as well as event triggers for world events. Finally, you will add the final polish with sound, music, and lighting effects.
By the end of this book, you will have learned and applied core components from the LibGDX framework, as well as have a finished game to use as a springboard for customization and story development for your own commercial video game.Style and approach
This book walks you through the concepts and implementation of developing a complete RPG game, unfolding chapter by chapter and building upon previous concepts. Each chapter can be used as an individual reference with diagrams to explain core concepts with concrete example code explained in detail.
This book is intended for those who wish to learn the concepts of game development using libGDX. An understanding of Java and other programming languages would definitely be helpful, although it is not a must.What You Will LearnCreate and configure a libGDX project to get started with making gamesGet to grips with a simple game loop that will drive your gamesManage game assets to reduce code duplication and speed up developmentPack game assets together into single assets to increase your game's performanceDisplay textures on the screen and manipulate them with play inputPlay various types of sounds that a game can generateDesign and modify a game user interface with libGDX's built-in toolsDevelop a game that will run across various platformsIn Detail
LibGDX is a cross-platform game development framework in Java that makes game programming easier and fun to do. It currently supports Windows, Linux, Mac OS X, Android, and HTML5.
With a vast feature set on offer, there isn't a game that can't be made using libGDX. It allows you to write your code once and deploy it to multiple platforms without modification. With cross-platform delivery at its heart, a game can be made to target the major markets quickly and cost effectively.
This book starts with a simple game through which the game update cycle is explained, including loading textures onto your screen, moving them around, and responding to input. From there you'll move on to more advanced concepts such as creating a formal game structure with a menu screen, adding a game screen and loading screen, sprite sheets, and animations. You'll explore how to introduce a font to optimize text, and with the help of a game that you'll create, you'll familiarise yourself with the 2D tile map API to create worlds that scroll as the characters move.
In the final sample game of the book, you'll implement a basic version of an Angry Birds clone, which will allow you to use the physic library box2D that libGDX provides access to. An overview of exporting games to different platforms is then provided.
Finally, you will discover how to integrate third-party services into games and take a sneak peak at the Social Media API to get a basic understanding of how it fits into the libGDX ecosystem.Style and approach
With this book you'll learn game development with libGDX through example game projects. You'll finish the book with a thorough understanding of libGDX game development, along with completed games that you'll have built yourself.
Beginning Java Game Development with LibGDX teaches by example with many game case study projects that you will build throughout the book. This ensures that you will see all of the APIs that are encountered in the book in action and learn to incorporate them into your own projects. The book also focuses on teaching core Java programming concepts and applying them to game development.
What You Will LearnHow to use the LibGDX framework to create a host of 2D arcade game case studies
How to compile your game to run on multiple platforms, such as iOS, Android, Windows, and MacOS
How to incorporate different control schemes, such as touchscreen, gamepad, and keyboard
Who This Book Is ForReaders should have an introductory level knowledge of basic Java programming. In particular, you should be familiar with: variables, conditional statements, loops, and be able to write methods and classes to accomplish simple tasks. This background is equivalent to having taken a first-semester college course in Java programming.
If you have a good grip of Java and want to explore its capabilities in game development, this book is for you. Basic knowledge of LibGDX is preferred, but is not mandatory.What You Will LearnSet up the development environment and implement a very simple game typeImplement new features such as motion, sounds, and randomness by implementing a new gameAdd music, physics, and menus to your gamesStart the creation of a platformer game and apply optimisation techniquesPerform collision detection and manage the game assetsRender game levels designed in the tool and add enemiesCreate multiple levels, enemy motion, and level transitions in the gameIn Detail
LibGDX is a very popular open source game framework for the Java programming language. It features deployment to multiple platforms with the same code base and it is very fast. Its vast amount of features makes it very easy to learn and master game development without knowing the low-level details.
LibGDX Cross-platform Development Blueprints teaches you the concepts of game development using the LibGDX framework as you make four complete games.
You'll start with setting up the environment, then move on to advanced concepts such as collision detection, memory optimization, and more. The first game is Monty Hall, where you'll learn how to set up LibGDX and use simple graphics. Then, you'll get to know more about concepts such as animation, game sounds, and scoring by developing a Whack a Mole game. This will set up the base for a Bounce the Ball game, where you'll get to grips with advanced concepts such as movements and collisions based on physics. Finally, the Dungeon Bob game will help you understand player motion.
This guide gives you everything you need to master game development with LibGDX.Style and approach
This is an easy-to-understand guide, packed with examples and illustrations along the way. Complex areas are broken down into bite-size chunks and are explained in detail. The difficulty levels of games are built throughout the chapters.
If you are a game developer or enthusiasts who want to build 3D games with LibGDX, then this book is for you. A basic knowledge of LibGDX and Java programming is appreciated.What You Will LearnLearn the potential of LibGDX in game developmentUnderstand the LibGDX architecture and explore platform limitation and variationsExplore the various approaches for game development using LibGDXLearn about the common mistakes and possible solutions of developmentDiscover the 3D workflow with Blender and how it works with LibGDXImplement 3D models along with textures and animations into your gamesFamiliarize yourself with Scene2D and its potential to boost your game's designIn Detail
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!Style and approach
A step by step guide on building a 3D game with LibGDX and implementing an exhaustive list of features that you would wish to incorporate into your 3D game
Step-by-step instructions carefully walk you through the most common Android game programming tasks.
Quizzes and exercises at the end of each chapter help you test your knowledge.
By the Way notes present interesting information related to the discussion.
Did You Know? tips offer advice or show you easier ways to perform tasks.
Watch Out! cautions alert you to possible problems and give you advice on how to avoid them.
Jonathan Harbour is a writer and instructor whose love for computers and video games dates back to the Commodore PET and Atari 2600 era. He has a Master’s in Information Systems Management. His portfolio site at http://www.jharbour.com includes a discussion forum. He also authored Sams Teach Yourself Windows Phone 7 Game Programming in 24 Hours. His love of science fiction led to the remake of a beloved classic video game with some friends, resulting in Starflight—The Lost Colony (http://www.starflightgame.com).
Learn how to…Install and configure the free development tools, including the Android 4 SDK, Java Development Kit, and Eclipse (or NetBeans) Use the Android graphics system to bring your game characters to life Load and manage bitmaps, and use double buffering for better performance Incorporate timing and animation with threaded game loops Tap into the touch screen for user input Learn to use Android sensors such as the accelerometer, gyroscope, compass, light detector, and thermometer Integrate audio into your games using the media player Build your own game engine library to simplify gameplay code in your projects Animate games with sprites using atlas images and fast matrix transforms Employ object-oriented programming techniques using inheritance and data hiding Create an advanced animation system to add interesting behaviors to game objects Detect collisions and simulate realistic movement with trigonometry Experiment with an evolving engine coding technique that more naturally reflects how games are written