게임메이커

게임메이커 8.0~8.1까지의 심볼

게임메이커: 스튜디오 1.4의 심볼

게임메이커: 스튜디오 2.0의 심볼

1. 개요
2. 특징
3. 상세 설명
3.1. 구조
3.1.1. 게임메이커 전체
3.1.1.1. 스프라이트
3.1.1.2. 백그라운드(GMS1)
3.1.1.3. 사운드
3.1.1.4. 패스
3.1.1.5. 스크립트
3.1.1.6. 폰트
3.1.1.7. 타임라인
3.1.1.8. 오브젝트
3.1.1.9. 룸
3.1.2. 게임메이커: 스튜디오
3.1.2.1. 셰이더
3.1.3. 게임메이커 5.0
3.1.4. 모듈
3.2. GML
3.3. 확장 기능
3.4. DnD™ (GMS2)
4. GMS 2
4.1. 개선된 점
4.2. 문제점
5. 단점
5.1. 사용성
5.2. 고해상도 환경 대응의 불편함
5.3. 처리 속도 문제
5.4. 3D 지원 부실
5.5. 64비트 미지원 관련 문제
5.6. 기타
6. 기타
7. 유명작
8. 관련 웹사이트

1. 개요

요요 게임즈에서 제작하는 2D 게임 제작에 특화된 통합 개발 툴.

네덜란드의 교수인 마르크 오버르마르스(Mark Overmars)가 강의를 목적으로 만든 Animo라는 그래픽 툴을 기반으로 1999년 첫 사용버전인 1.1을 출시한 이후 8.1까지 넘버링이 이어져 왔고, 2012년 멀티플랫폼으로 퍼블리싱이 가능한 툴인 게임메이커: 스튜디오 1.0을 발매한다.

그래픽 에디터, 맵 에디터, 자체 스크립트 언어 등이 내장되어 이 프로그램 단독으로도 게임을 만드는데 큰 무리는 없다. 플래시와 추구하는 바가 비슷하지만, 게임메이커는 게임 제작에 특화되어 있다는 게 차이점.

현재 최신 버전은 게임메이커 스튜디오 2이며, 윈도우, macOS 두 운영체제에서 구동된다.

GMS2가 나옴에 따라 GMS1은 스팀에서 3월 9일자로 판매중지되었으며 이미 GMS1을 보유하고 있을 경우 일반 버전을 40% 세일가로 구매할 수 있다.[1] 게임메이커에서 옆그레이드 비슷했던 1.4까지와는 달리 2에서는 확실히 개선된 기능들이 많아서 반응도 좋다. 게다가 1.4 프로젝트 마이그레이션도 지원하여 구식 코드들이 자동으로 대체용 코드로 변경된다. 관련 뉴스

기존의 게임메이커: 스튜디오의 최종 버전은 1.4.9999이고 개발툴 자체는 윈도우 전용[2]이지만 콘솔부터 모바일, 데스크탑까지 다양한 플랫폼으로 익스포트 가능한 모듈을 구매할 수 있다.

2. 특징

상당히 오랜 역사를 갖고 있으며 사용자층이 두터운 편이다.

게임메이커: 스튜디오 이전의 구 게임메이커의 최신 버전은 8.1.141이다. 스튜디오에 비해 퍼포먼스가 좀 떨어지고 데스크탑용 게임만 만들 수 있지만 프로그램 자체는 가벼워 빠른 개발이 가능하기 때문에 간단한 프로토타이핑용 개발 도구로 아직까지 쓰이고 있다.[3] 개발사인 요요게임즈에서는 공식적으로 업데이트를 종료한 상황.

멀티 플랫폼(윈도우, OS X, iOS, 안드로이드, 우분투, HTML5, 타이젠, Steam 창작마당, GameMaker: Player(서비스 종료))을 지원하는 게임메이커: 스튜디오가 2012년 5월 22일 발매되었으며, 2018년 8월에 마지막 업데이트인 1.4.9999로 지원이 중단되었다. Pro 라이센스에서 다음 게임메이커 버전의 프리뷰를 설치해 볼 수 있었다.

쉬운 사용법과 높은 자유도를 바탕으로[4] 대규모 커뮤니티를 만들었으며 인디 게임계에서는 중요한 위치를 차지하고 있다. 게임메이커: 스튜디오부터는 모바일 플랫폼 지원, 스팀 워크샵 연동을 통해 이전 버전보다 본격적으로 시장 진입을 노리고 있다. 그래픽, 사운드, 룸 에디터 등 리소스 제작 툴은 굉장히 단순한 기능만 지원하기 때문에 그 이상의 퀄리티를 위해선 서드파티 툴로 작업해야 한다.

처음에 유료로 판매되며 간간히 무료로 제공되던 스탠다드 에디션이 2014년 6월부터 완전 무료로 전환되었다. 이 버전으로 만든 게임에는 '게임메이커: 스튜디오로 만들어졌다'는 문구의 스플래시가 강제로 표시되지만 이전 무료 버전에 리소스 제한이 있었던 걸 생각하면 매우 좋아졌다. 제한이 딱 한개다!! 하지만 스튜디오 2에서는 데모 버전의 제한이 지나치게 많다(...)

