Defold
Defold는 게임 객체와 컴포넌트, Lua 스크립트를 이용해 2D·3D 게임을 제작하는 게임 엔진이다. King에서 개발이 시작되어 이후 Defold Foundation 중심의 독립 프로젝트로 운영되고 있으며, Windows·Linux·macOS와 모바일·웹 등 여러 플랫폼으로 배포할...
| 분류 | 게임 엔진, 2D·3D 게임 개발 |
|---|---|
| 개발 주체 | Defold Foundation |
| 과거 개발 주체 | King |
| 작성 언어 | C++, Lua |
| 게임 로직 언어 | Lua |
| 통합 도구 | Defold Editor |
| 주요 구조 | Collection, Game Object, Component, Message |
| 렌더링 | 2D·3D 스프라이트·모델·재질 |
| 배포 플랫폼 | Windows, Linux, macOS, iOS, Android, HTML5 등 |
| 확장 기능 | Native Extension |
| 소스 공개 | 공개 저장소에서 열람·수정 가능 |
| 라이선스 | Defold License 1.0 |
| 로열티 | 엔진 이용에 별도 로열티 없음 |
| 공식 웹사이트 | defold.com |
Defold는 게임 객체와 컴포넌트, Lua 스크립트를 이용해 2D·3D 게임을 제작하는 게임 엔진이다. King에서 개발이 시작되어 이후 Defold Foundation 중심의 독립 프로젝트로 운영되고 있으며, Windows·Linux·macOS와 모바일·웹 등 여러 플랫폼으로 배포할 수 있다. 통합 편집기와 런타임·빌드 도구를 제공해 소규모 게임부터 상용 프로젝트까지 사용한다.
Defold는 Collection으로 게임 세계의 객체를 구성하고, 개별 Game Object에 스프라이트·충돌 객체·스크립트·카메라 등의 컴포넌트를 연결한다. 게임 로직은 Lua로 작성하고 메시지 전달 시스템을 이용해 객체와 컴포넌트가 서로 통신하도록 설계되어 있다. 이는 게임 객체 간의 직접적인 의존성을 줄이면서 이벤트와 상태 변경을 처리하는 방법이다.
엔진의 실행 코드와 주요 네이티브 기능은 C++로 구현된다. Lua를 이용한 게임 스크립트가 엔진의 기능을 호출하며, Native Extension으로 별도의 C·C++ 라이브러리나 플랫폼 기능을 통합할 수 있다. 자산 빌드 과정은 이미지·사운드와 애니메이션 및 사용자 코드 등을 실행 플랫폼에 맞게 처리한다.
Defold Editor는 2D 장면과 GUI·애니메이션·충돌 데이터를 시각적으로 편집할 수 있다. 기본 렌더링·입력·오디오 기능을 이용해 HTML5 게임이나 모바일 앱을 제작할 수 있지만, 사용 가능한 그래픽스 백엔드와 네이티브 기능은 목표 플랫폼에 따라 달라진다. 완성된 결과물은 플랫폼별 실행 파일 또는 웹 콘텐츠로 제공한다.
Defold의 엔진과 편집기 소스는 공개돼 있으나 표준 Apache License 2.0과 동일한 오픈 소스 라이선스는 아니다. Defold License 1.0은 엔진을 사용해 만든 게임의 상업적 배포를 허용하고 로열티를 부과하지 않지만, 엔진이나 편집기 자체의 상업적 재판매에는 제한이 있다. 따라서 Godot처럼 MIT 라이선스를 사용하는 엔진과 소스 공개 및 재배포 조건을 구별해야 한다.[1]