GameMaker
GameMaker는 시각적 객체 편집과 자체 스크립팅 언어를 결합한 2차원 중심 게임 엔진 및 게임 제작 도구이다. Mark Overmars가 1999년 처음 개발했고 이후 YoYo Games가 계승해 GameMaker: Studio와 GameMaker Studio 2를 거쳐 현재의 G...
| 분류 | 게임 엔진, 2D 게임 제작 플랫폼 |
|---|---|
| 개발 시작 | 1999년 |
| 최초 개발자 | Mark Overmars |
| 후속 개발사 | YoYo Games |
| 주요 언어 | GameMaker Language(GML) |
| 개발 도구 | GameMaker 통합 IDE |
| 실행 모델 | Room, Object, Instance, Event |
| 주요 기술 | 2D 렌더링, 애니메이션, 입력·오디오, 셰이더 |
| 코드 개발 | GML Code, GML Visual |
| 컴파일·실행 | 플랫폼별 VM 및 YYC 구성 |
| 주요 배포 | Windows, macOS, Linux, HTML5, 모바일·콘솔 등 |
| 대표 게임 | 《Undertale》, 《Hyper Light Drifter》, 《Hotline Miami》 |
| 제품 계보 | Game Maker, GameMaker: Studio, GameMaker Studio 2, GameMaker |
| 라이선스 | 전용 상용 소프트웨어, 이용 목적에 따른 조건 |
| 공식 웹사이트 | GameMaker |
| 공식 매뉴얼 | GameMaker Manual |
GameMaker는 시각적 객체 편집과 자체 스크립팅 언어를 결합한 2차원 중심 게임 엔진 및 게임 제작 도구이다. Mark Overmars가 1999년 처음 개발했고 이후 YoYo Games가 계승해 GameMaker: Studio와 GameMaker Studio 2를 거쳐 현재의 GameMaker 제품으로 발전했다. 통합 편집기에서 스프라이트·장면·객체와 이벤트를 관리하고, GameMaker Language(GML)로 게임플레이를 구현하는 방식이 핵심이다.[1]
프로젝트는 스프라이트와 배경·사운드·스크립트 등의 자원, 게임 객체(Object)와 실제 배치된 인스턴스, 룸(Room)으로 구성된다. 하나의 객체는 Create, Step, Draw, Collision과 같은 이벤트에 반응하도록 동작을 정의할 수 있다. 개발자는 룸에 인스턴스를 배치하고 엔진이 반복해서 호출하는 이벤트를 통해 움직임·충돌·UI·게임 상태를 갱신한다. 이는 장면 그래프 방식의 엔진과 구별되는 이벤트 중심 개발 모델이다.[2]
GML은 GameMaker의 실행 모델과 긴밀히 연결된 자체 프로그래밍 언어로, 변수·함수·구조체와 배열, 객체 인스턴스 및 내장 API에 접근한다. 최신 제품에는 코드 방식과 시각적 동작 구성 방식이 함께 제공된다. 셰이더·표면·카메라와 텍스처, 오디오·입력·네트워크 등의 기능을 조합하여 복잡한 2D 게임도 제작할 수 있으며 일부 3D 그래픽 표현도 가능하다.
GameMaker는 여러 플랫폼의 배포 패키지를 생성할 수 있지만 각 대상의 컴파일러·SDK·게임 콘솔 개발 계약과 라이선스 조건은 다르다. VM 런타임과 YYC 같은 컴파일 방식의 차이는 프로젝트의 배포와 최적화, 빌드 절차에 영향을 준다. 대표적으로 《Undertale》, 《Hotline Miami》, 《Hyper Light Drifter》 등 여러 독립 게임이 GameMaker 계열로 제작되면서 사용층이 확대됐다.
GameMaker의 IDE·런타임은 일반적인 오픈 소스 라이선스로 전부 공개된 제품은 아니며 이용 조건은 개발 목적과 배포 형태에 따라 달라졌다. 게임 개발자는 프로젝트의 소스 및 콘텐츠와 엔진 제품 자체의 이용 조건을 구분해야 한다. GameMaker는 적은 코드로 시작할 수 있는 시각적 제작 방식과 본격적인 스크립팅을 같은 환경에 결합하여 2D 독립 게임 개발의 중요한 도구로 자리 잡았다.[3]