(+)분류 : 가져온 문서/오메가
Game Maker, GM, 겜메
마크 오버마스(Mark Overmars)가 델파이 언어로 개발한 게임 프로그래밍 툴이다. 현재 요요 게임즈(YoYo Games)가 개발을 하고 있으며 최신 버전은 게임메이커 스튜디오(GM:S) 2이다.
목차
1. 역사
2. 시스템 요구사항
2.1. 게임 메이커 8.x
2.2. 게임 메이커 스튜디오
3. 스크립트 언어
3.1. 예
3.1.1. 변수 선언
3.1.2. 기본 내장 함수 이용
4. 리소스
4.1. 보이는 리소스
4.1.1. 스프라이트
4.1.2. 사운드
4.1.3. 백그라운드
4.1.4. 폰트
4.1.5. 오브젝트
4.1.6. 룸
4.2. 보이지 않는 리소스
4.2.1. 패스
4.2.2. 스크립트
4.2.3. 타임라인
5. 컴파일
5.1. 윈도
5.2. html
5.3. 안드로이드
6. 외부
7. 영상
1. 역사
2. 시스템 요구사항
2.1. 게임 메이커 8.x
2.2. 게임 메이커 스튜디오
3. 스크립트 언어
3.1. 예
3.1.1. 변수 선언
3.1.2. 기본 내장 함수 이용
4. 리소스
4.1. 보이는 리소스
4.1.1. 스프라이트
4.1.2. 사운드
4.1.3. 백그라운드
4.1.4. 폰트
4.1.5. 오브젝트
4.1.6. 룸
4.2. 보이지 않는 리소스
4.2.1. 패스
4.2.2. 스크립트
4.2.3. 타임라인
5. 컴파일
5.1. 윈도
5.2. html
5.3. 안드로이드
6. 외부
7. 영상
1. 역사 ✎ ⊖
원래는 게임을 제작하기 위한 용도가 아닌 대학 강의를 위한 프로그램이었지만 이 프로그램을 기본으로 게임 메이커를 개발하였다.
2. 시스템 요구사항 ✎ ⊖
2.1. 게임 메이커 8.x ✎ ⊖
- 윈도 2000~, 맥 OS X 10.5~
- DirectX 8~
- 128MB~ RAM
- 32MB~ VGA
- 800x600 이상의 해상도 등이 있다.
2.2. 게임 메이커 스튜디오 ✎ ⊖
게임 메이커 8.x 버전보다 요구하는 것이 더 많다.
- 윈도 XP~
- 512MB~ RAM
- 128MB~ VGA
- 1024×600 이상의 해상도
3. 스크립트 언어 ✎ ⊖
3.1. 예 ✎ ⊖
3.1.1. 변수 선언 ✎ ⊖
Create Event에 코드를 써넣는다.
(변수 이름) = 0(또는 다른 값);
0 은 false
1 은 true
(변수 이름) = 0(또는 다른 값);
0 은 false
1 은 true
3.1.2. 기본 내장 함수 이용 ✎ ⊖
기본 내장 함수는 스튜디오의 경우 Run-Show Built-In Function을 누르면 모든 내장 함수가 들어있는 창이 뜬다. 이 함수들은 다른 프로그래밍 언어와 같은 방법으로 사용하면 된다.
d3d_start();
d3d_start();
4. 리소스 ✎ ⊖
4.1. 보이는 리소스 ✎ ⊖
보이(거나 들리)는 리소스로는 다음의 6가지가 있다.
4.1.1. 스프라이트 ✎ ⊖
스프라이트는 게임에 쓰이는 이미지로써, 배경이나 타일을 제외한 모든 이미지는 스프라이트로 제작한다. 이 스프라이트는 룸에 넣을 수 는 없지만, 오브젝트를 생성하여 룸에 보이게 할 수는 있다.
4.1.2. 사운드 ✎ ⊖
말 그대로 소리다. 게임 메이커에서는 WAV, MP3, MID 등을 지원하며, OGG 파일로 변환도 가능하다.(1)
4.1.3. 백그라운드 ✎ ⊖
배경이나 타일을 만들 때 쓴다. 스프라이트와는 달리 직접 룸에 배치할 수 있다.
4.1.4. 폰트 ✎ ⊖
표시되는 변수나 텍스트의 글씨체를 지정할 수 있다.
4.1.5. 오브젝트 ✎ ⊖
룸에 배치할 수 있는 물체로 스크립트(GML)를 입력하여 원하는 대로 만들 수 있다.
4.1.6. 룸 ✎ ⊖
표시되는 화면이라고 생각하면 된다. 이 룸 안에 거의 모든 리소스를 집어넣는다.
4.2. 보이지 않는 리소스 ✎ ⊖
보이지 않는 리소스로는 다음의 3가지가 있다.
4.2.1. 패스 ✎ ⊖
경로이다. 이 패스로 오브젝트를 움직일 수 있다.
4.2.2. 스크립트 ✎ ⊖
일종의 함수를 말한다고 보면 된다. 오브젝트에서 작성하는 스크립트와는 다른것이, 이 스크립트 파일 이름으로 함수를 만들 수 있다. 예를 들어 스크립트 alert_sum_3의 내용이
show_message(argument0 + argument1 + argument2);
이고, 룸에 배치해둔 obj_sum의 내용이
<Create Event>
alert_sum_3(1,2,0);
이라면 '3' 메세지를 띄운다.
여기서 argument는 인자라는 뜻인데 function(arg0, arg1, arg2, ... arg15);처럼 인자는 총 16개를 쓸 수 있다. 하지만 인자를 16개씩이나 쓰게 되면 속도가 많이 느려지니 쓰지 않는 것이 좋다.
show_message(argument0 + argument1 + argument2);
이고, 룸에 배치해둔 obj_sum의 내용이
<Create Event>
alert_sum_3(1,2,0);
이라면 '3' 메세지를 띄운다.
여기서 argument는 인자라는 뜻인데 function(arg0, arg1, arg2, ... arg15);처럼 인자는 총 16개를 쓸 수 있다. 하지만 인자를 16개씩이나 쓰게 되면 속도가 많이 느려지니 쓰지 않는 것이 좋다.
4.2.3. 타임라인 ✎ ⊖
타임라인은 시간에 따라 오브젝트가 어떻게 변하는 지를 설정해 두는 리소스이다. 기본 시간 단위는 스텝이다.
5. 컴파일 ✎ ⊖
컴파일을 하는 법은 매우 쉽다. 다른 언어에서도 컴파일은 버튼 하나만 누르면 된다. 하지만 게임 메이커는 플랫폼을 선택할 수 있기 때문에 조금 까다롭긴 하다.
5.1. 윈도 ✎ ⊖
게임메이커 스튜디오 기준으로, 윈도 버전으로 컴파일을 하려면 Target을 Windows로 맞춰놓고 초록색 화살표(#00ff00▶)를 누르면 된다.
5.2. html ✎ ⊖
HTML 버전의 포팅은 윈도와 같다. 단 Target을 HTML5로만 하면 된다.
5.3. 안드로이드 ✎ ⊖
안드로이드 버전으로 컴파일을 하려면 먼저 SDK, JDK 형제가 설치되어 있어야 한다. 설치를 했으면 File-Preference-Android 탭으로 가서 빈 칸을 남기지 않고 다음과 같이 적고 OK를 눌러 빠져 나온 후, Target을 Android로 맞춰놓고 화살표를 누르면 된다.
단 안드로이드 앱은 데스크탑이나 노트북 상에서는 플레이가 불가능하여 이때는 내보내기를 해 주어야 한다. 상단의 아이콘 중 네번째의 것을 클릭하면 탐색 창이 뜨는데 경로를 지정하면 자동으로 컴파일되어 내보내지게 된다. 이때는 시간이 1~2분 정도 소요된다.
단 안드로이드 앱은 데스크탑이나 노트북 상에서는 플레이가 불가능하여 이때는 내보내기를 해 주어야 한다. 상단의 아이콘 중 네번째의 것을 클릭하면 탐색 창이 뜨는데 경로를 지정하면 자동으로 컴파일되어 내보내지게 된다. 이때는 시간이 1~2분 정도 소요된다.
6. 외부 ✎ ⊖
7. 영상 ✎ ⊖
이 문서의 내용 중 전체 또는 일부는 오메가에서 가져왔으며 CC BY-NC-SA 3.0에 따라 이용할 수 있습니다.
(1) 불러온 사운드 파일을 OGG 파일로 변환하여 저장할 수 있다.