구입하지 않아도 많은 기능을 제공하고 만든 게임을 팔아도 따로 라이센스비 등을 지불할 필요가 없으며 가격 또한 단돈 몇만 원 수준의 대인배 툴이기는 하지만, 여러 플랫폼으로 익스포트하려면 플랫폼별로 모듈을 구매해야 한다. 기존 버전에 비하면 훨씬 비싸지만, 별로 어렵잖게 다양한 플랫폼으로 어플리케이션을 익스포트할 수 있다는 것은 강점. 그리고 2012년 10월부터 Steam 창작마당과 연동을 시작하면서, 개인 및 소규모 제작팀의 시장 진출이 가속화될 것으로 보인다. 2015년 9월 기준으로 윈도우, 모던UI 앱(네이티브/자바스크립트), 우분투(리눅스), OS X 및 게임메이커: 플레이어(게임메이커 게임들을 구동하는 전문 플랫폼. 서비스가 종료되었다.) 익스포트가 기본으로 제공되며(Pro 라이센스 기준), 안드로이드, iOS, 타이젠 (네이티브/자바스크립트), 윈도우 폰, HTML5 익스포트를 추가로 구매할 수 있다.

주의할 점은, 각 모듈을 익스포트 할 때 대상 모듈의 OS와 SDK가 있어야 한다. 윈도우8용 앱이라면 윈도우8 64비트, 안드로이드면 안드로이드 SDK, iOS라면 OS X이 설치된 맥[5], 우분투라면 리눅스가 설치된 컴퓨터, ... 이런 식이다. 개발자에겐 당연한 사실이지만 내 핸드폰에 게임을 설치하고 싶어! 하고 덜컥 샀다간 낭패를 볼 수 있다. 또한 사용자 계정 이름에 공백이나 특수문자가 있으면 익스포트에 애로사항이 생기므로 잘 알아보는 게 좋다. 사용자 계정 이름이 한글로 되어 있는 경우에도 오류를 뿜어내기도 한다.

2014년 말부터 마켓플레이스라는 서비스를 제공하여 에셋(게임에 쓰이는 그림이나 엔진 등의 소스)이나 게임을 팔 수 있게 되었다. 유료로 뭔가를 팔려면 프로 라이센스가 있어야 한다. 다만 역으로 마켓플레이스에서 다운하거나 구입하지 않은 확장 패키지는 사용할 수 없게 되었다.망했다 Execute Shell 무료가 있긴 한데...

비슷한 소프트웨어론 컨스트럭트, MMF2(멀티미디어 퓨전 2, 이후 클릭팀 퓨전으로 개명), 유니티 엔진, 일본의 아스키 사에서 만든 액션 쯔꾸르도 있다.

3. 상세 설명

GMS 2에서 삭제된 기능은 취소선으로 지우지 말고 (GMS1)을 붙여주세요.

3.1. 구조

3.1.1. 게임메이커 전체

여기에서는 모든 게임메이커(~8.1&게임메이커: 스튜디오)에 공통으로 존재하는 리소스를 설명한다.

3.1.1.1. 스프라이트

스프라이트는 그래픽 리소스인데, 게임메이커에서 제공하는 자체 스프라이트 에디터로는 여러 프레임의 애니메이션과 충돌 범위를 지정할 수 있다. 물론 전문 그래픽 툴에 비하면 간단한 기능만 지원하는 에디터지만 바로 모션을 체크할 수 있다는 장점이 있다. 전문적인 그래픽 툴에 비하면 여전히 기능이 적지만 GMS2부터는 꽤 고급 수준의 기능까지 지원한다.

3.1.1.2. 백그라운드(GMS1)

백그라운드는 배경화면이나 바닥 타일셋으로 주로 사용되며, 이미지 우선 순위에서 스프라이트보다 반드시 하위에 위치한다. 스프라이트와 같은 에디터(일부 기능이 없긴 하다)를 제공한다. 3D 게임에서는 텍스처로 사용되는 경우도 있다. 스프라이트와 비교하면 충돌 범위, 애니메이션이 지원되지 않는 정적인 이미지이다.

GMS2에선 백그라운드가 스프라이트와 하나의 그래픽 파일로 통합되었다. 대신, 스프라이트를 불러와 그것을 백그라운드로 사용하는 방식으로 바뀌었다.

3.1.1.3. 사운드

사운드는 말 그대로 효과음이다. 게임메이커 8.x 한정으로 약간의 효과를 넣을 수 있다. 다만 내장 사운드 에디터는 없다.

3.1.1.4. 패스

패스는 경로를 지정할 때 사용된다. 주로 슈팅게임류에서 사용하며 코드로 제어하기 힘든 움직임을 제어할 때도 쓰인다.

3.1.1.5. 스크립트

일반적인 다른 프로그래밍 언어의 함수와 같은 개념이다. 오브젝트에 직접 작성되는 코드와 따로 분리되어 취급된다.

3.1.1.6. 폰트

폰트는 글꼴을 말한다. 크기, 굵기, 기울이기 등의 설정을 할 수 있다. 드로우할 때 사용하는데, 코드 기준으로 사용법은 draw_set_font(폰트_이름); draw_text(x좌표, y좌표, 내용);이다.

폰트를 사용할 문자 범위를 지정할 수 있으며, 스튜디오부터는 유니코드를 지원해서 한글도 사용할 수 있다. 단 한글이 차지하는 양이 많아서 큰 글꼴을 쓰려면 다른 방법을 이용해야 한다.

3.1.1.7. 타임라인

알람보다 훨씬 복잡한 시간에 따라 처리하는 내용을 작성할 때 쓴다. 타워 디펜스 게임에서 적을 생성할 때 (또는 보스의 패턴을 만들 때) 주로 사용한다.

3.1.1.8. 오브젝트

