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]