태그 보관물: 기획자

게임 디자이너가 되어봅시다

최근 어떠한 계기로 인하여 팀 내에서 게임 디자이너 지망생에게 게임 디자인 코칭을 해주고 있습니다. 혼자서 구현이 가능한 범위 내의 간단한 게임을 디자인을 하고, 이에 대한 피드백을 주고 받는 형태로 진행되는 이 코칭의 목표는 게임 디자이너가 되기 위해서 필요한 기본적인 기술들을 습득하는 것입니다-물론 지금 우리가 남들에게 이러 저러한 것을 가르칠 입장인가? 하는 것은 코칭이 끝나가는 지금까지도 의문이긴 합니다.

막연하게 ‘게임을 만들고 싶다’ 라고 생각하시는 분들이 생각보다 많다는 점을 알고 있습니다만, 이런 분들에게 도움이 될 수 있을까 싶어서 지금까지 진행했던 코칭의 진행에 대해서 간단하게 정리를 해보고자 합니다.

게임 디자인의 연습

용이랑 마법이 굉장히 귀엽지. 나도 좋아해.
용이랑 마법, 굉장히 귀엽지. 나도 좋아해.

‘게임을 제작하고 싶지만 나는 아무것도 몰라요’라는 것은 누구나가 게임을 처음 만들기 직전에 돌입하는 상황입니다. 저를 포함해서 대부분의 경우에는 관련 동아리나 인터넷의 게임 제작 카페 등의 커뮤니티에 가입해서 정보를 얻기도 하고, 조언을 구하기도 합니다. 요즘은 게임 제작과 관련한 각종 기술서적들이 많이 출간되어 있는 관계로 예전처럼 정보부족에 허덕이는 일은 잘 없긴 합니다만, 한 가지 문제라면 완전 초보가 접근하기에 적당한 규모의 책은 별로 없단 점이겠죠.

보통의 경우에는 이 시점에서 꿈은 장대하지만 아무것도 모르는 상황이기 때문에 더욱 더 막막하게 다가오는게 대부분인 듯 합니다. 용사와 용이 나오는 풀 3D 그래픽의 장대한 판타지 게임을 만들고 싶다고요? 누구나 처음 농구를 시작하면 슬램덩크 부터 꽃아넣고 싶은 마음이겠지만, 일단은 그건 먼 훗날의 일로 미뤄둡시다. 게임을 제작하고 싶으면 일단 풋내기 슛 2만번 부터 시작을 해 볼까요?

보드 게임 제작

규모가 작은 보드 게임 아이디어를 짜내는 일 부터 시작을 해 봅시다. 보드 게임이라고 해서 부르마블이나 모노폴리 같이 복잡도가 지나치게 높은 녀석들을 이야기 하는 것이 아닙니다. 로보77 이나 할리갈리 같은 카드 게임이나, 클루 같은 추리 게임들 정도로 규모를 제한합니다. 그럼 시작 해 볼까요?

게임 아이디어를 정리를 할 때 (아주 먼 옛날의 저를 포함해서) 대부분의 지망생들이 저지르기 쉬운 실수 중 하나는 이겁니다. 아이디어 제안서의 첫 문장은 거의 대부분 이런식으로 시작하는거죠. ‘먼 옛날 신이 세상을 창조하고 악마가 그 세상을 지배하기 시작했다…’ 미안하지만, 지금은 게임 디자인 코칭이지 게임 시나리오 코칭이 아닙니다. 첫 문장을 지우고 다시 씁니다.

아이디어 제안서의 첫 머리는 이렇게 집어넣습니다. 이 게임은 어떠한 내용의 게임이며, 어떠한 특징을 가지고 있는가? 그리고 어떠한 부분이 매력적이고 재미있는가? 좀 더 구체적으로 정리해 보자면 아래와 같은 것들이 있겠군요

  • 전체적인 게임 플레이의 진행 방식
  • 게임의 핵심 시스템, 메커니즘
  • 이 게임이 매력적인(재미있는) 이유: 위의 진행 방식에 근거한 구체적인 이유

위의 내용을 쓸 때의 주의 사항이라고 한다면 불분명하고 뜬구름잡는 단어나 문장을 사용하지 않아야 한다는 것입니다. 예를 들자면 이런 것이겠죠.

이 게임은 서로간의 병력 대결을 통하여 승리하는 것을 주 재미로 삼는다. – 실시간 전략게임 ‘별의 장인’

이 문장은 이렇게 쓸 수 있습니다.

이 게임의 핵심은 (1)자원의 획득, 운영을 통한 상대보다 전략 상의 우위를 점하고, (2) 또한 개별 전투에서 각 부대를 직접 조작하여 상대보다 더 나은 조작으로 전투 우위를 점하게 한다. 이를 통하여 상대에게서 최종 승리하는 것을 재미 요소로 삼는다.  – 실시간 전략게임 ‘별의 장인’

