- 가볍고 고성능인 2D 중심 게임 엔진이며, 3D 기능도 지원함
-
Lua 스크립트 기반으로 전체 게임 로직을 제어하며, 빠른 빌드와 핫 리로드로 개발 속도 향상
-
무료로 제공되며, 라이선스 비용이나 로열티가 없음
- 크로스 플랫폼 지원이 강력하여 한 번 개발로 다양한 플랫폼에 배포 가능
- 씬 에디터, GUI 툴 등 아티스트 친화적인 도구 제공으로 시각적 제작 용이성 강화
- C/C++ 등의 네이티브 확장과 다양한 SDK 연동으로 확장성과 실전 적용 가능
Defold의 주요 기능
-
설치 필요 없음: 설치나 설정 없이 바로 사용할 수 있음
-
비주얼 및 코드 편집기: 시각적 편집기와 코드 편집기를 통해 창의적인 작업 가능
-
Lua 디버거: Lua 스크립트를 디버깅할 수 있는 도구 제공
-
장면 및 파티클 편집기: 2D 및 3D 게임 개발을 위한 다양한 편집기 제공
-
비용 없음: 초기 비용, 라이선스 비용, 로열티, 런타임 비용이 없음
크로스 플랫폼 지원
-
다양한 플랫폼: PlayStation, Nintendo Switch, Android, iOS, macOS, Linux, Windows, Steam, HTML5, Facebook 등 주요 플랫폼에 게임 배포 가능
-
외부 도구 불필요: 외부 도구 없이 하나의 코드 베이스로 모든 플랫폼 지원
2D 중심, 3D도 가능한 엔진 구성
- Defold는 2D 게임 개발에 최적화되어 있지만, 3D 기능도 내장
-
컴포넌트 기반 설계로 성능과 모듈성 강화
- 2D 컴포넌트 : 2D 스프라이트, Spine 모델, 타일맵 에디터
- 3D 컴포넌트 :
- 3D 모델 및 애니메이션 로딩
- 런타임 중 3D 메시 생성 및 수정
- 사용자 정의 머티리얼과 GLSL 기반 셰이더
- 파티클 효과
- 실시간 미리보기가 가능한 파티클 에디터
- 곡선 에디터로 파라미터 조절
- 2D/3D 파티클 방출기 지원
애니메이션 기능
- 스프라이트, 모델, GUI 등에 사용 가능한 강력한 애니메이션 시스템
- 플립북 애니메이션 : 스프라이트, GUI 노드, 파티클에 사용
- Spine 및 모델 애니메이션
- 블렌딩 지원
- 키프레임 이벤트 처리
- 역운동학 적용 가능 및 스크립트 제어
- 속성 애니메이션
- 모든 스프라이트 및 GUI 속성에 애니메이션 가능
- 커스텀 스크립트 기반 속성 애니메이션
- 커스텀 또는 사전 정의된 이징 함수 사용
아티스트 친화적인 도구
- GUI 에디터
- 텍스트, 이미지, 파이 노드 등 레이어 구성
- 클리핑 및 마스크 기능
- 자동 레이아웃과 화면 방향 전환 지원
- 9-슬라이스 텍스처, 비트맵/거리 필드 폰트
- 템플릿을 활용한 UI 요소 재사용 가능
- 씬 에디터
- 자산 조립과 배치를 위한 시각적 에디터
- 프리팹 기반 게임 오브젝트 구성
- 계층 구조로 객체 그룹화
물리 시뮬레이션
- Box2D, Bullet 기반 2D/3D 물리 엔진 완전 통합
- 정적/동적/키네마틱 객체
- 형태 기반 충돌 및 광선 캐스트 탐지
- 타일맵 정밀 충돌 감지
- 트리거, 조인트, 모터 지원
모두 Lua 스크립트로 가능
- Lua 스크립트
- 코드 편집기, 구문 강조, 자동완성, LSP 포함
- 디버거 내장 및 변수 검사 가능
- 렌더링 파이프라인 완전 스크립팅 가능
- Teal 언어 사용한 타입 지정 가능
- 리액티브 코드 스타일
- 리액티브 스타일 Lua 지원으로 고성능 유지
- 게임 오브젝트 간 비동기 통신 구조
크로스 플랫폼 지원
- 진정한 크로스 플랫폼
- 동일 코드 기반으로 원클릭 배포
- Steam, Facebook Instant 등은 확장으로 지원
- 에디터는 macOS, Windows, Linux 모두 지원
- Xcode나 Android Studio 없이도 모바일 배포 가능
- WebGL, OpenGL, Vulkan, Metal 지원
- 매우 가벼움
- 사용된 자산만 포함하는 자동 리소스 관리
- 스프라이트 아틀라스 패킹
- 플랫폼 별 텍스처 압축 설정 가능
- 렌더 파이프라인에서의 동적 배치 처리
성능과 안정성
- 다른 엔진보다 훨씬 작은 바이너리 크기
- Unity 6, Godot 4.3 대비 10% 정도의 바이너리 크기 (안드로이드,iOS,HTML5,Windows 모두)
- 뛰어난 성능
- 수만 개 오브젝트 렌더링 가능 (예시: Bunnymark)
- 오래된 하드웨어와 모바일 브라우저에서도 원활히 작동
- Stable 버전
- 4주 릴리즈 주기, 2주 베타 기간 포함
- 하위 호환성 깨는 변경 거의 없음
- 엔진 충돌은 매우 드물게 발생
빠른 작업 흐름
- 핫 리로드
- 자산/로직 실시간 적용
- 무선 디바이스 핫 리로드 및 디버깅 지원
- Lua 훅을 통한 커스텀 리로드 처리 가능
- 커스텀 워크플로우
- 독립 빌드 파이프라인 사용 가능
- CI와 통합된 헤드리스 빌드 지원
- 프로젝트 간 라이브러리 공유 가능
- 공식 및 커뮤니티 자산 포함된 Asset Portal 운영
- 모든 데이터는 텍스트 파일로 관리되어 병합 쉬움
- 빌드 및 리팩터링
- HTML5 포함 모든 빌드가 수 초 내 완료
- 비동기 및 동기 로딩 지원
- 자동 자산 리팩터링
- 최적화 및 디버깅
- 실시간 시각적 프로파일러
- 원격 웹 기반 프레임 샘플링
- 게임 영상 캡처 가능
- 네이티브 충돌 로그 API 제공
네이티브 확장으로 기능 추가
- C, C++, ObjectiveC, Java, JavaScript로 Defold 엔진 기능 확장 가능
- 클라우드에서 사용자 맞춤 엔진 자동 생성
- 활용 예시
- 고성능 연산 및 데이터 처리
- 모바일 카메라 등 하드웨어 접근
- 광고, 분석 등 외부 SDK와의 연동
실전 적용 및 서드파티 통합
- Defold는 실전용 게임 엔진으로 신뢰성 있는 SDK와 통합 제공
- 푸시 알림: Google, Apple
- 인앱 결제: Google, Apple, Amazon, Facebook
- 게임 서비스: Facebook SDK, Google Play, Firebase
- 광고: AdMob, IronSource 등 중개 지원
- 네트워크: WebSockets, Nakama, PlayFab, Colyseus 등
- 더 많은 확장은 Asset Portal에서 확인 가능
왜 Defold인가?
- Defold는 모든 게임에 최적이라는 주장은 하지 않음
- 그러나 일부 게임에 대해선 최고의 선택이 될 수 있음
- 개발 생산성, 경량화, 크로스 플랫폼, 빠른 반복 작업 등에서 특화된 강점 보유