d라이브러리









[게임카페] 피하고 맞추고 탑다운 슈터 피하고 맞추고 上


게임카페를 새 단장했어요. 1년에 2번만 게임을 만드는 게 아쉬워 2달에 1번꼴로 새로운 게임을 만들어 보려고요. 첫 번째 게임은 장애물과 적이 쏘는 레이저를 요리조리 피하면서 적을 무찌르는 탑다운 슈터예요. 따뜻한 코코아 한 잔을 옆에 두고 어떤 원리로 게임이 만들어지는지 차근차근 살펴보자고요.

컴퓨터 발전과 함께한 슈팅 게임의 역사
플레이어 캐릭터가 적이 쏜 총알이나 포탄, 레이저를 피하면서 적을 공격하는 게임을 ‘슈팅 게임’이라고 합니다. 줄여서 ‘슈터’라고 부르기도 하지요. 여기에 탑다운이 붙으면 슈팅 게임의 화면이 위에서 아래로 흐른다는 뜻이에요. 배경 화면이 가로로 흐르면서 캐릭터가 이동하는 게임도 있는데, 이는 ‘사이드 스크롤링 게임’이라고 해요. 플레이어가 게임 화면을 보는 시점을 기준으로 슈팅 게임을 구분하기도 하는데, 특히 1인칭 시점으로 진행하는 게임을 ‘일인칭 슈팅 게임(FPS)’이라고 하지요.

슈팅 게임의 역사는 컴퓨터의 발전과 함께 하는데요. 빼놓을 수 없는 컴퓨터가 1959년 미국의 컴퓨터 회사 디지털 이큅먼트 코퍼레이션(이하 DEC)에서 개발한 ‘PDP-1’입니다. PDP-1은 모니터가 달린 컴퓨터입니다. 당시 대부분의 컴퓨터는 모니터가 없었지요. 또, 주요 회로를 진공관에서 트랜지스터와 다이오드로 바꿔 크기를 대폭 줄였습니다. 큰 사무실 한 칸을 다 차지할 정도로 덩치가 크지만, 당시 기준에서 보면 매우 작은 컴퓨터라 미니 컴퓨터 발전과 함께한 슈팅 게임의 역사컴퓨터라고 불리기도 했습니다.

1961년, DEC는 미국 매사추세츠공과대학교에 PDP-1을 연구용으로 기증합니다. 당시 공대생이었던 스티브 러셀은 연구원들과 함께 디스플레이 스크린(모니터)의 성능을 보여줄 수 있는 프로그램을 제작합니다. 이것이 바로 슈팅 게임 ‘스페이스워!’지요.

스페이스워!는 비행기가 모든 걸 빨아들이는 블랙홀에 빨려 들어가지 않도록 요리조리 피하면서 적을 쏘아 맞추면 이기는 게임이에요. 이후 ‘스페이스 인베이더’와 ‘갤러그’ 같은 게임에 영향을 줍니다. 스페이스워!에 영향을 받은 슈팅 게임은 1980년대 에 전성기를 맞습니다.

슈팅 게임은 역사가 오래된 만큼 다양해서 새로운 게임을 디자인하기가 매우 어렵습니다. 그럼에도 불구하고 꾸준히 새로운 슈팅 게임이 나오는 걸 보면 확실히 매력 있는 장르가 분명합니다.

 



 
탑다운 슈터 만들기
게임을 만들고 싶어도 어디서부터 어떻게 해야 할지 몰라 시작조차 못하는 경우가 있어요. 게임 제작 과정을 잘 알지 못하기 때문인데요. 이번 기회에 제대로 게임을 만들어 봅시다. 게임 제작 과정은 게임 모양새 도출, 게임 로직 정의, 게임 레벨 디자인, 게임 프로그래밍, 게임 테스팅으로 이뤄집니다.

