Cross-Platform 안드로이드 게임 엔진 LibGDX

안드로이드 게임개발에 있어서 가장 문제가 되는 부분이 있다면 아마도 개발 환경이죠. 가장 큰 이유는 아마도 너무나도 느린 에뮬레이터 때문 일 것입니다. 에뮬레이터에서 framerate가 정상수치도 않나오는데 어떻게 게임을 제데로 테스트 할 수 있겠어요. 하지만, 그 문제를 한번에 해결해 주는 게임 엔진이 있습니다. 바로 LibGDX라는 Cross-Platform 게임 엔진입니다. 안드로이드 에뮬레이터를 거치지 않고 컴퓨터에서 직접 테스팅이 가능 하기때문에, framerate 걱정 할 필요가 전혀 없지요. 뿐만아니라, 기능면에서도 다른 게임엔진들 (예를들어 AndEngine) 보다 우월하고 도큐멘테이션 javadoc스타일로 잘 되어 있습니다. 아래 세부적인 기능들이 적혀 있어요. 동영상 강의가 있으니까 따라하면 개발환경 셋업이 그리 어렵지 않아요:)

LibGDX 웹사이트에 나온 내용:

General

  • Cross-platform development for Windows, Linux, OSX and Android.(32- and 64-bit where available)
  • Multiple backends based on JoglLWJGLAngle (NVIDIA 3D Vision) and the Android APIs.
  • Write and test your application on the desktop, deploy seamlessly to Android, Applets, Webstart or plain desktop applications.

Graphics

  • Rendering through OpenGL ES 1.0, 1.1 and 2.0 on all platforms.
  • Support for OpenGL ES 2.0 for Android 2.0 and above through custom JNI bindings.
  • Low-level:
    • Vertex arrays
    • Vertex buffer objects
    • Textures
    • Texture atlases
    • Easy to use and flexible mesh class for both the fixed and programmable pipeline
    • Frame buffer objects
    • Shaders
    • Immediate mode renderer class (for debugging ala glBegin()/glEnd())
    • Automatic handling of OpenGL context loss (texture and VBO recreation)
  • High-level 2D:
    • Batched and cached sprite rendering
    • Bitmap fonts
    • Particle systems
    • TMX tile map rendering
    • Custom C 2D graphics library for CPU based bitmap manipulation
    • Full-fledged 2D scene graph with tweening framework
  • High-level 3D (under construction):
    • OBJ, MD2 and Ogre XML model loaders
    • Key-frame and skeletal animation
    • Full-fledged
    • Orthographic and perspective camera

Audio

  • Streaming music and sound effect playback from WAV, MP3 and OGG
  • Fast Fourier transforms via a JNI bridge to KissFFT
  • Audio decoding of OGG and MP3 via JNI bridges to Tremor and libmpg123 (libmpg123 currently defunct due to licensing issues)
  • Direct interface to audio device for sample playback and recording.

File I/O

  • Abstraction layer unifying Android assets, classpath resources and the plain file-system.
  • Preferences for easy storage of small data

Input

  • Polling and event-based access to touch-screen/mouse and keyboard.
  • Polling access to compass and accelerometer
  • Vibrator support (yeah…)
  • Remote input event processing allowing you to hook up your Android phone to your desktop application

Physics

  • Full JNI wrapper of box2d.
  • The wrapper is so awesome that all other Android game frameworks/engines use it as well!

Math

  • Vector and Matrix classes for 2D and 3D linear algebra
  • Quaternions
  • Frustum with culling support
  • Bounding shapes
  • Intersection and overlap testing
  • Catmull-Rom splines
  • Ear cutting triangulator for arbitrary planar polygons

Utilities

  • Custom Collections
  • Sorting
  • JSON

Tools & Extensions

Optimizations

  • Specifically tailored towards the needs of the Dalvik VM following the best practices guidelines.
  • No temporary object allocation during runtime (except for a few documented places)
  • Native code for performance critical sections
  • Workarounds for show-stopping Dalvik/Harmony bugs

 

LibGDX 웹사이트: http://libgdx.badlogicgames.com/

LibGDX JavaDoc: http://libgdx.l33tlabs.org/docs/api/

LibGDX Wiki: http://code.google.com/p/libgdx/wiki/TableOfContents?tm=6

LibGDX 동영상 강의: http://code.google.com/p/libgdx/wiki/VideoTutorials

관련 포스트(한글): http://creamnuts.com/wp/?p=407

네이버에서 libgdx라고 한번 검색 해 보세요:)

 

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중