오브젝트는 게임 내에 나오는 모든 객체를 지칭한다. 작품에서의 캐릭터 같은 것이다. 플레이어 캐릭터, NPC, 건물 등. 코드 하나 없이 드래그 앤 드롭 방식으로 이벤트-액션을 정의할 수 있다. 예를 들어, 플레이어 오브젝트에 '적이 쏜 총알 오브젝트와 충돌했을 경우'라는 이벤트를 등록하고, 이에 따른 액션으로 '플레이어가 파괴된다'를 등록하면 되는 식. 다양한 이벤트와 액션 아이콘이 구비되어 있다. 다만 이벤트-액션은 초보자용이고, 제대로 된 걸 만들려면 코드에 숙달되어야 한다. 아이콘으로 쓸 수 없는 기능도 있고 오브젝트에 기능을 추가할수록 스크롤 압박 때문에 알아보기 힘들게 되기 때문이다.

오브젝트와 인스턴스가 헷갈릴 수 있는데, 룸에서 실제로 돌아다니는 객체는 모두 인스턴스(instance)이고 그 인스턴스의 행동을 정의하는 것이 오브젝트이다. 헷갈린다면 이데아를 생각하면 된다.

3.1.1.8.1. 이벤트

  자세한 내용은 게임메이커/이벤트 문서를 참고하십시오.

3.1.1.8.2. 액션(코드)

  자세한 내용은 게임메이커/액션 문서를 참고하십시오.

3.1.1.9. 룸

룸은 게임 화면을 말한다. 때문에 다른 에셋이 다 갖춰저 있어도 룸이 없으면 게임을 실행할 수 없다. 오브젝트를 넣거나 배경화면, 뷰 등을 설정할 수 있다. 룸 에디터 내에서 오브젝트 개체(인스턴스)를 선택한 후 Creation Code를 통해 룸 내의 특정 인스턴스에만 코드를 실행시키는 것이 가능하다.

GM:S부터 이미지 회전, 크기 조절, 좌우 뒤집기 등을 개별로 설정하는 기능을 지원하고 있다. 이를 이용해 값을 적절히 조정하면 적은 리소스로 리소스의 반복감을 줄일 수 있다.

3.1.2. 게임메이커: 스튜디오

게임메이커: 스튜디오에 새로 추가된 기능을 설명한다.

3.1.2.1. 셰이더

C++ 또는 GLSL ES를 안 배우면 절대로 만들 수 없다 카더라

스타크래프트에서처럼 유닛에 팀 색을 입히는 기능을 만든다거나, 광원 효과를 추가하거나 하는 고급 그래픽 기능으로, GLSL ES라는 전용 언어를 사용한다. 직접 바닥부터 짜내려면 셰이더 및 그래픽 관련 지식을 다소 요구하는 고급 기능이다.

3.1.3. 게임메이커 5.0

게임메이커 5에는 Data Files(데이터 파일)이라는 기능이 존재했지만, 6에서는 사라졌다. 사용법은 추가바람.

3.1.4. 모듈

GMS1의 모듈로는 안드로이드, iOS, Ubuntu, HTML5, Mac, Windows 8이 있어 윈도우가 아닌 다른 플랫폼으로 포팅할 수 있다. 단, 구매한 모듈들을 사용하려면 프로 버전 이상이어야 한다. 예를 들면 스탠다드 + 안드로이드로는 포팅 불가능하다는 뜻. 그래서 프로 버전까지 구입해야 사용할 수 있다.

프로 버전을 구입했다 하더라도, SDK 설치 등 포팅을 위한 준비도 필요하다.

안드로이드로 포팅하려면 먼저 안드로이드 SDK가 필요하며 포팅에 필요한 것들까지 설치해야 한다. 용량이 많이 필요하므로 준비를 해야 한다.
macOS또는 iOS로 포팅하려면 먼저 Mac 컴퓨터가 필요하며[6] Mac 컴퓨터로 맥 스토어에서 Xcode도 설치해야 한다.
별도의 준비가 필요 없다.
추가 바람.

GMS2는 Desktop(윈도우, 맥, 우분투), Moblie(안드로이드, IOS), Web(HTML5), UWP 4가지 모듈들이 있으며 GMS2 역시 해당 플랫폼의 모듈을 구매해야 해당 플랫폼으로 포팅하는 것이 가능하다.

PS4와 XBOX ONE 모듈도 추가되었지만, 사용 시 연간 799.99달러를 지불해야 한다.

닌텐도 스위치의 모듈이 추가되었다.

3.2. GML

기본적인 기능들을 배치하는 것만으로도 게임을 만들 수는 있지만, 세밀한 제어를 위해서는 자체 언어인 GML을 어느 정도 다룰 필요가 있다.

자체 스크립트 언어인 GameMaker Language는 VNAP의 접근성에 C의 문법을 결합한 정도이기 때문에 적은 노력으로 좋은 결과를 얻어낼 수 있다. 또한 제공되는 내장 함수들이 2D 게임에 특화된 것이 많아서 생산성이 높다. 단 C 문법 중 이중 배열을 쓰는 방법이 다르므로 주의. C에서는 array[x][y]로 이중배열을 쓰지만 GML에서는 array[x, y]로 사용한다. 삼중 이상의 배열은 아예 지원하지 않는다.

8.1 이전의 게임메이커에는 '선언되지 않은 변수를 0으로 취급'하는 설정이 있어 따로 변수를 선언할 필요가 없지만, 스파게티 코드가 생길 가능성이 농후하기 때문에 절대 체크하면 안 된다.

객체 지향의 요소인 상속도 간단하게나마 구현되어 있으며, 내장된 코드 에디터는 문법 하이라이팅이나 자동 완성이 지원되어 가벼운 툴 치고는 꽤 준수한 편.

외부 DLL을 끌어와서 기능을 확장할 수도 있으며, 오랜 역사와 충성도 높은 커뮤니티의 지원으로 라이브러리도 풍부한 편.