이번 호에서는 탑다운 슈터의 게임 모양새를 도출하고 게임 로직을 정의할 겁니다. 이를 바탕으로 2월호에서는 실제 게임을 만들어볼 예정입니다.
시작은 모양새부터!
먼저 탑다운 슈터를 구성하는 데 무엇이 필요한지 생각해 봅니다. 그리고 제작하려는 게임의 모양새를 그려봅시다.

예를 들어 ‘플레이어가 자신의 비행기를 조종하면서 적 비행기의 공격을 피하는 게임’을 만들고 싶다면 이 모양새로부터 ‘어디서 동작할까’, ‘게임 조작은 어떻게 할까?’ 등 게임의 모양새를 구체적으로 잡기 위한 질문을 할 수 있습니다.

이 질문으로부터 ‘스마트폰 화면 터치를 통해 비행기를 조종해 레이저를 쏘아 적 비행기를 격추하고, 적 비행기 또는 레이저를 피하는 게임’과 같은 세부 내용을 정합니다. 이를 바탕으로 화면 구성과 전개 방식에 따른 모양새를 상상해 구체화합니다. 이렇게 모호한 부분을 구체화하는 과정을 통해 게임의 모양새를 정해 나갑니다.
게임의 모양새를 만드는 과정은 이처럼 게임에 필요한 내용을 점점 더 구체적으로 세분화하는 작업입니다. 이 과정을 문장으로 정리하는 것보다는 ‘마인드맵’으로 아이디어를 도식화하는 게 체계적이고 보기 좋습니다.
탑다운 슈터의 핵심 게임 요소가 어떤 역할을 할지, 어떤 모양인지도 정해야겠지요. 게임 요소란 게임을 구성하는 최소한의 역할 수행 단위 개체를 말합니다. 탑다운 슈터에서는 플레이어 캐릭터와 적 캐릭터, 배경, 장애물, 적 발사체, 플레이어 발사체입니다.
상태전이도로 보는 탑다운 슈터의 로직
이제 게임 요소가 서로 어떤 관계를 맺고 어떻게 동작하는지 정해야겠지요. 우선 플레이어 캐릭터부터 생각해 봅시다.

플레이어 비행기는 화면 하단의 가운데에 놓입니다. 이 비행기는 플레이어가 조작하지 않아도 자동으로 레이저를 발사합니다. 플레이어가 화면의 오른쪽을 터치하면 오른쪽으로 이동하고, 왼쪽을 터치하면 왼쪽으로 이동합니다. 이 비행기가 적 비행기나 적이 쏜 레이저, 장애물인 운석과 충돌하면 게임이 끝납니다.

이렇게 비행기의 상태를 몇 가지로 나눠 정의하고 상태와 상태 간의 이동 조건을 주면 게임 요소의 동작 방식을 보다 체계적으로 도식화할 수 있습니다. 이렇게 도식화한 것을 ‘상태전이도’라고 부르지요. 이제 플레이어 캐릭터와 적 캐릭터, 게임 타이틀 화면과 게임 플레이어 화면 사이의 상태전이도를 나타내 봅시다.

게임은 게임 요소의 상태전이도가 컴퓨터 기기 또는 스마트폰에서 동작하는 논리 회로입니다. 따라서 게임 상태전이도가 정의되면 그 내용을 토대로 게임 엔진에서 제공하는 언어로 프로그래밍해 게임을 완성할 수 있습니다.

이번 호에서는 게임의 동작 방식을 이해하고 탑다운 슈터 게임을 디자인하는 방법론을 배웠습니다. 2월호에서는 이번에 정의한 게임 요소와 게임 요소별 상태전이도를 토대로 스마트폰에서 동작하는 게임을 만들어 보겠습니다.

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

2017년 01호 수학동아 정보

  • 진행

    조가현 기자
  • 기타

    [글·사진] 오규환 교수

🎓️ 진로 추천

  • 게임공학
  • 컴퓨터공학
  • 소프트웨어공학
이 기사를 읽은 분이 본
다른 인기기사는?