GDevelop
GDevelop는 코드를 직접 작성하지 않고 2D·3D 게임을 제작할 수 있도록 개발된 자유·오픈 소스 게임 엔진 및 시각적 저작 플랫폼이다. Florian Rival이 시작한 프로젝트로 이벤트 시트와 객체·행동(Behavior)을 이용해 게임 규칙을 작성하는 방식이 핵심이다. 초보자를...
| 분류 | 게임 엔진, 노코드 2D·3D 게임 제작 플랫폼 |
|---|---|
| 최초 개발자 | Florian Rival |
| 개발 시작 | 2008년경 |
| 중심 언어 | TypeScript·JavaScript, C++ 구성 요소 |
| 런타임 | GDJS |
| 프로젝트 코어 | Core, Extensions, GDJS, newIDE |
| 렌더링 | PixiJS 및 추가 3D 플러그인 |
| 편집기 | Electron·React 기반 시각적 IDE |
| 개발 모델 | 객체·행동·이벤트 시트 |
| 주요 기능 | 2D·3D 장면, 물리, 멀티플레이 및 확장 |
| 대상 플랫폼 | 웹, Windows, macOS, Linux, Android, iOS 등 |
| 데이터·스크립트 | 장면·게임 변수, JavaScript 이벤트 |
| 소스 라이선스 | MIT License(엔진·IDE·확장) |
| 상표 | 명칭과 로고의 권리는 별도 |
| 공식 홈페이지 | GDevelop |
| 소스 코드 | GDevelop 프로젝트 |
GDevelop는 코드를 직접 작성하지 않고 2D·3D 게임을 제작할 수 있도록 개발된 자유·오픈 소스 게임 엔진 및 시각적 저작 플랫폼이다. Florian Rival이 시작한 프로젝트로 이벤트 시트와 객체·행동(Behavior)을 이용해 게임 규칙을 작성하는 방식이 핵심이다. 초보자를 위한 노코드 제작 흐름을 중심으로 설계됐지만 JavaScript 코드 삽입과 확장 기능을 통해 복잡한 게임을 구현할 수도 있다.[1]
GDevelop의 내부 구조는 공통 게임 데이터와 편집 기능을 제공하는 Core, 실제 게임을 실행하는 TypeScript 기반 GDJS, 게임 기능을 추가하는 Extensions, 시각적 제작 도구인 newIDE로 나뉜다. Core의 일부 구현은 C++로 작성되고 JavaScript와 연결하기 위해 WebAssembly 기반 바인딩을 사용하며, 편집기에는 React·Electron과 PixiJS가 활용된다. 이 계층 분리는 게임 데이터를 해석하는 저작 도구와 최종 게임의 런타임을 구별한다.[2]
게임 콘텐츠는 Scene과 객체(Object), Behavior, 이벤트·변수를 중심으로 구성된다. 사용자는 조건과 동작을 조합한 이벤트 시트로 캐릭터 이동과 충돌, 타이머·점수 계산과 화면 전환을 정의한다. GDJS 런타임의 RuntimeScene, RuntimeObject, RuntimeBehavior 등의 자료 구조는 편집기에서 지정한 게임 객체와 행동을 실제 실행 중 관리하는 역할을 한다. 필요한 경우 이벤트 안에 JavaScript 코드를 작성해 런타임 API에 접근할 수 있다.
그래픽스는 PixiJS를 기반으로 한 웹 렌더링 기술과 3D 관련 기능을 결합한다. 다양한 2D 스프라이트와 텍스트·애니메이션, 물리 및 효과와 사용자 인터페이스를 구성할 수 있으며 웹 브라우저 또는 플랫폼별 패키지로 결과물을 배포할 수 있다. 지원되는 기능은 대상 플랫폼과 프로젝트에 포함된 확장 기능, 특정 엔진 버전에 따라 차이가 나므로 2D와 3D의 모든 기능이 동일한 범위로 제공되는 것은 아니다.[3]
Core·GDJS·newIDE·Extensions 코드에는 MIT License가 적용되며 프로젝트의 이름과 로고는 별도 권리로 보호된다. 개발자는 완성한 게임을 유료로 판매하거나 별도의 라이선스로 배포할 수 있고 게임을 반드시 공개 소스로 만들어야 하는 것은 아니다. 일부 클라우드 빌드·게시 서비스에는 독립적인 요금제나 이용 조건이 있을 수 있다. 기술사에서는 웹 실행 엔진·시각적 이벤트 프로그래밍 및 오픈 소스 편집기를 결합한 크로스 플랫폼 도구로 분류한다.[4]