Game development with_lib_gdx
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Game development with_lib_gdx

  • 2,627 views
Uploaded on

A presentation on libGDX for the GTUG at metalab.

A presentation on libGDX for the GTUG at metalab.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,627
On Slideshare
1,779
From Embeds
848
Number of Embeds
4

Actions

Shares
Downloads
43
Comments
0
Likes
1

Embeds 848

http://funnel.hasgeek.com 507
http://www.scoop.it 311
https://funnel.hasgeek.com 29
http://www.verious.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Game Development with By Gabriel Grill
  • 2. LibGDX is ... open source cross-platform  Desktop  Web  Smartphone performant  JNI Wrapper  optimised for Davlik VM well documented  Wiki, Forum, Blog, JavaDoc, Demos, Videos, ..
  • 3. LibGDX has ... great tooling  Particle-, Body-, Fonteditor  TMX and TWL support  Texture packer backends for  Jogl, LWJGL, Angle  SoundTouch, KissFFT  Mpg123, Tremor nightly builds and regular releases
  • 4. Getting Started - Desktop1. create Project2. download and move libGDX to libs/3. Java Build Path  gdx.jar, gdx-backend-jogl.jar  and the corresponding “-natives.jar“ public class HelloWorldDesktop { public static void main(String[] argv) { new JoglApplication(new App(), "Title", width, height, false/*Gl 2.0*/); } }
  • 5. Application http://libgdx.googlecode.com/svn/wiki/img/application_lifecycle_diagram.pngpublic class App implements ApplicationListener{ public void resume() { } public void resize(int width, int height) { } public void render(){ } public void pause(){ } public void dispose(){ } public void create(){ }}
  • 6. Getting Started - Android1. create Android Project2. copy libGDX to libs/3. <uses-sdk minSdkVersion="3" targetSdkVersion="8"/>4. Java Build Path  gdx.jar, gdx-backend-android.jar  Desktop Projectpublic class HelloWorldAndroid extends AndroidApplication { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initialize(new App(), false /*Gl 2.0*/); }}
  • 7. Assets and Input File API  Classpath, File system  Asset folder data/ AssetManager Texture-, Fixture-, TileAtlas Json- and XML Processing Polling and event-based Input Remote Input, compass and accelerometer
  • 8. Graphics OpenGL ES 1.0, 1.1 and 2.0 Shaders, Framebuffer Objects, Mipmaps Batched and cached sprite rendering Particle System, TMX tile map rendering 2D scene graph with tweening framework OBJ and MD5 model loaders  soon FBX/Collada Key-frame and skeletal animation Ortographic and perspective camera
  • 9. Miscellaneous Custom Collections, Sorting Preferences Vector, Matrix and Quaternion classes JNI wrapper of box2d Shapes, intersection and overlap testing Vibrator support WAV, MP3 and OGG support Playback and recording AdWhirl, Admob GDX-JNIGEN
  • 10. Performance renders a scene of 32 32 pixel sprites in a grid - 336 sprites AndEngine:  Hero: ~17fps  Nexus One: ~41fps Libgdx:  Hero: ~51fps  Nexus One: ~51fps Android 1.5 - Hero:  FloatBuffer.put( float value ): 40.774 secs  FloatBuffer.put(int index, float value): 42.710 secs  FloatBuffer.put( float[] values ): 41.109 sec  IntBuffer.put( int[] values): 12.59 secs  JNI -> BufferUtils.copy(): 0.14 secs Android 2.2 - Nexus One:  FloatBuffer.put( float value ): 6.876 secs  FloatBuffer.put(int index, float value): 7.006 secs  FloatBuffer.put( float[] values ): 6.800 sec  IntBuffer.put( int[] values): 1.479 secs  JNI -> BufferUtils.copy(): 0.067 secs
  • 11. DemosNow let‘s see some Code
  • 12. Sources http://code.google.com/p/libgdx/wiki/ http://code.google.com/p/libgdx-users/wiki/ http://libgdx.badlogicgames.com/nightlies/docs/api/ http://www.badlogicgames.com/wordpress/ http://www.badlogicgames.com/wordpress/?p=816 http://www.badlogicgames.com/wordpress/?p=904