네트워크 부분이나 데이터 구조체 부분 등 멀티 플레이 구현에 중요한 기능이 액션 버튼엔 없기 때문에 멀티 플레이 게임을 만들기 위해선 GML을 다뤄야 한다. 다만 외부 멀티플레이 라이브러리를 통해 액션으로도 멀티플레이를 만들 수 있긴 하다.

3D 게임 또한 마찬가지. 3D 제작에 쓸 수 있는 외부 3D 액션 라이브러리 파일을 통해 액션으로도 3D를 만들 수도 있지만, 거의 모든 3D는 GML로 만들어진다. GML을 쓰면 외부 라이브러리 파일을 끌어올 필요도 없고, 장문의 3D 코드를 읽을 때 필요한 가독성도 GML이 액션보다 훨씬 뛰어나며 무엇보다 3D를 이것저것 해보며 여러 가지 응용법을 익힐 수 있다.

3.3. 확장 기능

DLL 파일을 게임에서 사용할 수 있게 하는 기능. 그러니까 DLL 파일 안에 있는 함수를 게임 내에서 쓸 수 있게 하는 것이다. C++ DLL 파일만 사용할 수 있지만 이 방법을 이용해서 .NET DLL 파일도 사용할 수 있다.

3.4. DnD™ (GMS2)

GMS2부터 액션 대신 Drag and Drop (DnD™)로 대체되었다.

DnD는 실제로 코드를 입력하지 않고 게임을 만드는데 사용할 수 있는 시각적 스크립팅 도구이다. 블록으로 코드를 만든다는 것이 GMS1와 다를게 없지만 DnD를 GML로 변환시킬 수 있으며 그 반대도 가능하다.

요요 게임즈에서 데모 게임 제작 강좌를 GML와 DnD 버전으로 따로 제작한다.

참고로 오브젝트 이벤트에서 GML와 DnD 돌 중 하나만 사용할 수 있다. 단 DnD의 경우 코드 블록이 있으므로 DnD 안에서 GML를 다를 수 있다.

3.5. 상세 기능

  자세한 내용은 게임메이커/상세 기능 문서를 참고하십시오.

4. GMS 2

요요게임즈 공식 트위터를 통해서 '#Time2MeetYourMaker'라는 해시태그와 함께 게임메이커: 스튜디오 2.0으로 추정되는 스크린샷이 지속적으로 공개되고 있다.

2016년 11월 2일, 정식 발표와 함께 베타가 시작되었다. 윈도우 64비트만 지원된다.

2017년 3월 8일, 공식적으로 출시되었다. 요요게임즈 홈페이지에서 구입할수 있으며, 스팀에도 PC,모바일, Web, UWP 버전이 발매되었다.

2017년 5월 20일 한글화를 시작하여, 불과 하루 만인 2017년 5월 21일 한글화가 완성되었다. 물론 아직 오역 및 오타가 존재하긴 하지만 사용하는 데 지장이 없을 정도이다. 한글화 이용하기

새로운 버전 CREATOR EDITION이 나왔다. 12월(1년) 라이런스를 저렴한 가격으로 구매할 수 있으며 이후 무기한 버전으로 업그레이드 시 할인 혜택을 받을 수 있다. 처음부터 무기한 버전을 사는 것보다는 조금 더 돈이 든다. CREATOR EDITION에서는 제한 사항이 있으며 게임 실행 시 나오는 스플래시 화면을 끄거나 바꿀 수 없고 YYC를 못 쓴다.

4.1. 개선된 점

  • 전반적 성능 개선
전체적으로 모든 프로젝트 리소스의 관리가 백그라운드 스레드 작업으로 바뀌면서 도구 자체의 성능이 향상되었다.거기다가 GMS 2 전체적인 구성이 전부 하드웨어 가속을 이용해 창들이 표시되는 방식으로 바뀌면서 CPU 처리(저장, 리소스 처리, 폰트 생성, 빌드 등)는 백그라운드 스레드의 역할과 함께 추가되어 부담이 줄어들었다. 그 결과, 도구 자체는 좀 더 가벼워지게 됐다. GMS 1의 창이 느리고 버벅이던 고질적인 문제를 해결한 것. 게임 구동 성능 또한 어느정도 개선되었다.
  • 프로젝트 저장 성능 개선
저장을 할 때, 변경사항이 존재하는 프로젝트 리소스만 갱신하게 바뀌었다. GMS 1에서는 프로젝트에 사용된 리소스를 폴더 단위로 별도로 관리하지만, 이전의 단일 프로젝트 파일 하나로 관리하던 구 게임메이커의 특징이 함께 올라오면서 저장을 할 때, 변경사항이 있지도 않았던 리소스조차 갱신을 하면서 저장하는 괴랄한 문제점을 보였지만, GMS 2로 넘어오면서 이러한 문제점이 드디어 해결됐다.이런 문제는, 프로젝트를 저장할 때마다 수많은 시간을 버리는 문제점이였기 때문에, 큰 프로젝트를 구성해갈수록 점점 프로젝트를 저장하거나 여는 것이 굉장히 부담스럽게 되었었기 때문에, 언더테일과 같이 큰 프로젝트를 구상하는 개발자들에게는 정말로 희소식이다.
  • JSDoc 스타일 주석 지원
이제 스크립트에서 /// @description 문법을 이용해 이 코드가 어떤 역할을 수행하는 지 메모를 할 수 있게 됐다.비주얼 스튜디오, C#의 ///<summary>와 자바스크립트를 사용하는 IDE의 힌팅(//@<tag> ...) 기능과 동일한 기능을 가지고 있기 때문에 해당 이벤트나 코드 블록이 무슨 역할을 하는 지 명확하게 메모하고 보기 쉬워졌다.
  • 이미지 에디팅 기능 추가
