게임메이커/상세 기능

1 글로벌 변수

글로벌 변수란 어떤 변수를 하나의 오브젝트 안에서만 사용되도록 하는 것이 아니라 그 룸 전체에서 사용될 수 있도록 하는 것이다. 간단히 예를 들자면, 각각의 몬스터의 체력을 다르게 지정할 필요가 있는 게임에서는 그 몬스터의 체력을 일반 변수(로컬 변수)를 통해서 지정한다. 하지만, 플레이어의 돈이나 기타 게임 시스템과 관련된 변수들은 어떤 한 오브젝트에만 적용될 것이 아니라 룸 전체에 적용될 필요성이 있으므로 글로벌 변수를 사용해야 한다.

사용법은 간단한데, a란 이름의 글로벌 변수를 정의하고 싶다면 global.을 붙여서 global.a라고 정의하면 된다! 혹은 게임이 시작될 때 코드 어딘가에 globalvar (변수 이름);을 쓰면 굳이 일일이 global.을 붙이지 않고도 글로벌 변수로 쓸 수 있다.

2

게임에서 사용되는 룸의 크기가 너무 클 때, 우리는 게임을 플레이하는 데 어려움을 겪는다. 이때 필요한 것이 바로 라는 기능이다. 뷰는 한 오브젝트를 자동으로 추적하여 그 오브젝트를 중심으로 그 주위를 화면상에 보여준다.

이 기능은 다양한 방법으로 응용되곤 하는데, 대표적으로 2인용 게임이 있다. 한 화면에 여러 시점의 뷰를 보여줄 수 있으므로 박스 헤드와 같은 2인용 게임을 만들 때 매우 유용하다. 뷰를 설정할 때는 그 뷰를 지정할 룸을 클릭한 후, 뷰 활성화에 체크를 해주면 된다. 물론, 추적할 오브젝트도 같이 설정해야 한다. 하지만 이렇게 하면 이동할 때 UI가 뒤로 밀리는 현상이 생기므로 코드로 따로 추적하기도 한다.

3 디버그 모드

자신이 만든 게임을 테스트해보고 싶을 때 사용하는 기능. 디버그 모드 상에서는 변수, 게임 스피드 등을 매우 쉽게 확인하거나 조작할 수 있으므로 유용하다. 간단히 예를 들자면, 어떤 이벤트가 일어날 조건이 플레이어의 레벌이 100을 달성했을 때라고 생각해보자. 이때는 겨우 테스트 한 번 하자고 레벌을 100까지 올려볼 수는 없을 것이다. 따라서 디버그 모드를 사용한다.

사용 방법은 상단의 빨간색 화살표(F6)를 누르면 되고, 변수 등을 조작하고 싶다면 디버그 모드에서 뜨는 창에서 Tools - Execute Code를 사용한다.

게임메이커: 스튜디오에서는 디버그 창이 바뀌어 8.0보다 더 편리하게 디버깅을 할 수 있게 되었다. 단, 코드 실행이 막혀있기 때문에 인게임에 디버그 코드를 따로 짜거나 해야 한다.

4 스프라이트 제작

4.1 마스크

게임메이커에서 유용하게 사용되는 기능 중 하나가 바로 마스크이다. 이 기능을 통해 각각의 스프라이트의 충돌범위를 지정할 수 있다. 한마디로 판정박스. 기본적으로는 스프라이트 모양에 맞추어 자동으로 설정되나, 액션 게임 등에서 세세한 조작이 필요할 경우 Modify mask를 눌러 수정할 수 있다.

4.2 애니메이션

스프라이트를 애니메이션 형태로 만드는 기능이다. 사용법은 간단하게 Edit sprite를 클릭하여 여러 개의 스프라이트를 만들어주면 된다. 그렇게 되면 그 여러 개의 스프라이트가 연속적으로 이어지게 보이게 된다. 하지만, 자연스러운 형태의 애니메이션을 만드는 것은 매우 어렵기 때문에, 스프라이트 수정 창에서 Animation 탭을 사용하면 간단한 회전이나 확대, 축소 등을 편리하게 구현할 수 있다.