Solar2D
Solar2D는 Lua 언어로 2차원 게임과 대화형 애플리케이션을 개발하는 크로스 플랫폼 게임 엔진이다. 기존 Corona SDK의 후속 제품으로 개발되어 무료·오픈 소스 프로젝트로 전환하면서 Solar2D라는 이름을 사용한다. 이미지·화면과 애니메이션, 입력·오디오·물리 시스템을 Lu...
| 분류 | 게임 엔진, 크로스 플랫폼 2D 게임 프레임워크 |
|---|---|
| 이전 명칭 | Corona SDK |
| 최초 개발사 | Ansca Mobile → Corona Labs |
| 현대 유지 | Solar2D 오픈 소스 공동체 |
| 구현 언어 | C++, Lua |
| 게임 작성 | Lua 스크립트 |
| 핵심 API | display, physics, audio, transition, composer |
| 그래픽스 | GPU 기반 2D 스프라이트·벡터·텍스처 |
| 물리 | Box2D 연동 |
| 개발 방식 | Solar2D Simulator와 실시간 테스트 |
| 배포 대상 | Android, iOS, Windows, macOS, 웹 HTML5·TV 등 |
| 확장 | Solar2D Native, 플랫폼별 플러그인 |
| 게임 제작 | 하나의 Lua 코드베이스와 자원 프로젝트 |
| 오픈 소스 전환 | 2020년 Corona SDK 이후 Solar2D로 개명 |
| 공개 라이선스 | MIT License, 외부 구성별 별도 |
| 공식 사이트 | solar2d.com |
| 소스 코드 | coronalabs/corona |
Solar2D는 Lua 언어로 2차원 게임과 대화형 애플리케이션을 개발하는 크로스 플랫폼 게임 엔진이다. 기존 Corona SDK의 후속 제품으로 개발되어 무료·오픈 소스 프로젝트로 전환하면서 Solar2D라는 이름을 사용한다. 이미지·화면과 애니메이션, 입력·오디오·물리 시스템을 Lua API로 제공하며 Android·iOS와 데스크톱·웹 등 다양한 실행 환경으로 빌드할 수 있다.[1]
엔진 실행기는 Lua 스크립트를 읽어 게임 상태와 화면의 객체를 관리한다. 개발자는 display와 transition, audio, physics 같은 모듈을 호출하고 장면 전환에는 Composer 라이브러리를 사용할 수 있다. 화면에 여러 스프라이트·텍스트·도형을 배치하고 이벤트·터치 입력에 따라 좌표와 애니메이션 상태를 변경한다. Lua를 통한 게임 규칙과 C++ 네이티브 런타임은 역할이 구분된다.
렌더링은 2D GPU 가속과 재질·셰이더 효과, 스프라이트·벡터 이미지를 지원한다. 물리 기능에는 Box2D를 사용해 충돌과 강체 운동을 처리하고, 플랫폼별 소리 출력과 파일·네트워크 접근은 엔진의 공통 API와 플러그인을 통해 제공한다. 같은 게임 코드를 여러 장치에서 실행해도 디스플레이 비율이나 GPU·입력 장치가 다를 수 있으므로 프로젝트에서 화면 크기와 에셋 스케일을 조정해야 한다.
Solar2D Simulator는 제작 중인 게임을 데스크톱에서 즉시 실행해 보는 도구로, 소스와 리소스를 수정한 결과를 빠르게 확인하게 한다. 모바일 배포에는 플랫폼별 SDK·인증서 및 앱 스토어 구성이 필요하며 Solar2D Native를 사용하면 C++·Objective-C·Java 등 플랫폼별 코드를 게임에 연결할 수 있다.[2]
코드베이스의 주요 부분은 MIT License로 공개됐으며 공개 저장소는 플랫폼별 진입점, 컴파일과 확장 플러그인, 빌드 스크립트를 제공한다. 저장소는 포함된 서드파티 및 Solar2D 구성 라이브러리에 각각 다른 라이선스가 있을 수 있다고 명시한다. 엔진 사용권과 게임에 포함한 음악·그래픽의 저작권도 별개다.
Solar2D는 Corona SDK의 상용·클라우드 중심 개발 모델에서 소스가 공개된 커뮤니티형 프로젝트로 전환한 사례다. 2D 모바일 게임 제작의 문법과 API를 유지하면서도 웹·데스크톱 등 배포 경로를 확장했고, 플러그인과 개발자 공동체를 통한 장기 유지보수를 추진한다.[3]