기존에 없던 레이어 기능이 추가되었으며, 애니메이션 관련 기능이 매우 개선되었다. 그 외도 여러 기능들이 추가/개선되어 기본 이미지 에디터가 상용 소프트웨어 수준의 기능을 갖추게 되었다.

4.2. 문제점

  • 대폭 상승한 가격
게임메이커 스튜디오 2의 정식 발매 이후, 요요 게임즈는 기존의 게임메이커 스튜디오 1.4 버전에 대한 지원은 유지보수를 제외하면 공식적으로 중단했으며, 1.4 버전에 대해서는 더 이상 피드백을 받지 않겠다고 선언했다.# 앞으로 새로운 기능들은 GMS 2에만 구현될 예정이기 때문에 필연적으로 기존 GMS 1.4 사용자들은 GMS 2로 넘어가는 것을 고려해야 한다. 그러나, 데스크탑 버전은 99.99$, 모바일 포팅 모듈은 399.99$, PS4 포팅 모듈은 연간 799.99$라는 정신나간 가격이 발표되자 구매를 고려했던 기존 사용자들은 멘붕에 빠졌다. (2019.04.10 개발 접근성을 높이기 위해 모바일 포팅 모듈의 가격이 199.99$로 인하되었다.)기존 GMS 1.4 구매자들에게는 데스크탑 버전은 59.99$에 제공하기는 했으나, 현재는 할인이 끝난 상태이다. 아직도 많은 동인게임 제작자들 사이에서 쓰이는 게임 메이커 8.1 버전이 20$였다는 것을 생각한다면 너무한 가격 상승이다. 현재 스팀 상점과 요요 게임즈 사이트에서도 GMS 1.4 버전은 내려가서 더 이상 구매할 수 없다.[7] 특별히 세일이라도 하지 않는 이상 신규 진입자는 99.99$에 살 수밖에 없는 상황. 17년 11월 39.99$로 1년간 사용할 수 있는 CREATOR EDITION이 나왔다.
  • 직관적이지 않고 거창하기만 하며, 불편한 인터페이스
인터페이스는 기존 GMS 1.4 버전에서 넘어온 사람들이 가장 많이 지적하는 문제점이다. 트렌드에 맞춰 인터페이스를 뜯어 고치며 내비게이션 방식의 인터페이스 디자인으로 시각적인 디자인은 훨씬 개선되었으나, 정작 가장 중요한 인터페이스의 레이아웃은 개악되었다. 기존과 인터페이스가 상당히 바뀌었는데 당장 필요하지도 않은 너무 많은 인터페이스가 동시에 화면에 표시되어 작업 공간이 좁아졌다. 오브젝트 인터페이스는 기존의 한 창에 표시할 인터페이스를 여러 창으로 나누었는데 각 인터페이스 간의 여백 공간이 너무 커 작업하려면 이리저리 정신없이 드래그해야 하며 드래그조차도 편하지 않다. 새로 추가된 기능들은 직관적이지 않고 여기저기 흩어져 있으며, 기존의 인터페이스조차도 같이 숨겨져 버렸다. 다만 내비게이션 방식의 인터페이스 덕에 작업창을 여러 개로 나눌 수 있어 듀얼 모니터를 사용하기가 다소 편해진 점은 장점이다.
  • 지나치게 많은 데모 버전의 제한
제한이 한두 개 정도가 아니고 리소스 제한은 물론이고, 우클릭으로 기존 리소스 추가 불가, 실행 파일 익스포트 불가로 시작해서 셰이더 생성 불가, 텍스처 페이지 생성 불가, 텍스처/오디오 그룹 생성도 불가능하다. 또 그리고 마켓플레이스에서 에셋 다운로드 불가, 1.x에서 생성된 프로젝트 파일 불러오기도 불가, 외부 파일 포함 불가, 확장 프로그램 생성 불가에 소스 컨트롤도 사용할 수 없다고 한다. GMS 1.x의 스탠다드 에디션에 있는 제한도 여럿 있지만, 이렇게 데모버전의 제한이 이상할 정도로 많아 제대로 배우려면 구매할 수밖에 없다. 이후 기능 제한 대신 여느 개발툴처럼 30일 제한으로 바뀌었다. 게임메이커는 구 버전들도 발매 후 제한을 점점 줄이는 전략을 취했기에 훗날에는 기간 연장도 기대할 수 있을 것이다.
  • IDE 오류
작업 중에 IDE가 오류 메세지 없이 갑자기 종료되는 현상이 가끔 일어나고 간혹 탐색기도 함께 종료되기도 한다.해결 방법은 스튜디오 2 실행 파일 속성 -> 호환성 텝으로 가서 위와 같이 설정하면 된다. 이 방법을 쓰면 99% 해결된다.

YYC 컴파일러가 여전히 64비트를 지원하지 않는다. 다만, GMS 2 로드맵에 64비트 지원 업데이트가 적혀 있다.

추가 바람.

5. 단점

Q: X발 토비, 어떻게 게임메이커를 버틴거야? 한번 써 봤는데 시발놈의 타일 한 개 추가 하는데도 30분이 걸렸어!

토비 폭스: 지옥에 온 걸 환영한다.

원문 - 게임메이커를 처음 써보고 어려움에 놀랐다는 팬에게

5.1. 사용성

