cross-platform game development
● mature project, at 1.7.1 release● snapshots built on every commit● fork us, push to us!
Overview● game development framework● written in java, c/c++ and js● framework - !engine● fast development and prototyping● use any JVM language you want (with some caveats)● super fast● multi-layered API● target multiple platforms with a single codebase● extensive community of developers
Platforms
Languages● typically java● any JVM language with java interoperability ● clojure, kotlin, python, ruby, scala, groovy….● caveats including 'support' and loss of html
Development environment● setup tool generates gradle scripts● use any IDE you like
Intellij IDEA Eclipse Netbeans chuck norris
● do most developing testing and running with the desktop platform, abuse hotswapping● deploy to all platforms with one task
Gradle?● dependency management, build automation● open source● use it to build● use it in the background● dont use It at all● trivial to keep up to date with the latest release of LibGDX, or even the bleeding edge
● extend provided scripts to automate almost every boring task you have to do in production● deploy to multiple app stores using their api with a single task● keep descriptions/assets on multiple store pages up to date with a single task● push your project onto CI with no additional configuration, (build live html version also)
The backends and tech● Android, GLES 2.0● Lwjgl (2.x) (Win, Linux, MacOS), OpenGL 2.0, 3.0
– 3.x in development!
● RoboVM, iOS, GLES 2.0– bytecode → native ARM|x86 code– super fast– wizards
● GWT – HTML/js, WebGL– java source code → js– reflection magic
● Headless
API Levels
Low LevelMid LevelHigh Level
Features and API levels
● graphics (OpenGL ES 2.0/3.0 interfaces)● input, keyboard, mouse, touch, accelerometer● audio, read/write, Open AL, Android Pools ● networking, tcp http● file I/O● handling lifecycle● reflection wrapper
Low Level
Features and API levels
● Mesh, shaders, textures, sprites...● batching sprites/polygons● fonts, textureatlas● assetmanager● custom collections● json/xml serialization● util classes, math, shapes
Mid Level
Features and API levels
● extensions, box2d, bullet physics● 2D scene graph + UI toolkit. all the widgets● maps api● 3D API● I18NBundle
High Level
3D API
– environment, cubemaps, reflection, specular, normal mapping etc– directional lights, point , spot, shadow mapping– node tree, including animations– gpu skinning– decal batching– model batching with cache– particles – (probably) the most complete java bullet wrapper for 3D physics
Extensions● Box2D and Box2D lights● Bullet Physics● Ashley, Entity component system● Tools Collection● Controllers extension● GDX-AI
– pathfinding● A*● path Smoothing
– Decision making● state machines, behavior trees
– messaging– movement
● steering● formation motion
● GDX-Pay
Tools● texture packer● model converter (Fbx-Conv)● freetype convertor, ttf to bitmap font● 2D and 3D particle editors
Third Party
← Overlap2D
Open source game UI, level and content editor
VisUI ->
Open source UI toolkit extension, extra widgets and skin
Quick start
● check your dev environment is setup● download project generator● supply info, choose extensions● generate● import● Run
Documentation and Source
● Source– https://github.com/libgdx/libgdx
● Wiki ultimate guide for everything – https://github.com/libgdx/libgdx/wiki
● Starting point for docs– https://libgdx.badlogicgames.com/documentation.html
Licensing
● apache 2● completely free, no strings attached● we love to get credit in case you do release a game using
LibGDX, but its not mandatory
ExamplesAlchemist's Awakening, Osaris Games
ExamplesIngress, Niantic (internal startup at google)
ExamplesHalfway, Robotality
ExamplesSpine, Esoteric Software
ExamplesSpace Grunts, Orangepixel
ExamplesDelver, Priority Interrupt
LibGDX game jam
● 18th Dec - 18th Jan● Prizes!● Mac Mini, iPad, iTouch● halfway steam keys● shirts!● taking part (if you dont
win)
cross-platform game development
@libgdx@badlogicgames
https://libgdx.badlogicgames.com/
@asidikgames
#libgdx on irc.freenode.net
Top Related