이 글은 글쓴이의 개인적인 의견이 들어가 있으며,
경기게임마이스터고등학교 기획 수업을 바탕으로 얻은 지식을 정리하는 글입니다.
게임 기획자는 프로그래밍을 할 줄 알아야 할까?
게임 기획자는 게임 개발자 중 게임의 기획과 설계를 담당하는 직군이다. 대부분 다양한 형태의 문서로 구현하고자 하는 내용을 프로그래머나 디자이너(그래픽)에게 전달하는 역할을 떠오를 것이다. 나도 이에 공감하며 이와 같이 생각한다.
그렇다면 기획자는 문서를 잘다루고 재미 있는 게임 아이디어를 잘표현만 하면 되는 것인가? 이 또한 맞는 말이라 본다. 그렇다면 기획자에게 프로그래밍은 필요 없는가? 이는 절대 아니다. 우리가 게임 개발을 할 때 사용하는 언어들을 떠올려보자. JAVA, C++, C#, Phyton 이들의 공통점은 바로 객체 지향 프로그래밍 언어라는 것이다. 이름에서 알 수 있듯이 오늘의 우리는 객체 지향 방식으로 게임 개발을 하고 있다.
앞에서 기획자는 문서를 잘다루고 재미 있는 게임 아이디어를 잘표현만 하면 된다고 했다. 핵심은 표현이다. 객체 지향 방식으로 게임 개발을 하는 오늘, 이러한 객체들이 모여서 게임이 완성 된다. 이와 같은 객체를 설계하여 표현하는 것이 기획자라면 코딩을 통해 직접적인 구현을 하는 것이 프로그래머다. 따라서, 두 직군 모두 프로그래밍에 대한 이해가 필요하다. 그렇다면 이러한 객체 지향 방식으로 게임을 설계 하는 기획자에 대하여 알아보자.
시스템 기획자
게임 기획자는 크게 2가지 분야로 나눌 수 있다. 물론 그 외에도 여러 기획 직군이 있지만 크게 이 두 부류로 본다.
시스템 기획자는 기능, 시스템, 객체를 설계하는 역할이다. 따라서 시스템 기획이 게임의 개발과 기획을 효율적이게 하고 제작이 용이하게 하는 것이다. 예를 들어보자.
나는 신발 공장을 운영하고 있다. 아디다스에서 신발 의뢰가 들어 왔다. 이를 위해 나는 가장 기본적인 것부터 준비해야한다. 설비(기계)들부터 준비하자. 이 설비들만 제대로 준비 됐다면 다음 의뢰가 나이키에서 오든 구찌에서 오든 기존에 기능을 구현해둔 객체인 설비들을 이용하여 효율적으로 신발 제작이 용이해진다.
이제, 신발을 퀘스트로, 설비를 퀘스트 시스템으로, 의뢰처들을 이벤트로 생각해보자.
주의
기획서 내에 변수를 임의로 선언하여 기획을 이어나가는 것은 아주 좋은 습관이다. 하지만, 함수를 명시하는 것은 어쩌면 프로그래머들을 그저 로봇처럼 부려먹겠다는 기만적인 행위 일 수도 있고, 주워진 기능을 자신의 역량대로 구현하는 것이 프로그래머의 역할이며, 함수는 프로그래머의 전문인 코딩의 영역이자 그들의 판단 영역이다. 따라서, 문서에 함수를 명시하는 것은 좋지 않은 습관이다.
객체 설계 방식
내가 만들고 싶은 물건을 이루는 객체다. 내가 만들고 싶은 물건을 뭘까?
1번째 객체: 몸체
물건: 음.. 뭐지?
2번째 객체: 뚜껑
물건: 통? 물병?
3번째 객체: 잉크
물건: 잉크통? 볼펜?
4번째 객체: 심지
물건: 아! 마커
정답!
정답이 마커인 것을 알고 다시 한번 객체들을 살펴보자. 모두 납득이 갈 것이다. 심지어 정답인 마커 또한 객체이다. 이 와 같이 기획(객체를 설계)을 할 때는 큰 객체부터 생각하며 그를 이루는 작은 것들을 생각해야 하며, 그렇지 않으면 기반이 흩어진다.
예) 마커(객체)의 구성 요소 -> 심지, 잉크, 몸통, 뚜껑...(객체)의 구성 요소 -> .....
그럼 가장 밑단에 있는 것은 무엇일까? 이 밑단에 있는 것들이 게임을 이루는 요소이기에 가장 중요하다. 그 밑단을 이룬 객체들, 게임을 구성하는 가장 기본적인 객체들은 바로 데이터와 리소스이다.
외국에 가면 외국어를 사용해야 말이 통한다. 컴퓨터도 컴퓨터랑 대화(리소스를 표시)하기 위해서는 데이터화가 필수며, 게임을 이루는 가장 기본적인 객체인 데이터가 그만큼 중요하다. 따라서,
게임을 이루는 객체들을 큰 것부터 작은 것까지, 데이터들을 설계하는 것이 바로 시스템 기획자다.
'게임 기획 이야기' 카테고리의 다른 글
프로젝트를 관리 해보자 (1) | 2023.04.04 |
---|---|
MDA Framework (0) | 2023.03.06 |
게임 기획서를 써 보자 (0) | 2023.01.11 |
게임을 이루는데 필요한 객체들 (0) | 2023.01.10 |