기존 서술엔 게임메이커가 알만툴보다 JRPG 만들기에 불편하고, 비주얼 노벨 제작툴보다 비주얼 노벨 제작하기가 어려움을 단점으로 삼고 있었으나, 게임메이커는 특정 장르의 게임 제작 특화 툴이 아닌 범용 게임 개발 엔진이므로 특정 장르에 특화되어 이미 장르의 기본적 시스템 기능을 구현해놓은 특화 툴들보다 개발 난이도가 더 높은 것은 당연하다. 여타 범용 엔진이 그렇듯 미리 구현되어 있는 몇 가지 기능들 외에는 시스템을 구현하려면 바닥부터 게임 내 시스템을 짜야 한다. 다만 미리 구현돼 있는 게임 관련 함수가 상당히 많기 때문에 이들을 이용하면 개발 시간을 단축할 수 있다.

구조가 간단하고 특정 기능만 요구하는 부류의 게임은 유니크한 시스템을 구현할 것이 아닌 이상 전용 툴로 만드는 편이 더 빠르다.

  • 떨어지는 게임패드 지원 기능
게임패드 지원을 예로 들면 게임메이커가 제법 지원을 해주긴 하는데, 키보드에는 있는 직전에 누른 키 값을 리턴해주는 내장 변수(keyboard_lastkey)가 존재하지 않아서(!) 그냥 버튼 맵을 고정해버리거나 하드코딩을 하든 연결된 패드가 가진 버튼 숫자를 받아와 짜나가든 어쩌든 해서 버튼 매핑 함수를 직접 만들어야 하는 식이다.

5.2. 고해상도 환경 대응의 불편함

고해상도에 약한 편이다. 물론 설정하기 나름으로 고해상도 게임을 제작할 수도 있지만, 내장된 이미지 에디터는 저해상도에 특화되어 있는데다, 충돌 체크 등의 내장 함수들이 모두 픽셀 단위로 처리하기 때문에 고해상도로 갈수록 속도가 기하급수적으로 느려지는 경향이 있다. 엔진 자체도 컴파일을 할 때 이미지가 설정값보다 크면 알아서 디버그 메세지에 경고를 찍어주고 압축을 해버린다.[8]

단, 텍스처 파일 사이즈를 2~4배로만 늘려도 이미지가 깨지는 일은 확연하게 줄어들며, 처리하는 이미지 자체가 커지지 않는 이상 텍스처 파일 사이즈가 얼마나 커지든 성능에는 별 영향이 없다. 이미지 작업은 어차피 내장 툴은 구려터져서 여러 유/무료 소프트웨어로 대체하는 게 오히려 편하고 충돌 판정의 경우에도 대문짝만한 스프라이트를 픽셀 단위로 충돌맵을 걸어놓고 Draw 단에서 쌩으로 충돌 체크를 해대는 미친짓을 하지 않는 다음에야 성능을 크게 잡아먹지 않는다. FHD(1920×1080) 수준의 해상도까지는 2D 게임이라면 대부분 문제없이 돌아간다. 게임메이커로 개발한 인디 게임들이 대부분 저해상도 도트 위주인 것은 고해상도일수록 그래픽 리소스 제작에 더 많은 시간과 인력이 소모되기 때문이다. 유니티 등 타 소프트웨어로 만든 인디 게임들도 그래픽은 qHD(960×540[9]) 이상은 잘 넘기지 않는다.

5.3. 처리 속도 문제

이게 가장 큰 문제다. 인터프리터 방식이라 처리 속도가 상당히 느린 편이다. 요즘에는 컴퓨터 사양이 좋아져서 웬만큼 복잡하게 만들지 않는 이상 느끼기 힘들지도 모르지만, 한 프레임에 천 개쯤 되는 눈송이 같은 걸 뿌리고 싶다면 최적화에 골머리를 좀 썩여야 한다. 이런 걸 고려하지 않고 무턱대고 리소스를 때려박으면 나중에 피본다. 512×512 정도의 배열을 체크한다면 상당한 프레임 저하가 발생할 수 있다.

이런 부분은 외부 라이브러리를 끌어다 처리를 넘기는 게 효과적이다. 유명 2D 물리엔진인 Box2D가 내장되어 있고(스튜디오 한정), 그 외 유저들이 제작한 dll 방식의 외부 라이브러리들의 종류도 다양한 편.

스튜디오 프로 버전의 경우 1.2 버전에서 YYC(YoYo Compiler)라는 이름의 LLVM(Low Level Virtual Machine, 저레벨 가상 머신)이 추가되어 JIT 컴파일 방식으로 속도를 10배 이상 끌어올렸다. 그런데 300달러라는 거금을 내고 따로 사야 했었다. 본 프로그램보다 비싸다! 이 컴파일러는 코드 부분만 성능이 향상되는 거라 무슨 스타크래프트처럼 대규모 길찾기 인공지능이라도 적용되는 게 아니면 큰 성능 차이가 없다. 큰 그림과 많은 애니메이션 장수로 소모되는 시스템 자원은 거의 똑같이 소모되거나 오히려 느려지기까지 한다. 다른 모듈도 그렇고 잘 생각해보고 사야 한다. 이후엔 각 모듈에 컴파일러가 통합되었는데... 모듈 가격이 100달러 올라갔다. 월세 라이센스도 기획하는 모습을 보였지만 GMS1에서 실현되진 않았다.

5.4. 3D 지원 부실

게임메이커는 본래 2D 게임 제작을 지향하는 툴이었지만, 6.0 버전에 와서야 3D 관련 함수(d3d_*)가 추가되었다. 하지만 3D 처리 성능은 뛰어난 편이 아니며, 관련 함수도 빈약하여 본격적인 3D 게임을 만들기엔 무리가 있다. 주로 2D 게임에서 연출을 위해 보조로 활용하며, 개인의 실력에 따라서 그럭저럭 뽑아낼 수도 있지만 생산성이 높지 않다.[10] 따라서 좀 더 본격적인 3D 게임 제작을 원한다면 언리얼 엔진[11]이나 유니티 엔진[12] 등을 고려하는 편이 낫다.

