LibGDX – Making a component based 2D Game Engine
i work with libGDX since 2 years and i always wanted to make a tutorial for it. While my focus is software architecture and my hobby is game programming, I thought it would may be helpful, to write tutorial about creating a component based game engine, not a beginners tutorial.
First let me say, I am not a native English speaker, but I think English is the best language for this kind of tutorial.
LibGDX is a free cross-platform, open-source framework for game development in Java. It uses one Codebase, so you can write once, run everywhere. LibGDX is not a game engine like unity3D , it’s a framework, what means, that it gives you control of which parts of the framework you want to use, and which you want to write on your own. Moreover it contains no visual Level/Scene-editor, which is a feature of nearly every game engine. If you want to rapidly create a game, it is maybe the better way to use a commercial game engine, but if you want to improve your programming skills and get more familiar with the magic behind the scenes, go ahead.
Supported platforms are:
Windows, Mac, Linux, Android, iOS, BlackBerry and HTML5
Usage Statistics (Android):
1.42% of apps
3.55% of installs
- Java Programming Knowledge
- Ready-To-Run libGDX template (https://github.com/libgdx/libgdx/wiki)
- Object oriented programming fundamentals
- Google skills, or your prefered search engine
Books and other stuff:
Before we start, here is a list of good books, tutorials and papers i used for this tutorial.
- Game Engine Architecture (highly recommended)
- A Flexible And Expandable Architecture For Computer Games (Paper)
- Data-Oriented Design (YouTube Video – Watch it, really!)
- Data-driven and component based game entities. (Slides)