||<tablebordercolor=#000,#fff><tablewidth=100%><tablebgcolor=#fff,#1c1d1f><bgcolor=#000,#fff>
게임 엔진 ||
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px);" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin: -5px -1px -11px;" |
메이저 상용 게임 엔진 | |
언리얼 엔진 | 유니티 | |
관련 문서: 언리얼 엔진 vs 유니티 엔진 | ||
기타 엔진 목록 | }}}}}}}}} |
||<-3><:><table align=right><bgcolor=#ffffff,#1f2023><tablewidth=500><tablebordercolor=#095FC3,#1ea7be><tablebgcolor=#ffffff,#1f2023> Defold
디폴드 ||
}}}}}}}}} ||
디폴드 ||
|
|||||
개발사 | 아발란체 스튜디오 → 킹(게임 제작사) → Defold 재단 | ||||
출시일 | 2016년 3월[1] | ||||
지원 운영체제 | Microsoft Windows | macOS | Linux[2] | ||||
최신 버전 | 정식 출시 | 1.9.1 / 2024년 7월 22일 | |||
미리 보기 | 1.9.2 베타 / 2024년 8월 7일 | ||||
유형 | 게임 엔진 | ||||
공식 사이트 |
|
|
|
|
| | | | |
||||
{{{#!wiki style="margin: 0 -10px -5px; min-height: 26px" {{{#!folding [ 정보 더보기 ] {{{#!wiki style="margin: -6px -1px -11px" |
지원 언어 | ||||
프로그래밍 언어 | 런타임 | C++ | |||
에디터 | Java | ||||
스크립트 | Lua | ||||
셰이더 | GLSL | ||||
그래픽 API | OpenGL[3] | Vulkan(API) | Metal(API)[4] | ||||
플랫폼 | PC | Microsoft Windows | macOS | Linux | |||
게임기 | PlayStation 4 | PlayStation 5 | Nintendo Switch | Xbox[5] | ||||
모바일 | iOS | Android | ||||
웹 | HTML5 | 페이스북 | ||||
라이선스 | Defold 라이선스[6] | ||||
요금 | 무료 |
[clearfix]
1. 개요
Defold 1.8.0 버전의 에디터 화면 |
2008년 스웨덴의 아발란체 스튜디오에 있던 Christian Murray와 Ragnar Svensson 2명이 사이드 프로젝트로 개발을 시작한 2D 게임 엔진으로 2014년에 캔디 크러쉬 사가 개발사로 유명한 킹이 인수한 후 2016년 3월에 GDC에서 무료로 발매하였다. 킹에서 Defold 엔진을 이용해 최초로 만든 게임은 블라썸 블라스트 사가다.
2020년에 킹에서 독립한 후 Defold 재단이 발족하면서 처음엔 오픈 소스가 아니었던 Defold는 현재 아파치 2.0을 기반으로 하는 자체 라이선스로 바뀌어 소스가 깃허브에 공개되어 있다. #
소재지가 스웨덴에 있어 스웨덴 게임 산업의 구성원으로 등록되어 있다. 2D 게임 개발을 위한 다양한 기능을 제공하지만, 3D 리소스를 사용할 수 있으며 기능도 무료다.
2. 특징
2.1. 완전한 무료
처음부터 엔진의 라이선스 비용 자체는 무료였다. 대신 킹에서 운영하던 당시에는 킹 자체 라이선스 상으로 신경 쓰이는 부분들이 더러 있었는지라 무료여도 쓰기를 꺼리는 사용자가 더러 있었다.현재는 킹에서 독립해 Defold 재단으로 모든 권리가 이관되면서 라이선스도 아파치 2.0 라이선스를 기반으로 새롭게 바뀌면서 이런 문제가 해결되었고 소스 또한 완전히 공개되어 깃허브에서 확인할 수 있다. #
2.2. 무설치
설치할 필요 없이 원하는 곳에 내려받아 압축을 풀어 사용할 수 있으며, IDE 에디터가 내장되어 있어 따로 사용할 필요는 없다.에디터에는 비주얼 씬 편집기, 디버거, 에셋 관리, 타일맵 편집기, 그리고 게임 번들링에 필요한 모든 템플릿이 포함되어 있다. 그리고 프로젝트를 리빌딩할 필요 없이 에셋과 스크립트를 변경할 수 있는 핫-리로딩을 지원한다.
물론 에디터가 마음에 들지 않는 경우 Lua IDE인 ZeroBrane Studio나 Visual Studio Code 같은 문서 편집기를 연결해 사용할 수도 있다.
2.3. 2D를 위한 3D
Defold 측에서는 2D 게임 개발을 위한 3D 엔진이라고 표방한다. 정확하게는 엔진 자체는 3D 엔진이고 도구 모음은 2D로 되어있다. # 이 말대로 3D 요소들을 써서 2.5D 게임도 만들 수 있는데 단순하게 분류해 보자면 다음과 같이 볼 수 있다.2D | 스프라이트, 스파인 모델, 타일 맵 에디터 | |
3D | 모델링, 메쉬, 재질, 셰이더 | |
2D, 3D | 애니메이션, 입자 효과 |
다만 제작사 측의 주장과는 별개로 완전한 3D 게임보다는 2D 게임을 만드는데 최적화된 도구 모음 때문인지 대부분 2D 게임 엔진이라고 인식하고 위키 등지에서도 2D 엔진으로 분류한다.
2.4. 스크립트
기본적으로 Lua API를 통해 엔진과 통신한다. LuaJIT은 HTML을 제외한 모든 플랫폼에서 사용되며 JIT 컴파일을 활성화한다.플랫폼에 특화되거나 더 나은 코드를 위해 C, C++, Java, Objective-C, JavaScript 또는 C#[7]를 사용하여 엔진을 확장할 수도 있다.
또한, 커뮤니티에서 TypeScript와 Haxe[8]의 바인딩을 비공식적으로 지원하고 있다. 실제로 Lua의 언어적 특성으로 인한 한계로 이렇게 다른 언어로 바인딩해서 쓰는 예도 있다.
https://ts-defold.dev/ - Defold의 TypeScript 바인딩
https://github.com/hxdefold/hxdefold - Defold의 Haxe 바인딩
2.5. 크로스 플랫폼
두 가지 측면에서 크로스 플랫폼을 지원하는데 첫 번째는 에디터 사용을 위한 운영체제를 윈도우와 맥OS, 리눅스[9] 세 군데 어디서든 가능하다는 점으로 상용 엔진들은 리눅스 지원은 잘 하지 않는 점을 고려하면 이는 분명 좋은 부분이다. 물론 오픈 소스 엔진들은 셋 다 지원하는 때도 곧잘 있기에 이는 Defold만의 장점은 아니다.중요한 건 두 번째인데 개발을 목표로 할 플랫폼이 iOS와 안드로이드 같은 모바일뿐 아니라 콘솔 게임기도 가능하다. 비록 엑스박스는 아직 협의 중에 있지만, 사실상 현재 거치형 게임기는 플레이스테이션과 닌텐도 스위치로 양분된 만큼 이 둘을 공식적으로 지원한다는 것만으로도 충분한 의미가 있다.
특히 오픈 소스 엔진들은 콘솔이 소스를 공개할 수 없는 독점 제품들인 관계로 지원을 하기가 쉽지 않은데 Defold는 이걸 가능하게 만들었고 현시점에 이런 교집합을 가진 엔진은 거의 없으므로 장점이 크다고 할 수 있다.
2.6. 성능과 용량
제작진은 엔진의 기능이 성능을 깎아 먹을 수 있다는 생각이 들면 개발에 타협의 여지를 잘 주지 않는단 얘기가 있을 정도로 성능에 신경을 쓰는 편이다. 최적화가 괜찮아 상대적으로 많은 오브젝트를 불러올 수 있고 낮은 사양에서도 잘 돌아간다는 편이다.그보다 눈에 띄는 것은 용량인데 엔진 자체도 JDK[10]가 300MB나 차지한다는 걸 빼면 용량이 작은 편에 속하지만, 더 중요한 것이 프로젝트를 빌드했을 때 최종적인 배포용 빌드의 용량이 타 엔진에 비해 아주 작다는 것으로 게임 용량을 많이 줄일 수 있다는 이점이 있다는 것이다.
물론 성능이나 용량은 개발 역량이나 내용물에 따라 얼마든지 달라질 수 있는 만큼 어디까지나 상대적으로 이런 부분에 유리한 부분이 있다 정도로 해석하는 게 좋다.
2.7. 친절한 커뮤니티
커뮤니티가 친절하다. 물론 이는 아직 부족한 인지도에 기인하는 것일 수도 있으나, 어떻게든 새로운 사용자가 자리 잡을 수 있게 친절함을 보인다는 것 자체만으로도 새로운 엔진을 사용하는 데에 느낄 수 있는 진입장벽을 줄이는데 도움이 된다.다만, 해외에서도 사용자가 적은 엔진이다 보니 한국에서는 관련 커뮤니티조차 찾기 쉽지 않은 형편이라[11] 어느 정도 영어가 되지 않는다면 이는 체감하기 힘든 부분이다. 따라서, 영어가 가능하다면 가급적 공식 포럼이나 공식 디스코드에서 도움을 받는 것을 권장한다.
그리고 기능 추가와 같은 부분에 있어서는 자신들의 개발 방향성과 맞지 않는다고 판단하면 이를 고려하기보다 단호하게 거절하는 편인데 좋게 말하면 줏대가 있는 것이지만, 나쁘게 보자면 유연성이 없다 보니 이를 사용자가 직접 해결해야 하는 경우도 곧잘 있는 편이다.
다행인 점은 플러그인 같은 확장프로그램을 만드는 것을 막지는 않기 때문에 이를 통해 해결할 수 있는 여지가 있다.
3. 게임
|
스팀에 출시된 Defold 엔진으로 만든 게임 목록
4. 관련 사이트
- 강좌
https://gamefromscratch.com/defold-engine-tutorial-series/
https://www.tactxstudios.com/
https://devga.me/tutorials/defold-crash-course-tutorial/
https://www.gameforce.blog/index-of-free-tutorials-for-the-defold-game-engine-for-developers/
https://www.gameforce.blog/?s=Defold
- 예제
https://github.com/Dragosha/defold-things
- 기타
[1]
개발 시작은 2008년부터, 정식 버전은 2016년 3월에
GDC에서 공개 및 무료로 출시되었다.
[2]
공식적으로는
우분투를 권장한다.
[3]
OpenGL ES 포함
[4]
MoltenVK
[5]
2024년 3분기 지원 예정
[6]
아파치 2.0 기반의 자체 라이선스다.
#
[7]
1.9.1 버전 부터 테크니컬 프리뷰로 추가
[8]
데드 셀이 이 언어로 만들어진 것으로 유명하다.
[9]
공식적으로는
우분투를 권장한다.
[10]
구버전의 JDK를 직접 커스터마이징해 사용하고 있다.
[11]
네이버 카페 등으로 활성화해 보려는 시도는 있었던 것 같지만, 대부분 정전 상태인 걸로 보인다.