다만 GM Ogre 등 외부 3D 엔진을 아예 게임메이커 내로 편입시키는 라이브러리도 존재하며, 8.1 버전 이후(스튜디오 포함)에서 3D 처리 성능이 십수 배 향상되고 셰이더를 활용하면 꽤 만족스러운 그래픽을 뽑아낼 수 있기 때문에 막연히 밀린다고 하기엔 힘들다.

5.5. 64비트 미지원 관련 문제

런타임에서는 일부 환경을 제외하고 32비트로 돌아가기 때문에 게임 구동 중 1.7GB 이상의 램을 사용하면 뻗어버린다. 물론 어지간큼 방만하게 코딩을 하지 않는 이상 리소스를 꾸역꾸역 집어넣어 돌려도 런타임에선 300~500MB 정도만 먹는 터라 일반적으로는 큰 문제가 아니지만 커스텀 기능 지원 등의 이유로 외부 프레임을 여러 장 끌어다 쓰는 게임을 만들려고 하면 이것이 큰 문제가 된다.

외부 스프라이트 수에 따라 메모리가 폭발적으로 늘어나는데, 이는 외부에서 가져온 스프라이트는 지정된 큰 텍스처 페이지에 스프라이트를 살뜰히 합쳐주는 내부 스프라이트와는 달리 무조건 스프라이트 1장마다 새 텍스처 페이지를 생성해 거기다 배치를 해버리기 때문이다. 통상 처리 속도 면에서야 그쪽이 낫겠지만 집어넣는 스프라이트 장수가 천 장 단위로 늘어나면 로딩이 조금 느리더라도 메모리 점유를 줄여야 하는데 문제는 게임메이커에서 그런 외부 스프라이트 묶음 기능을 지원하지 않으며, 우회할 수단도 딱히 없다는 것.

64비트 런타임 지원이 되기 전까지는 사실상 답이 없는 문제이고, 외부 스프라이트 추가 기능의 구조적인 해결이 없으면 64비트 환경이 되더라도 게임 컨셉에 따라서는 램 잡아먹는 괴물이 되어야 한다.

5.6. 기타

엔진 외적인 부분의 문제점도 있는데, 바로 이름. 이름이 상당히 직설적이다 보니 학습용이거나 애들이나 붙잡고 깔짝대는 엔진이라며 무시당하는 경우가 자주 있다. 알만툴과 혼동되는 경우도 간혹 있다고 하며. 외국 포럼에서도 이와 같은 점을 지적한다.# 특히 언리얼 엔진이나 유니티 엔진과는 달리 흔히 말하는 AAA급 게임 프로젝트에서는 거의 쓰이지 않고 인디 게임에서만 활발하게 쓰인다는 점도 무시당하는 이유 중 하나이다.

소규모 제작사인 만큼 이런저런 문제점들이 있는데,[13] 대부분 사용자들이 이를 커버할 수 있는 스크립트를 만들어서 공유하므로 그렇게 큰 문제는 되지 않는다.

6. 기타

  • 1999년 첫 버전인 1.1부터 8.0까지의 역사[14]
  • # 1.1로 마리오 게임을 만들었다고 한다.
  • DRM이 있는데 이게 시간이 지나면 먹히지 않아서 구 버전을 사놓고도 시간이 지나면 정당하게 사용하지 못하게 되고, 2012년 말 DRM이 오작동해서 게임 안의 이미지에 멋대로 해골 그림을 넣고 저장해버리는 섬뜩한 사태를 일으킨 적이 있다. 개발사 요요 게임즈는 욕을 신나게 얻어먹고 이후에는 자제하겠다고 했다. 2019년 현재로써는 지원 중단된지 오래인 8.1 버전도 여전히 인증은 된다.
  • 2014년 요요 게임즈는 소니, 마이크로소프트와 협의하여 PS4, PS Vita, 엑스박스 원으로 게임을 낼 수 있도록 한다고 했고 2015년에는 개발자 등록만 하면 정말로 낼 수 있게 되었다. 다만 다른 모듈들과 달리 사용시 연간 799.99달러를 지불해야 한다. 다만 콘솔 진영에 정식 개발사로 인정받으려면 보통 사무소와 법인이 있어야 하므로 저 비용은 과한 게 아니다.
  • 스팀판에서는 제작 소프트웨어임에도 24개의 도전과제가 있다. 실행하기나 모듈 실행 및 인증 등 기능들을 건드려 보는 내용들이다. 그 중 눈에 띄는 업적은 1000번 실행하기, 1000번 디버깅하기, 그리고 1000번 컴파일 에러 일으키기. 어차피 하다보면 저절로 돼있다
  • 2015년 9월에 험블 번들에서 1주일 간 12달러로 게임메이커: 스튜디오와 안드로이드 모듈, 그리고 몇몇 게임메이커 게임들의 소스 코드를 구매할 수 있었다. 수요가 쇄도함에 따라 웹사이트가 이틀이 넘게 마비되기도 하였다. 그리고 2016년 9월 이 할인 행사가 다시 한번 진행되면서 또다시 인디게임계는 폭발적인 반응을 보였다.
  • 중고판매로 중고나라 같은 곳에서 험블번들에서 구매한 키를 되팔이하는 모습이 보인다. 5천원에 구매한 것을 7만원에서부터 40만원까지 다양한 가격에 판매하고 있으니 게임메이커 번들을 놓친 사람은 꼭 사보도록 하자.
  • 구버전 게임메이커로 만들어진 게임들 중에 윈도우 8에서 호환이 잘 안 돼서 튕기는 경우가 종종 있다. 해결 방법은 여기로.
  • 게임메이커 스튜디오 무료 버전(스탠다드 버전)으로 만든 게임의 경우 V3 Lite가 예고 없이 차단할 수 있기 때문에 V3 Lite를 사용하는 사용자라면 환경설정 > Active Defense 설정에서 클라우드 자동 분석 사용을 해제해야 한다. V3 Lite 말고도 Avast등 다양한 백신이 실행을 차단하는 경우도 있으니 주의.
  • 게임메이커 스튜디오에서 기본 UI를 사용하면 X 버튼을 눌러도 종료가 안 되는 버그가 있는데 그런 경우에는 작업 관리자를 열어서 직접 프로세스에서 종료해야 한다.
  • Windows (YYC)로 컴파일하러면 비주얼 스튜디오를 설치해야 한다. 2010/2012 버전만 지원한다. 스튜디오 2에서는 2017/2015 버전도 지원한다. 당연하겠지만 비주얼 스튜디오 코드는 지원이 안 된다.
  • 게임메이커 스튜디오 2에서 컴파일 과정에서 무슨 이유인지 모르겠지만 가상 드라이브 3개가 생성된다. 이건 버그가 아니고 컴파일나 테스트 위해 가상 드라이브를 임시적으로 만든 것이다. 컴파일가 끝나거나 테스트가 끝나면 자동으로 없어지지만 만약 팅김 등 IDE가 비정상 종료 될 경우 계속 남겨진다. 이럴 경우 재부팅하면 된다. 현재 패치로 가상 드라이브를 숨겨진다고 한다. 여기서 3개 가상 드라이브는 각각 캐시, 임시, 런타임이다.

