Download - LibGDX: Cross Platform Game Development

Transcript
Page 1: LibGDX: Cross Platform Game Development

cross-platform game development

Page 2: LibGDX: Cross Platform Game Development

● mature project, at 1.7.1 release● snapshots built on every commit● fork us, push to us!

Page 3: LibGDX: Cross Platform Game Development

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

Page 4: LibGDX: Cross Platform Game Development

Platforms

Page 5: LibGDX: Cross Platform Game Development

Languages● typically java● any JVM language with java interoperability ● clojure, kotlin, python, ruby, scala, groovy….● caveats including 'support' and loss of html

Page 6: LibGDX: Cross Platform Game Development

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

Page 7: LibGDX: Cross Platform Game Development

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)

Page 8: LibGDX: Cross Platform Game Development

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

Page 9: LibGDX: Cross Platform Game Development

API Levels

Low LevelMid LevelHigh Level

Page 10: LibGDX: Cross Platform Game Development

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

Page 11: LibGDX: Cross Platform Game Development

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

Page 12: LibGDX: Cross Platform Game Development

Features and API levels

● extensions, box2d, bullet physics● 2D scene graph + UI toolkit. all the widgets● maps api● 3D API● I18NBundle

High Level

Page 13: LibGDX: Cross Platform Game Development

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

Page 14: LibGDX: Cross Platform Game Development

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

Page 15: LibGDX: Cross Platform Game Development

Tools● texture packer● model converter (Fbx-Conv)● freetype convertor, ttf to bitmap font● 2D and 3D particle editors

Page 16: LibGDX: Cross Platform Game Development

Third Party

← Overlap2D

Open source game UI, level and content editor

VisUI ->

Open source UI toolkit extension, extra widgets and skin

Page 17: LibGDX: Cross Platform Game Development

Quick start

● check your dev environment is setup● download project generator● supply info, choose extensions● generate● import● Run

Page 18: LibGDX: Cross Platform Game Development

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

Page 19: LibGDX: Cross Platform Game Development

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

Page 20: LibGDX: Cross Platform Game Development

ExamplesAlchemist's Awakening, Osaris Games

Page 21: LibGDX: Cross Platform Game Development

ExamplesIngress, Niantic (internal startup at google)

Page 22: LibGDX: Cross Platform Game Development

ExamplesHalfway, Robotality

Page 23: LibGDX: Cross Platform Game Development

ExamplesSpine, Esoteric Software

Page 24: LibGDX: Cross Platform Game Development

ExamplesSpace Grunts, Orangepixel

Page 25: LibGDX: Cross Platform Game Development

ExamplesDelver, Priority Interrupt

Page 26: LibGDX: Cross Platform Game Development

LibGDX game jam

● 18th Dec - 18th Jan● Prizes!● Mac Mini, iPad, iTouch● halfway steam keys● shirts!● taking part (if you dont

win)

Page 27: LibGDX: Cross Platform Game Development

cross-platform game development

@libgdx@badlogicgames

https://libgdx.badlogicgames.com/

@asidikgames

#libgdx on irc.freenode.net