LibGDX
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
LibGDX는 데스크톱, 안드로이드, HTML5, iOS 등 여러 플랫폼에서 게임을 개발할 수 있도록 지원하는 오픈 소스 자바 기반 게임 개발 프레임워크이다. 2009년 안드로이드 게임 개발을 위해 시작되어, 2010년 LGPL 라이선스로 공개되었으며, 이후 Apache License 2.0으로 변경되었다. LWJGL, GWT, Android SDK, RoboVM 등을 백엔드로 사용하여 플랫폼별 코드를 추상화하고, gdxAI, gdx freetype, Box2D, packr 등의 확장 기능을 제공한다. 2014년 버전 1.0 출시 이후 여러 버전 업데이트를 거쳤으며, 인텔의 Multi-OS Engine을 통해 iOS 백엔드를 지원한다. LibGDX는 다양한 JVM 언어를 지원하며, 인그레스, 슬레이 더 스파이어, 델버 등 여러 게임 개발에 사용되었다.
더 읽어볼만한 페이지
- OpenGL - WebGL
WebGL은 웹 브라우저에서 3차원 그래픽을 렌더링하기 위한 API이며, OpenGL ES를 기반으로 개발되어 다양한 웹 브라우저와 모바일 환경에서 지원된다. - OpenGL - OpenGL ES
OpenGL ES는 임베디드 시스템 및 모바일 장치를 위한 3D 그래픽 API로, OpenGL의 부분 집합이며, 다양한 버전으로 발전해 왔고, 안드로이드, iOS 등 여러 플랫폼에서 3D 그래픽 구현에 사용되며 WebGL의 기반이 되기도 한다. - 오디오 라이브러리 - ASIO
ASIO는 독일 스타인버그에서 개발한 오디오 입출력 API 규격으로, 낮은 지연 시간과 멀티 채널 I/O를 지원하며 윈도우 운영체제에서 주로 사용된다. - 오디오 라이브러리 - FFmpeg
FFmpeg은 오디오 및 비디오 데이터를 다루는 자유 소프트웨어 프로젝트로, 다양한 코덱과 형식을 지원하며 멀티미디어 응용 프로그램에 활용되고 2011년 Libav로 포크되기도 했으나 통합 과정을 거쳤다. - 자바 API - 자바 암호화 확장
- 자바 API - 표준 위젯 툴킷
표준 위젯 툴킷(SWT)은 자바 GUI 툴킷으로, 네이티브 룩앤필과 고성능을 위해 윈도 시스템의 그래픽 요소를 직접 사용하며, 이클립스 IDE의 기반 기술로 IBM에 의해 개발되었다.
LibGDX - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
![]() | |
저자 | Mario Zechner |
출시일 | 2014년 4월 20일 |
최신 버전 | 1.13.0 |
최신 버전 출시일 | 2024년 10월 17일 |
프로그래밍 언어 | Java C C++ |
운영체제 | Windows Linux macOS Android BlackBerry OS iOS Java Applet JavaScript/WebGL |
플랫폼 | Java platform |
라이선스 | Apache License 2.0 |
웹사이트 | libGDX 공식 웹사이트 |
2. 역사
2011년 1월, Java 사운드 문제로 인해 오디오 데스크톱 구현이 OpenAL로 전환되었다.[6][10] Gdx2D라는 소규모 이미지 조작 라이브러리 개발도 완료되었으며, 이는 오픈 소스 STB 라이브러리에 의존한다.[6][11]
2012년에는 JNI 바인딩 개발을 용이하게 하기 위한 gdx-jnigen이라는 소규모 헬퍼 라이브러리가 만들어졌고,[6][13] gdx-audio[14] 및 gdx-freetype[15] 확장 기능이 개발되었다.[6] 구글의 PlayN을 통해 HTML/JavaScript 백엔드가 작성되어, libGDX 애플리케이션을 WebGL을 지원하는 모든 브라우저에서 실행할 수 있게 되었다.[6]
2013년에는 RoboVM 백엔드가 통합되었고,[6][20][21] 새로운 3D API가 개발되어 라이브러리에 통합되었다.[6][22][23]
2014년 초 정리 단계를 거쳐, libGDX는 프로젝트 시작 4년 만인 4월 20일에 버전 1.0을 출시했다.[6] 같은 해, libGDX는 플랫폼 독립성에 중점을 둔 점을 인정받아 Duke's Choice Award 수상자 중 하나가 되었다.[28][29]
Java Magazine영어 2014년 9월/10월호에서는 다음과 같이 언급했다.
> 다양한 오픈 소스 열성 팬들로 구성된 팀에서 libGDX가 나왔으며, 이는 프로그래머가 Windows, Linux 또는 Mac OS X를 실행하는 데스크톱 PC에서 Java 게임을 작성, 테스트 및 디버깅하고 동일한 코드를 안드로이드, iOS 및 WebGL 지원 브라우저에 배포할 수 있는 크로스 플랫폼 게임 개발 프레임워크입니다. 이는 현재 널리 사용할 수 없는 것입니다. libGDX의 목표는 "특히 게임 개발을 위해 Java 플랫폼의 '한 번 작성, 어디서나 실행' 약속을 이행하는 것"이라고 제작자 마리오 제크너는 말합니다.[30]
2016년에는 RoboVM의 중단 이후 libGDX는 인텔의 Multi-OS Engine으로 iOS 백엔드를 전환할 것이라고 발표했다.[31][32]
2. 1. 개발 배경
2009년 중반, libGDX의 제작자인 마리오 제크너(Mario Zechner)는 안드로이드 게임 개발을 위해 AFX(Android Effects)라는 프레임워크를 개발했다.[6] 데스크톱에서 안드로이드 장치로 변경 사항을 배포하는 것이 번거로워, 제크너는 AFX를 데스크톱에서도 작동하도록 수정하여 테스트를 쉽게 만들었고, 이것이 libGDX의 시초가 되었다.[6]2010년 3월, 제크너는 AFX를 LGPL 하에 구글 코드에 오픈 소스로 공개했다. 당시 그는 안드로이드 중심 개발 의도를 밝혔다.[6][7] 4월에 첫 기여자가 등장했다.[6][7]
제크너가 Box2D JNI 래퍼를 만들면서, 물리 게임의 인기에 힘입어 더 많은 사용자와 기여자를 확보했다.[6]
많은 사용자들이 LGPL이 안드로이드에 부적합하다며 라이선스 변경을 제안했고, 이에 2010년 7월 libGDX는 Apache License 2.0으로 라이선스를 변경하여 상업적 이용을 가능하게 했다.[6][8] 같은 달 phpBB 포럼이 개설되었다.[6][9]
2. 2. 초기 개발 및 라이선스 변경 (2010년)
2010년 3월, 제크너는 AFX를 LGPL 하에 구글 코드에 호스팅하여 오픈 소스로 공개했다. 그러나 당시 그는 "어쨌든 데스크톱 게임을 만드는 데 프레임워크를 사용할 의도는 없었다"라고 밝히며, 프레임워크를 주로 안드로이드를 대상으로 할 의도였다고 설명했다. 4월에 첫 번째 기여자가 AFX 개발에 참여했다.[6][7]Box2D JNI 래퍼가 만들어지면서, 당시 물리 게임의 인기에 힘입어 더 많은 사용자와 기여자를 끌어모았다. 이를 통해 안드로이드의 많은 문제가 해결되었다.[6]
많은 사용자들이 LGPL이 안드로이드에 적합하지 않다는 이유로 다른 라이선스로 전환할 것을 제안했고, 이에 따라 libGDX는 2010년 7월에 라이선스를 Apache License 2.0으로 변경했다. 이러한 변경으로 폐쇄형 상업 게임에서도 libGDX 프레임워크를 사용할 수 있게 되었다.[6][8] 같은 달에 phpBB 포럼이 개설되었다.[6][9]
2. 3. 기능 확장 및 플랫폼 지원 (2011년 ~ 2013년)
2011년 1월, Java 사운드 문제로 인해 오디오 데스크톱 구현이 OpenAL로 전환되었다.[6][10] Gdx2D라는 소규모 이미지 조작 라이브러리의 개발도 완료되었으며, 이는 오픈 소스 STB 라이브러리에 의존한다.[6][11] 같은 해, UI 라이브러리를 추가하고[12] 3D API의 기본 사항을 작업했다.[6]2012년 초, 제크너는 JNI 바인딩 개발을 용이하게 하기 위한 gdx-jnigen이라는 소규모 헬퍼 라이브러리를 만들었다.[6][13] 이를 통해 gdx-audio[14] 및 gdx-freetype[15] 확장을 개발할 수 있었다.[6]
구글의 PlayN 크로스 플랫폼 게임 개발 프레임워크는 GWT를 사용하여 Java를 JavaScript 코드로 컴파일했는데, 제크너는 HTML/JavaScript 백엔드를 작성하여 libGDX 애플리케이션을 WebGL을 지원하는 모든 브라우저에서 실행할 수 있도록 했다.[6] 구글이 PlayN을 포기한 후, 마이클 베인(Michael Bayne)이 유지 관리하면서 iOS 지원을 추가했다. libGDX는 이 작업의 일부를 자체 MonoTouch 기반 백엔드에 사용했다.[6][16][17]
2012년 8월, 프로젝트는 버전 관리 시스템을 Subversion에서 Git으로 전환하고, 구글 코드에서 GitHub로 이전했다. 그러나 문제 추적기 및 위키는 1년 더 구글 코드에 남아 있었다. 주요 빌드 시스템도 Maven으로 변경하여 다양한 IDE를 가진 개발자들이 함께 작업하기가 더 쉬워졌다.[6][18][19]
MonoTouch iOS 백엔드 문제로 인해 2013년 3월 니클라스 테르니그(Niklas Thernig)는 libGDX용 RoboVM 백엔드를 작성했으며, 이는 9월에 프로젝트에 통합되었다.[6][20][21] 2013년 3월부터 5월까지 새로운 3D API가 개발되어 라이브러리에 통합되었다.[6][22][23]
2013년 6월, 프로젝트 웹사이트가 개편되어 사용자들이 libGDX로 만든 게임을 제출할 수 있는 갤러리가 추가되었다.[6][24] 2016년 1월 기준으로 3000개 이상의 게임이 제출되었다.[25]
2013년 9월에는 문제 추적기 및 위키도 구글 코드에서 GitHub로 이전되었다.[6][26] 같은 달에 빌드 및 종속성 관리 시스템이 Maven에서 Gradle로 전환되었다.[6][27]
2. 4. 버전 1.0 출시 및 이후 (2014년 ~ 현재)
2014년 초 정리 단계를 거쳐, libGDX는 프로젝트 시작 4년 만인 4월 20일에 버전 1.0을 출시했다.[6]2014년, libGDX는 플랫폼 독립성에 중점을 둔 점을 인정받아 Duke's Choice Award 수상자 중 하나가 되었다.[28][29]
Java Magazine영어 2014년 9월/10월호에서는 다음과 같이 언급했다.
> 다양한 오픈 소스 열성 팬들로 구성된 팀에서 libGDX가 나왔으며, 이는 프로그래머가 Windows, Linux 또는 Mac OS X를 실행하는 데스크톱 PC에서 Java 게임을 작성, 테스트 및 디버깅하고 동일한 코드를 안드로이드, iOS 및 WebGL 지원 브라우저에 배포할 수 있는 크로스 플랫폼 게임 개발 프레임워크입니다. 이는 현재 널리 사용할 수 없는 것입니다. libGDX의 목표는 "특히 게임 개발을 위해 Java 플랫폼의 '한 번 작성, 어디서나 실행' 약속을 이행하는 것"이라고 제작자 마리오 제크너는 말합니다.[30]
2016년 4월, RoboVM의 중단 이후 libGDX는 인텔의 Multi-OS Engine으로 iOS 백엔드를 전환할 것이라고 발표했다.[31][32] 2016년 5월 16일 libGDX 1.9.3이 출시되면서 Multi-OS가 대안으로 제공되었으며, 기본적으로 라이브러리는 RoboVM의 오픈 소스 버전을 자체적으로 포크하여 사용한다.[33][34]
2. 5. libGDX Jam
RoboVM, itch.io, Robotality가 함께 libGDX 게임잼을 2015년 12월 18일부터 2016년 1월 18일까지 개최하였다.[35][36] 처음 180개의 테마 제안에서 "우주에서의 삶"이 잼의 주요 테마로 선정되었으며, 대회를 통해 83개의 게임이 제작되었다.3. 아키텍처
libGDX는 개발자가 데스크톱 PC에서 애플리케이션을 작성, 테스트, 디버깅하고 동일한 코드를 안드로이드에서 사용할 수 있도록 지원한다. 이는 일반적인 윈도우/리눅스 애플리케이션과 안드로이드 애플리케이션 간의 차이점을 추상화한다. 일반적인 개발 주기는 가능한 한 데스크톱 PC에서 작업하며, 주기적으로 프로젝트가 안드로이드에서도 작동하는지 확인하는 것으로 구성된다. libGDX의 주요 목표는 데스크톱과 모바일 장치 간의 완벽한 호환성을 제공하는 것이며, 주요 차이점은 속도와 처리 능력이다.[4]
3. 1. 백엔드
이 라이브러리는 호스트 플랫폼의 기능을 사용하기 위해 다양한 백엔드를 통해 플랫폼별 코드를 투명하게 사용한다. 대부분의 경우 개발자는 백엔드에 따라 다른 설정을 필요로 하는 시작 클래스(런처라고도 함)를 제외하고는 플랫폼별 코드를 작성할 필요가 없다.[50]- 데스크톱에서는 LWJGL이 사용된다. 버전 1.8에서는 이전 LWJGL 2 백엔드를 대체하기 위한 새로운 LWJGL 3 백엔드가 도입되었다.[51]
- HTML5 백엔드는 Java를 JavaScript 코드로 컴파일하기 위해 GWT를 사용하며, 이 코드는 일반적인 브라우저 환경에서 실행된다. libGDX는 특히 리플렉션과 같이 직접 지원되지 않는 표준 API의 여러 구현을 제공한다.[52][53][54]
- Android 백엔드는 Android SDK로 Android용으로 컴파일된 Java 코드를 실행한다.
- iOS의 경우 Java를 네이티브 iOS 명령어로 컴파일하기 위해 RoboVM의 사용자 지정 포크가 사용된다. 인텔의 Multi-OS Engine은 RoboVM의 중단 이후 대안으로 제공되었다.[31][33]
3. 2. 다른 JVM 언어 지원
LibGDX는 주로 자바로 작성되었지만, 컴파일된 바이트코드는 언어에 독립적이므로 다른 많은 JVM 언어에서 직접 라이브러리를 사용할 수 있다. 문서에서는 특히 세일론, 클로저, 코틀린, 자이썬, 자루비, 스칼라와의 상호 운용성을 명시하고 있다.[55]4. 확장 기능
LibGDX에는 라이브러리에 추가 기능을 더하는 여러 공식 및 타사 확장 기능이 존재한다.
4. 1. gdxAI
gdxAI는 인공지능(AI) 프레임워크로, 2014년 10월 버전 1.4.1에서 메인 라이브러리에서 분리되어 자체 저장소로 이동했다.[56][57] 처음에는 libGDX용으로 만들어졌지만 다른 프레임워크에서도 사용할 수 있다. 이 프로젝트는 게임에 유용한 AI, 그중에서도 경로 탐색, 의사 결정 및 움직임에 중점을 둔다.[56][57]4. 2. gdx freetype
FreeType 글꼴을 런타임에 렌더링하는 데 사용할 수 있으며, 정적으로 비트맵 이미지를 사용하는 것보다 더 나은 스케일링을 제공한다.[58]4. 3. Box2D
Box2D 물리 엔진 라이브러리에 대한 래퍼는 2010년에 도입되었으며, 1.0 릴리스에서 확장 기능으로 이동했다.[6][59]4. 4. packr
애플리케이션과 함께 사용자 지정 JRE를 번들로 묶어 최종 사용자가 자체 JRE를 설치할 필요가 없도록 돕는 도구이다.[60][61]5. 주요 게임
- 인그레스 (인그레스 프라임으로 재출시되기 전)
- 슬레이 더 스파이어[62]
- 델버
- 마인드스트리
- 섀터드 픽셀 던전
- 와일더미스[63]
참조
[1]
웹사이트
Official website
https://libgdx.badlo[...]
2016-01-02
[2]
웹사이트
Goals and Features
https://libgdx.badlo[...]
2015-12-16
[3]
웹사이트
mobilegameengines.com/game_engines/32-libgdx
http://mobilegameeng[...]
[4]
웹사이트
Home - libGDX
https://libgdx.com/w[...]
[5]
웹사이트
libgdx/README.md at master
https://github.com/l[...]
[6]
웹사이트
libGDX 1.0 released
http://www.badlogicg[...]
2014-04-20
[7]
웹사이트
The Future...
http://www.badlogicg[...]
2010-03-06
[8]
웹사이트
libgdx changes its license
http://www.badlogicg[...]
2010-07-13
[9]
웹사이트
Forums!
http://www.badlogicg[...]
2010-07-10
[10]
웹사이트
OpenAL & Natives Loading in Libgdx
http://www.badlogicg[...]
2011-01-21
[11]
웹사이트
Gdx2D and Super Jumper
http://www.badlogicg[...]
2011-01-26
[12]
웹사이트
UI Fun on Android with libgdx
http://www.badlogicg[...]
2011-06-25
[13]
웹사이트
gdx-jnigen: a stupid idea that might just work
http://www.badlogicg[...]
2012-01-03
[14]
웹사이트
gdx-audio
http://www.badlogicg[...]
2012-01-08
[15]
웹사이트
Create BitmapsFonts on the fly with gdx-freetype
http://www.badlogicg[...]
2012-03-06
[16]
웹사이트
Libgdx on iOS, days 1–2
http://www.badlogicg[...]
2012-06-08
[17]
웹사이트
Libgdx on iOS, day 5
http://www.badlogicg[...]
2012-06-13
[18]
웹사이트
Git & Maven
http://www.badlogicg[...]
2012-08-08
[19]
웹사이트
Libgdx is now on Github (sorta)
http://www.badlogicg[...]
2012-08-10
[20]
웹사이트
Early stage RoboVM libgdx backend
http://www.badlogicg[...]
2013-03-09
[21]
웹사이트
RoboVM backend in libgdx nightlies and first performance figures!
http://www.badlogicg[...]
2013-09-10
[22]
웹사이트
Brace yourselfs, new 3D API incoming
http://www.badlogicg[...]
2013-03-28
[23]
웹사이트
New 3D API in master
http://www.badlogicg[...]
2013-05-20
[24]
웹사이트
New libgdx site live!
http://www.badlogicg[...]
2013-06-29
[25]
웹사이트
Gallery
https://libgdx.badlo[...]
2016-01-06
[26]
웹사이트
The great libgdx Issue Tracker & Wiki Github Migration
http://www.badlogicg[...]
2013-09-14
[27]
웹사이트
Welcome your new overlord: Gradle
http://www.badlogicg[...]
2013-09-22
[28]
웹사이트
2014 Duke's Choice Award Winners
https://blogs.oracle[...]
2014-09-28
[29]
웹사이트
libgdx wins Duke's Choice Award
http://www.badlogicg[...]
2014-09-29
[30]
간행물
2014 Duke's Choice Awards
http://www.oraclejav[...]
2015-12-31
[31]
웹사이트
RoboVM is no more, what now?
http://www.badlogicg[...]
2016-04-15
[32]
웹사이트
RoboVM Winding Down
https://robovm.com/r[...]
2016-04-15
[33]
웹사이트
libGDX 1.9.3 released – New iOS backends
http://www.badlogicg[...]
2016-05-16
[34]
웹사이트
MobiDevelop's RoboVM fork
http://robovm.mobide[...]
2016-05-17
[35]
웹사이트
libGDX Jam is on! – Theme Voting Round #1
http://www.badlogicg[...]
2015-11-22
[36]
웹사이트
libGDX Jam – And the winner is…
http://www.badlogicg[...]
2016-02-13
[37]
웹사이트
libGDX 1.1.0 released
http://www.badlogicg[...]
2016-02-13
[38]
웹사이트
libGDX 1.2.0 released
http://www.badlogicg[...]
2016-02-13
[39]
웹사이트
libGDX 1.3.0 released
http://www.badlogicg[...]
2016-02-13
[40]
웹사이트
libGDX 1.4.1 released
http://www.badlogicg[...]
2016-02-13
[41]
웹사이트
libGDX 1.5.0 released
http://www.badlogicg[...]
2016-02-13
[42]
웹사이트
libGDX 1.6.0 released
http://www.badlogicg[...]
2016-02-13
[43]
웹사이트
libGDX 1.7.0 released
http://www.badlogicg[...]
2016-02-13
[44]
웹사이트
libGDX 1.8.0 released
http://www.badlogicg[...]
2016-02-13
[45]
웹사이트
libGDX 1.9.0 released
http://www.badlogicg[...]
2016-02-13
[46]
웹사이트
libGDX 1.10.0
https://libgdx.com/n[...]
2021-04-19
[47]
웹사이트
libGDX 1.11.0
https://libgdx.com/n[...]
2022-05-12
[48]
웹사이트
libGDX 1.12.0
https://libgdx.com/n[...]
2023-07-24
[49]
웹사이트
libGDX 1.13.0
https://libgdx.com/n[...]
2024-10-21
[50]
웹사이트
Starter classes & configuration - libGDX
https://libgdx.com/w[...]
2022-01-18
[51]
웹사이트
libGDX 1.8.0
http://www.badlogicg[...]
2016-01-11
[52]
웹사이트
Libgdx goes HTML5
http://www.badlogicg[...]
2016-05-17
[53]
웹사이트
Reflection in libgdx's GWT backend
http://www.badlogicg[...]
2016-05-17
[54]
웹사이트
Reflection API with GWT support!
http://www.badlogicg[...]
2016-05-17
[55]
웹사이트
Using libgdx with other jvm languages
https://libgdx.com/w[...]
2022-01-18
[56]
웹사이트
gdx-ai/README.md
https://github.com/l[...]
2016-01-16
[57]
웹사이트
Artificial Intelligence
https://libgdx.com/w[...]
2022-01-18
[58]
웹사이트
Gdx freetype
https://libgdx.com/w[...]
2022-01-18
[59]
웹사이트
Box2d
https://libgdx.com/w[...]
2022-01-18
[60]
웹사이트
'libgdx/packr: Packages your JAR, assets and a JVM for distribution on Windows, Linux and Mac OS X'
https://github.com/l[...]
2016-02-06
[61]
웹사이트
Packr – pack your libGDX app for Windows, Linux, Mac OS X
http://www.badlogicg[...]
2016-02-06
[62]
웹사이트
Road to the IGF: Mega Crit Games' Slay the Spire
https://www.gamasutr[...]
2020-01-22
[63]
웹사이트
Patch notes - Wildermyth Wiki
https://wildermyth.c[...]
2022-08-23
[64]
웹인용
libGDX 1.0 released
http://www.badlogicg[...]
2015-12-31
[65]
웹인용
mobilegameengines.com/game_engines/32-libgdx
http://mobilegameeng[...]
[66]
웹인용
Official website
https://libgdx.badlo[...]
2016-01-02
[67]
웹인용
Goals and Features
https://libgdx.badlo[...]
2015-12-16
[68]
웹인용
Home · libgdx/libdgx Wiki
https://github.com/l[...]
[69]
웹인용
libgdx/README.md at master
https://github.com/l[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com