게임의 주요 특징(Main Feature)에 대해서 구체적으로 명시하라는 것은 앞으로 이 게임을 디자인 할 때의 ‘최종 목표’가 되기 때문입니다. 게임 규칙의 작성과 테스트, 수정 등의 이후 모든 개발 진행은 이 주요 특징을 기준으로 진행을 하게 됩니다.

게임 규칙의 작성

간단히 게임에 대한 소개를 마쳤으면, 좀 더 구체적인 게임 규칙을 정리해 봅니다. 일단은 보드 게임으로 한정을 했으니, 어떠한 사항을 정리해야 할까요?

  • 준비물
  • 플레이 가능한 적정 인원
  • 주요 게임 규칙
    • 준비
    • 시작 및 기본적으로 게임이 진행되는 순서
    • 게임의 종료 및 승패 판정
  • 주요 게임 규칙의 예외 규칙
    • 특수 규칙
    • 게임이 진행되지 않는 상황에 대한 처리(예외 처리)

게임 규칙을 작성 할 때 가장 중요한 것은 ‘이 규칙으로 게임이 성립되는가?’ 입니다. 이를 확인하는 가장 쉬운 방법은 직접 게임을 ‘머릿속에서 플레이’ 해 보는 것이겠죠. 아래의 체크리스트 중 어느 하나라도 해당하지 않는다면 일단 그 게임은 게임으로서 동작을 한다는 것입니다.

  • 게임의 진행이 정상적으로 순환하지 못한다
  • 플레이어의 어느 한 쪽만 절대적으로 유리한 규칙이다
  • 플레이어의 행동 선택권이 없다
  • 행동 선택권이 있다 하더라도 최선 전략이 존재하고, 다른 선택권은 무의미하다
  • 플레이어가 선택 할 수 있는 것은 무조건 운에 기대야 한다

의외로(숙련된 게임 디자이너의 경우에도) 새롭고 신선한 게임 시스템에 대한 아이디어가 떠올랐다 하더라도 위의 체크리스트를 한번에 통과하기는 어렵습니다. 필요한 것은 반복적인 검토와 테스트, 그리고 룰의 수정이겠죠.

검증 – 프로토타이핑

어느정도 구체적인 게임 규칙을 완성했다면-그리고 기본적으로 게임으로써 동작을 하기 시작한다면 ‘재미’에 대해서 검증을 해 보도록 합시다. 이 시점에서 필요한 것은 (게임에 따라서 다르겠지만) 연필과 종이, 그리고 주사위나 카드 등이 있겠군요.

게임에 필요한 준비물을 제작하고 바로 게임을 플레이 해 봅시다. 친구들, 혹은 형제자매 등 주변 사람들에게 도움을 요청 할 시기입니다. 이때를 빌어서 짝사랑하는 상대에게 고백을 해 보는 것도 좋을 듯 합니다(내가 만든 이 게임을 네가 플레이 해 줬으면 좋겠어). 물론 뒤에 있을 후폭풍은 책임지지 못합니다.

당신의 게임을 해본 후 상대가 당신에게 느끼는 기분
당신의 게임을 해본 후 상대가 당신에게 느끼는 기분

자, 자신이 만든 게임을 지인들과 함께 즐겁게 플레이 하고 있을 여러분들의 모습이 떠오릅니까? 게임을 플레이 하면서 넋놓고 있으면 안됩니다. 여러분들은 지인들이 희희낙낙하는 표정을 보고 있으면 안되고, 자신의 게임이 어떻게 돌아가고 있는지에 대해서 면밀하게 관찰해야 합니다.

이 단계에서 주로 일어나는 일은 아래와 같습니다.

  • 게임 디자이너가 의도하지 못한 게임 플레이의 헛점, 어뷰저 발생
  • 게임이 진행 안 됨
  • 밸런스가 맞지 않음
  • 목표로 한 ‘주요 특징’이 게임에 나타나지 않음
  • 재미 없음(!)

대부분의 경우 문제가 발생을 합니다. 문제에 대한 원인을 찾고 프로토타입을 수정을 합시다. 이 때 플레이와 수정과 관련한 기록을 구체적으로 남기는 것은 대단히 중요합니다(메모는 기본이고, 플레이 장면을 사진이나 비디오로 촬영을 하는 것이 좋습니다).

이 과정에서의 최우선 목표는 게임 디자이너가 위에서 목표로 한 ‘주요 특징’을 최대한 살려내는 것 입니다. 목표가 흔들리면, 현재 게임과 전혀 관계없는 해결책을 넣는다던가, 얄팍하게 게임 시스템을 하나 더 추가해서 현 상황을 타계하려 하는 수작을 부리게 됩니다.