7. 유명작

CrazyGM에서 나온 약빤 게임이라는 컨셉의 콘테스트의 제출작이자 당시 콘테스트 컨셉다운 엄청난 병맛으로 인기를 끌고 당당히 우승을 차지한 작품이다.

8. 관련 웹사이트

다른 강좌를 하는 한국 블로그가 있으면 추가 바람.

위 사이트 중 GameMaker Community(GMC)는 공식 커뮤니티로서, 가장 규모가 크다. 언어의 장벽만 극복할 수 있다면 게임메이커에 관련하여 유용한 자료와 최신 정보를 얻을 수 있다. GMC는 검색 엔진 크롤링을 허용하고 있으므로 질문 작성은 몰라도 검색을 위해서 가입할 필요는 없다. 구글에다 적절하게 질문하면 답변을 뽑아다주므로 영어가 된다면 수년간 누적된 방대한 양의 Q&A 데이터를 활용해보도록 하자.

한국 커뮤니티도 꽤 활성화가 되어 있고 질문도 1~2일 내에 답변이 오는 편이다.


  1. [1] GMS1 구매자가 아닌 일반인도 40% 세일로 구매할 수 있다는 문제점이 있었다. 물론 환불되었지만...
  2. [2] 와인이라는 프로그램에서 실행할 수는 있다. 게임메이커 7, 8은 맥용으로도 포팅되었다.
  3. [3] 다만 8.1이 아닌 8.0을 쓴다. 8.1는 잡오류가 많아 안정성이 좋지 않기 때문.
  4. [4] 사실 쯔꾸르보다는 유니티나 플래시에 가깝다.
  5. [5] 추가로 Code X까지 필요하다
  6. [6] 간혹 Mac 컴퓨터가 없다면 가상 머신으로 Mac을 돌리면 된다. 다만 사양이 높아서 저사양 컴퓨터로는 가상 머신 이용이 어려우니 주의.
  7. [7] 구매할 수 없다고 했지 다운로드 할수 없다는게 아니다. GMS 1 라이선스를 가지고 있다면 계정 정보에서 GMS 1.4 버전을 다운로드할 수 있다.
  8. [8] GMS 컴파일 시 모든 개별 이미지를 한 장의 텍스처 파일에 몰아넣어두는 식인데, 이때 텍스처의 해상도보다 들어가야 할 이미지가 크게 되면 경고 메세지 찍어주고 냉큼 압축을 시켜버린다. 대표적으로 한글 글꼴을 넣는 경우 한글 글리프가 글자별 이미지로 따로 들어가는 식이 아니라 모든 글리프가 한 뭉터기로 처리되기 때문에 텍스처 해상도 확장 없이 완성형 문자를 싹 집어넣으면 폰트가 모조리 압축되어 찌그러지게 된다.
  9. [9] 2배 업스케일링하면 정확히 FHD가 된다. 정수 배 업스케일링이라 화면이 흐릿해지지 않는다.
  10. [10] 다만 이런 것도 만드는 굇수도 있긴 하다.
  11. [11] 과거에는 상당히 비싼 엔진이었다. 하지만 유니티 엔진이 무료화 전략을 취해서 개발자들을 다수 확보하자 이쪽도 4 버전을 기해 전면 무료화가 되었다.
  12. [12] 원래 이름이 유니티 3D였다. 즉 본격적인 3D를 위한 엔진이지만 2D 게임도 만들수 있게 되면서 이름이 변경된 것
  13. [13] 요요 게임즈가 2015년도에 Playtech사에 인수되었다고는 하지만, 아직까지 그렇게 큰 변화는 없는 듯.
  14. [14] 여기서 정품 인증 개념이 생긴버전은 5.
  15. [15] 2019년 6월 25일부로 CrazyGM과 PlayGM이 통합되었다.

최종 확인 버전:

cc by-nc-sa 2.0 kr

Contents from Namu Wiki

Contact - 미러 (Namu)는 나무 위키의 표가 깨지는게 안타까워 만들어진 사이트입니다. (156.95ms)