KorGE

KorGE(Korge)는 Kotlin 언어와 Kotlin Multiplatform 기술로 작성되는 크로스 플랫폼 게임 엔진이다. 게임의 화면·장면과 스프라이트, 애니메이션·입력·오디오·자산 관리 기능을 공통 코드로 작성한 뒤 데스크톱·모바일·웹의 여러 실행 환경으로 빌드할 수 있도록 설...

분류게임 엔진, 멀티플랫폼 2D 게임 엔진
공식 표기KorGE (Korge)
개발 주체KorGE Team, Korlibs 오픈 소스 공동체
중심 개발 언어Kotlin
기반 기술Kotlin Multiplatform
주요 그래픽스플랫폼별 GPU 가속 2D 렌더링
게임 표현장면·컨테이너·뷰·스프라이트·애니메이션
부가 기능입력·충돌·오디오·텍스트·UI·타일맵
자원 시스템Korlibs 멀티미디어 공통 라이브러리
주요 대상JVM 데스크톱, JavaScript·WebAssembly 웹
기타 대상Android, iOS 및 플랫폼별 Kotlin Native
빌드 시스템Gradle, Kotlin Multiplatform 플러그인
개발 도구IntelliJ IDEA, KorGE Forge, 디버거
프로젝트 개발핫 리로드와 예제 프로젝트
외부 코드 구성KProject로 모듈·자원 재사용
정식 배포 계열KorGE 6.0.0
2026년 전환Maven 이름 공간 org.korge, 7.0.0-SNAPSHOT
라이선스MIT 및 Apache License 2.0 계열
공식 웹사이트korge.org
공식 문서docs.korge.org
공식 소스korlibs/korge

KorGE(Korge)는 Kotlin 언어와 Kotlin Multiplatform 기술로 작성되는 크로스 플랫폼 게임 엔진이다. 게임의 화면·장면과 스프라이트, 애니메이션·입력·오디오·자산 관리 기능을 공통 코드로 작성한 뒤 데스크톱·모바일·웹의 여러 실행 환경으로 빌드할 수 있도록 설계됐다. Kotlin과 기존 JVM 개발 도구에 익숙한 개발자가 같은 언어로 게임과 인터랙티브 콘텐츠를 제작할 수 있게 하는 것이 주요 목표다. 엔진은 오픈 소스 공동체와 Korlibs 멀티미디어 라이브러리 생태계의 일부로 개발되고 있다.[1]

KorGE는 화면을 구성하는 2차원 View와 컨테이너·스프라이트·텍스트 등 장면 요소를 계층적으로 관리한다. 게임 코드는 화면 상태를 갱신하고 오브젝트를 생성·배치하며 입력 이벤트와 시간에 따라 애니메이션과 규칙을 수행한다. 게임 루프·리소스 로딩 및 플랫폼별 그래픽스의 세부 처리는 공통 라이브러리가 담당하므로 Kotlin 코드는 게임 상태와 상호작용을 표현하는 데 집중할 수 있다. 타일맵과 사용자 인터페이스 등 추가 기능도 필요에 따라 게임 프로젝트에 결합할 수 있다.

기술적으로 KorGE는 독립적인 거대 네이티브 엔진이라기보다 여러 Kotlin Multiplatform 멀티미디어 라이브러리 위에 구축된 게임 제작 계층이다. Korlibs 구성 요소는 자료 처리·수학, 이미지·파일 형식과 사운드·플랫폼 추상화 등 여러 기능을 담당한다. 엔진은 이러한 공통 기능을 게임에서 사용하기 쉬운 장면·컴포넌트·애니메이션 API로 조립한다. 코드를 여러 플랫폼에서 공유하면서도 실제 브라우저 렌더링과 모바일·데스크톱의 입력·오디오 처리는 대상별 백엔드에서 실행된다.[2]

개발자는 Kotlin 프로젝트에 KorGE Gradle 플러그인을 추가하거나 예제 게임을 복제해 시작할 수 있다. IntelliJ IDEA와 Gradle의 기존 개발·디버깅 환경을 사용할 수 있으며 KorGE는 핫 리로드와 실행 중 상태 검사 같은 작업 방식을 지원한다. 프로젝트의 모듈과 자원은 KProject 방식으로 관리할 수 있고, 제작 중인 게임을 JVM·브라우저·Android 및 iOS에서 실행하는 빌드 작업이 마련돼 있다. 실제 패키징과 서명, 네이티브 도구 사용 범위는 배포 플랫폼의 SDK에 따라 달라진다.[3]

2026년 프로젝트는 Gradle 및 Android Gradle Plugin의 새로운 세대에 대응하는 작업을 진행했고, Maven Central의 배포 이름 공간을 바꾸는 전환을 발표했다. 2026년 5월 2일 공개한 안내에서 com.soywiz.korge 기반 구성을 새로운 org.korge 계열로 변경한다고 설명했으며, 기존 6.0.0 정식판과 7.0.0-SNAPSHOT 개발판을 구별했다. 이러한 변경은 의존성과 플러그인 ID가 달라지는 호환성 문제를 발생시킬 수 있으므로 역사적 게임 프로젝트의 복원에서는 해당 릴리스의 Gradle 및 Kotlin 버전을 함께 기록해야 한다.[4]

KorGE의 소스와 주요 구성 요소는 MIT 라이선스를 비롯한 자유 소프트웨어 라이선스로 제공되며, 저장소의 라이선스 문서에는 MIT와 Apache License 2.0 조건 및 여러 외부 코드의 원문이 함께 수록된다. 따라서 KorGE 프로젝트에 적용되는 라이선스와 번들된 이미지·음향 코덱 또는 기타 제삼자 소프트웨어의 조건은 구분해서 확인해야 한다. 이 엔진은 Kotlin의 멀티플랫폼 코드 공유와 게임 제작 도구가 결합된 사례로, 동일한 게임 규칙을 JVM·웹·모바일에서 구현하는 방식의 발전을 보여준다.[5]

역사

개발 목적과 기술 계보

엔진 구조 및 실행 모델

프로그램·스크립트와 객체 모델

렌더링 및 그래픽스

입력·오디오·애니메이션

게임 데이터와 자산 처리

제작 도구·개발 환경

지원 플랫폼과 빌드

버전별 호환성과 이식

라이선스·소스 공개

주요 활용과 기술적 영향

관련 문서

  1. KorGE 공식 저장소 ↩
  2. KorGE와 Korlibs 개발 스택 ↩
  3. KorGE 개발 절차와 빌드 대상 ↩
  4. KorGE: 2026년 패키지 이름 공간 변경 ↩
  5. KorGE 소스 라이선스 전문 ↩