마무리

여기까지(그러니깐 프로토타이핑과 반복 테스트와 수정, 그리고 확정) 성공적으로 마무리 했다면 여러분은 훌륭하게 게임 하나를 디자인하고 심지어 개발을 완료(!)한 상황이 됩니다- 물론 프로토타입을 상품으로 폴리싱(Polishing) 하는 일이 남았겠습니다만.

하지만 보통의 경우에는 프로토타이핑까지 어찌어찌 넘어가더라도 테스트 도중 험한 파도를 만나 프로토타입이 폐기되는 경우가 허다합니다(프로도 마찬가지). 이건 드문일이 아니고, 또한 당연한 일이니 좌절하면 곤란합니다.

물론 이 과정을 훌륭하게 마무리하더라도 이제 여러분은 게임 디자이너로써 풋내기 슛을 익혔을 뿐입니다. 더 많은 부분들을 익히는 것에 노력을 게을리 하지 마시길 바랍니다(사실 저도 아직 풋내기일 뿐). 그럼 여러분들. 모두모두 파이팅!

프로그래머를 위한 프로토타입 용 그래픽 리소스 얻기

(주: 글의 내용은 개인적인 의견임을 알아 둡시다)

프로토타이핑

프로토타이핑은 게임의 재미를 검증하고, 나아가서는 구현된 결과물을 수정하여 아이디어를 확장하게 해준다. 좋은 프로토타입을 만드는 데 가장 중요한 부분은 플레이 가능한 게임을 빠르게 구현하는 것이다. 프로토타입을 통하여 게임 디자인 기획서의 목적과 한계를 확인한 후 본 게임을 깔끔하게 다시 만드는 것이 보통이다.

게임의 최종 목적이 귀여운 캐릭터와 아기자기한 그래픽을 통한 승부가 아니라면, 선과 원 그리고 사각형만 가지고도 게임이 재미있어야 한다. 기본 시스템과 동작이 재미있고 여기에그래픽이 추가 된다면 금상첨화가 될 테니까. 하지만 세상은 그리 호락호락 하지 않다. 그래픽이 붙지 않은 상태의 자연 상태의 게임은 목적과는 전혀 다른 게임이 되어버린다. 텍스트만을 이용해서는 복잡한 게임은 만들 수 도 없을 뿐만 아니라, 만들었다고 해도 마치 선사시대 게이머들이나 좋아 할 만 한 넷 핵류 게임처럼 보이게 된다. 이 복잡해 보이는 물건을 ‘절대로 아무도 읽지 않을 설명서’를 줄창 써서 프로토타입 테스터들에게 보내면 이런 메일을 받게 된다.

  • “어떻게 하는지 모르겠어요.”
  • “내가 해야 할 일이 무엇인가요?”
  • “동그란 원과 사각형 혹은 저기 보이는 파란 사각형 중 어느게 저인가요?”
  • “왜 제가 빨간 사각형을 피해야 합니까?”

내가 틀렸다. 지난 8개월 간의 경험과 무지막지한 피드백들을 통해 프로토타입에는 최소한의 그래픽이 필요하다는 결과를 도출 할 수 밖에 없었다.

요즘 이런거 테스터들도 잘 안한...

 

적절한 그래픽 리소스

그럼 프로토타입에는 어느 정도의 그래픽 리소스가 필요할까? 개인적으로는 나름 이하와 같은 가이드 라인을 만들었다.

원칙 1) 에니메이션은 작업에 포함시키지 않는다

프로토타입에 쓰이는 리소스는 실제 버전에서는 무조건 버리게 된다. 애니메이션 같이 품이 많이 들고 낭비인 지점에 신경쓰지 말자. 물론 별도의 동작(공격 등)을 해야한다면 공격 시에 사용할 그림 한장 정도면 된다.

원칙 2) 타입이나 종류 등은 구분이 되어야 한다.

리소스를 아낀다고 다른 종류의 유닛을 하나의 이미지로 처리하지 않는다. 최소한 색이라도 바꿔서 쓰도록 하자. 게임 디자인 상 들어가야 할 필수 요소들은 빼 먹지 않고 그래픽 리소스를 채워 넣는다. 여기서도 꾸미기 요소(이펙트, 배경 등)는 제외한다.

너구리 게임을 예로 들자면 먹어야 할 아이템, 장애물, 사다리 등 게임의 요소로서 영향을 끼치는 것에 대한 구분 용도로 꼭 그래픽 리소스를 넣어야 한다.

그래픽 리소스 +1을 획득하였습니다

