libGDX

libGDX는 Java 기반의 오픈 소스 크로스 플랫폼 게임 개발 프레임워크다. 2D·3D 렌더링과 입력·오디오·파일 처리, 자산 로딩 및 여러 게임용 유틸리티를 제공하지만 특정 장면 편집기나 객체 구조를 개발자에게 강제하지 않는다. PC·모바일·웹 게임에 사용할 수 있고 Apache...

분류게임 개발 프레임워크, 2D·3D
개발 주체libGDX 개발 공동체
작성 언어Java
개발 언어Java
렌더링 APIOpenGL, OpenGL ES
주요 런타임Java·JVM, 플랫폼별 백엔드
주요 기능SpriteBatch, Scene2D, 물리 연동, 입력·오디오
개발 형태코드 중심, 통합 편집기 없음
개발 운영체제Windows, Linux, macOS
배포 플랫폼데스크톱, Android, iOS, HTML5 등
빌드 도구Gradle
라이선스Apache License 2.0
공식 웹사이트libgdx.com
소스 코드GitHub

libGDX는 Java 기반의 오픈 소스 크로스 플랫폼 게임 개발 프레임워크다. 2D·3D 렌더링과 입력·오디오·파일 처리, 자산 로딩 및 여러 게임용 유틸리티를 제공하지만 특정 장면 편집기나 객체 구조를 개발자에게 강제하지 않는다. PC·모바일·웹 게임에 사용할 수 있고 Apache License 2.0으로 배포된다.[1]

libGDX는 운영체제 및 실행 환경에 따른 차이를 백엔드와 플랫폼 추상화 계층으로 처리한다. 게임 개발자는 공통 Java 소스에서 렌더링과 입력, 오디오 및 자산 처리 API를 이용하고, 플랫폼별 모듈과 빌드 도구를 사용해 데스크톱·Android·iOS·HTML5용 실행 프로그램을 만든다. 일부 저수준 그래픽스 기능은 목표 플랫폼에 따라 지원 범위가 다를 수 있다.

2D 게임에서는 SpriteBatch와 텍스처·스프라이트, 타일맵 및 카메라가 주요 기능으로 사용되며 Scene2D는 UI와 Actor 계층 구조를 제공한다. 3D 장면에는 메시·재질·카메라 및 렌더링 API를 활용할 수 있다. 물리 연산이 필요한 게임은 Box2D 등의 라이브러리와 통합해 게임 오브젝트에 충돌과 동작을 추가할 수 있다.

프로젝트의 코드는 Java의 IDE·디버거·프로파일러를 이용해 개발하고 Gradle로 빌드한다. libGDX가 범용 코드를 제공하므로 개발자는 원하는 엔티티 시스템이나 게임 루프 구조를 직접 작성할 수 있고, 외부 라이브러리를 이용해 게임용 편집기와 콘텐츠 파이프라인을 구현할 수 있다. 자체적인 창 관리자·UI 및 자산 도구를 만드는 데도 사용할 수 있다.

libGDX는 C#을 사용하는 MonoGame과 비슷하게 편집기보다 코드와 프로그래밍 API에 중점을 둔다. 차이점은 Java 생태계와 OpenGL 계열 그래픽 API를 중심으로 하며, 모바일·웹을 위한 별도 런타임 백엔드를 유지한다는 점이다. 성능과 메모리 할당을 고려해 자료형·컬렉션과 렌더링 시스템을 설계하며 사용자에게 구체적인 게임 장르를 강제하지 않는다.[2]

역사

엔진과 프레임워크 구조

게임 로직·개발 언어

렌더링과 그래픽스

입력과 오디오

물리·애니메이션

개발·편집 도구

파일·자산 처리

지원 플랫폼

라이선스

활용 및 관련 게임

관련 문서

  1. libGDX 공식 소개 ↩
  2. libGDX 주요 기능 ↩