게임메이커

게임메이커(; GM, 최초 명칭: 아니모/Animo, 2011년까지의 명칭: 게임 메이커/Game Maker)는 델파이 프로그래밍 언어로 제작된 게임 개발 도구 (IDE)이다. 네덜란드의 컴퓨터 프로그래머이며, 위트 레흐트 대학의 교수인 마르크 오버르마르스(Mark Overmars)가 만든 프로그램이다. 현재는 요요 게임즈(YoYo Games)가 현재 개발 중이며, 다른 프로그래밍 언어를 이용하여 게임을 개발하는 것 보다 더 빠르고 편하게 컴퓨터 게임을 개발할 수 있도록 고안을 했다.
게임메이커는 현재 한층 업그레이드 된 스튜디오 버전을 만들었다, 1999년 처음 출시했던 1.1버전 이후 3D 기능과 기타 여러 가지 기능이 추가되어 그래픽적으로 상당히 업그레이드가 되며 요요 게임즈라는 무료 호스팅 사이트를 만들어 사용자가 만든 게임을 쉽게 배포를 할 수 있게 했다.
개발 역사.
원래는 대학 강의를 위한 목적으로 만든 아니모(Animo)라는 그래픽 도구였다. 하지만 제작자가 나중에 이 아니모를 기반으로 하여 게임메이커를 만들었다.
2007년 1월 26일에 마크 오버마스는 요요 게임즈라는 게임회사를 설립하였다. 이곳에서는 게임메이커를 개발하고, 개발자와 일반 게이머를 위한 커뮤니티를 개발한다.
시스템 요구 사항.
게임메이커 8.x의 시스템 요구 사항은 다음과 같다:
특징.
GML.
GML(게임메이커 언어, GameMaker Language)은 게임메이커의 스크립트 언어이며, GUI방식이 아닌 일반적인 프로그래밍 언어의 형태로 게임을 확장하거나 제어를 할 수 있다. GML은 문법은 C, C++, 파스칼 등과 비슷하지만, 다른 언어에 기반을 두지 않은 하나의 독립적인 언어이다. GML은 라이브러리 메이커를 통해서 액션을 제작할 수 있으며, 게임메이커 상의 코드 부분과 스크립트 부분을 통해서 사용할 수 있다. GML은 컴파일러가 아닌 인터프리터이다. 게임을 실행할 때마다 내장 인터프리터가 GML 코드를 해석한다. 인터프리터이기 때문에 C++이나 델파이 등의 컴파일러보다 일반적으로 낮은 것이다. GML 또한 DLL을 로드하고 사용하는 기능을 지원하고 있다. 이것을 사용하면 C++, 델파이, 파스칼과 같은 다른 프로그래밍 언어로 작성한 함수와 루틴을 사용할 수 있다.
다음은 GML을 사용한 코드의 예이다.
// This is a comment
/* this is a C-Style comment. */
/* temporary variable declaration.
 A temporary variable will be released at the end of a script.
 Note that this doesn't declare it to be of a specific type! */
var xx, yy, nn;
// A conditional. It can also be shortened to "if (can_shoot)".
if (can_shoot = true) // "=" and "==" can be used interchangeably in conditionals
 /* Here we are setting the variable to false. This could also be written as "can_shoot = 0;"
 since GameMaker only has real values. */
 can_shoot = false;
 /* Here you are setting the 0th alarm to five steps. The alarm
 variable will automatically count down to 0, and when it hits 0,
 the alarm0 event will be triggered. */
 alarm[0] = 5;
 /* Here the temporary variable xx is defined implicitly as an integer,
 and the lengthdir_x function is used. */
 xx = x + lengthdir_x(14, direction);
 yy = y + lengthdir_y(14, direction);
 //This function creates an obj_bullet and then returns its instance id to nn.
 nn = instance_create(xx, yy, obj_bullet);
 /* The with statement allows you to access the fields of an object directly,
 without having to write statements like nn.speed or nn.direction. */
 with (nn)
 speed = obj_tank.speed + 3;
 direction = obj_tank.direction;
구성 요소.
타일 셋.
타일 셋(tile set)은 타일들을 추가하는 곳이다. 현재 게임메이커 스튜디오2에서만 있으며 말 그대로 타일 설정이다. 게임메이커 스튜디오2를 제외한 게임메이커에서는 타일 기능은 스프라이트에 포함되어 있다.
포팅.
매킨토시 버전.
2008년에 샌디 던칸(Sandy Duncan)은 맥 OS X용 게임메이커를 개발 중임을 선언하였다. 이 포팅은 기술적인 이유로 여러 번 지연되었다. 특정한 버전을 통해 개인 베타 테스트로 사용할 수 있게 되었다.
2009년 12월 4일 요요 게임즈의 맥 개발자가 일을 그만두었으나 2010년 1월 27일에 재개되었다.
2010년 4월 14일에 맥 버전을 위한 출시 후보 버전이 출시되었다.
2010년 8월 11일에 요요 게임즈는 요요 게임즈 앱스토어라는 새로운 매킨토시 게임 허브와 더불어 맥용 게임메이커 7을 출시하였다.
플레이스테이션 포팅 버전.
2010년 3월 10일에 요요 게임즈 CEO 샌디 던칸은 플레이스테이션 포터블 시스템용으로 출시될 예정인 새로운 버전의 게임메이커를 발표하였다.
iOS 버전.
2010년 9월 24일에 요요 게임즈는 애플 아이팟, 아이폰, 아이패드와 호환되는 iOS 버전을 만든다고 발표하였다. 그러나 2011년 1월 5일 요요 게임즈는 공식적인 중단에 대하여 글로그(Glog)에 글을 올렸다.
안드로이드 버전.
요요 게임즈 스토어는 사용자들이 구글 안드로이드로 포팅할 수 있게 허용하였다.
HTML5 버전.
요요 게임즈는 실행기가 HTML 5에서도 동작한다고 발표하였다.
타이젠 버전.
요요 게임즈는 삼성이 개발한 OS 인 타이젠으로도 포팅을 할 수 있게 하였다.
비 윈도 계열에서의 게임메이커로 제작된 게임 포팅.
요요 게임즈는 게임메이커로 제작된 게임을 윈도나 OS X용이 아닌 타 운영 체제에서 제작된 게임을 이용할 수 있게 게임메이커 스튜디오가 나오기 전부터 이러한 것을 진행해왔으며, 그러한 것이 개인이 가능하게 된 게임메이커 스튜디오가 출시 된 이후에도 요요 게임즈는 신청자에 한해 포팅을 진행 중이다. 다만, 본인의 개발자 계정으로는 올릴 수 없으며 YoYoGames의 이름으로만 올려야 한다. 일부는 광고가 붙을 수 있으며, 요요 게임즈와의 협의 후 수수료를 내고 본인이 유료로 게임을 팔 수 있다.
대한민국에서의 게임메이커 이용.
게임메이커는 타 소프트웨어와 비교하여 쉬운 도구이면서도 여러 기능을 지원하여 이것을 이용하여 많은 사람들이 게임을 만들게 되었다. 그런 게임메이커를 전문적으로 다루는 카페 또한 여러 등장하였다. 이를테면 네이버 대표카페로 선정된crazy gamemakers나 Play GM등이 있다.