그럼 그래픽 리소스는 어떻게 얻어낼까? 본인 스스로 아트 디자인이나 그래픽 리소스 제작 스킬이 있다면 직접 그려도 된다(하지만 나는 당신이 아트 디자인에 관련한 소양이 없기 때문에 프로그래머 혹은 기획자가 되었다는 걸 알고 있다). 또는 주변의 그래픽 디자이너에게 밥을 한끼 사주고 시키거나, 무력으로 그림 잘 그리는 동생을 진압하여 노예처럼 쓰는 방법도 있다(실제 90년대의 국내 아마추어 게임계에서 많이 쓰였던 착취 방식이기도 하다). 하지만 프로토타이핑을 하며 필요한 사소한 리소스 들이 계속 추가 될때 마다, 시도때도 없이 남에게 구두로 리소스를 요청하기는 쉽지않다.

대다수의 훌륭한 어른들은 아무것도 하지 않고 이루려고 한다(혹은 아주 약간의 노력으로 무언가를 이루려고 하기도…). 여기서는 그러한 방법들을 아래서 소개하고자 한다.

우선 프로그래머의 친구 Google에서 Game Sprite로 검색 할 경우 다음의 결과가 나온다.

짜잔!

위와 같이 많은 리소스 들이 존재한다. 이것을 가져다 쓰도록 하자. 검색 결과 상위에 랭크되어 있는 다음의 사이트들에서도 많은 구작 게임들의 스프라이트를 얻을 수 있다.

과거(네오지오Neogeo를 기점으로 이전) 콘솔 게임기들은 하드웨어의 제약으로 인해 비디오 램과 그것을 찍는 방식이 지정되어 있었다. 현재와 같은 일반적인 3D가속 방식을 사용하지 않기 때문에 특정 비디오 램에 이미지를 넣고, 해당 이미지를 특정 레이어로 지정을 하면 찍어주는 그런 블라블라한 방식인 것으로 알고 있는데… 더 이상 자세한 설명은 생략한다(필요 할 경우 직접 검색을 해 보시라). 중요한 것은 레이어 방식 인데, 해당 레이어를 통해서 우선순위가 지정되기 때문에, 비슷한 유형의 특정 스프라이트들은 같은 레이어에 몰아서 넣게 된다(2D 대전 액션의 경우 배경→ 배경 사람 → 뒷 이펙트 → 케릭터 → 앞 이펙트 식). 요즘의 게임 에뮬레이터들은 특정 레이어를 켜거나 끌 수 있는 기능을 제공하고 있는데, 해당 기능을 사용하여 특정 이미지만 깔끔하게 볼 수 있다.

이러한 에뮬레이터의 상태 기능이나 연속 스크린샷 기능, 메크로 기능 등을 적절히 이용하면 원하는 동작이 나오도록 할 수 있을 것이고 그 결과물을 사용하자(물론 바퀴를 다시 발명하는 과오를 범하지 않기 위해 위의 사이트들 에서 누군가 미리 작업해 놓은 것이 있는지 확인하는 것은 필수).

또한 각종 게임 관련 사이트에서 아이템 류의 아이콘 이미지 등을 추출 할 수 있다. 게임 관련 사이트 들에서 공략 등을 이유로 스킬 아이콘이나 아이템 아이콘 등을 표기해 주는 경우가 많은데 이 데이터들을 차용하는 것도 한 방법이다. 브라우저에서 표기되는 모든 이미지 데이터는 하드에 임시로 저장된다. 임시 폴더를 직접 확인하거나 구글 크롬 이용자의 경우 개발자 도구를 사용하면 쉽게 이미지를 얻어올 수 있다.

아무리 찾아도 내 게임은 워낙 독특해서 적절한 이미지를 찾기 어렵다면 직접 그리는 방법이있다. 가마수트라에 게시되어 있는 개발자를 위한 2D 게임 아트란 글을 참조 한다.

마지막으로 주의사항 한 가지. 직접 제작한 것이 아닌 ‘따온’ 데이터는 정식 게임에 포함되지않도록 해야 한다. 여기 나온 팁들은 어디까지나 내부 용도의 테스트에만 사용되어야 하며, 용도를 벗어나게 될 경우 저작권 송사에 휘말릴 수 있다. 개인적으로, 몇 년 전 서비스했던 온라인 게임의 최초 개발 시 테스트용으로 집어넣은 상용 게임의 사운드 파일이 있었는데, 게임의 분위기와 잘 어울린다 생각하고 신경을 못쓰고 있다가 그대로 클로즈 베타 릴리즈를 한 적 이 있었다(물론 파악한 뒤에 바로 삭제하였다). 한 가지 팁을 주자면, 개발용 리소스를 디렉토리를 별도로 두고(root/dev/ 식으로) 실제 사용될 그래픽 리소스가 올라올 때는 실제 사용될 디렉토리에 넣는 식으로 하나씩 옮기면 실수를 하지 않을 것이다.