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]

역사

개발 목적과 주요 버전

아키텍처와 실행 모델

객체·장면·월드

프로그래밍과 스크립팅

렌더링과 그래픽스

입력·오디오·물리

애니메이션 및 사용자 인터페이스

자산·제작 도구

지원 운영체제와 배포

라이선스와 소스 공개

활용 사례 및 영향

관련 문서

  1. GameMaker 공식 제품 소개 ↩
  2. GameMaker 공식 매뉴얼 ↩
  3. GameMaker 제품과 라이선스 안내 ↩