처음 강의에 임할 때는 ‘이번 기회에 게임을 만들어봐야지!’ 라는 마음가짐 보다는 ‘유니티의 다양한 기능들을 잘 활용할 수 있는 수준으로 열심히 배워야지!’ 라는 마음가짐이었습니다. 그런데 강의 둘째주였나? 강사님이 각자 게임 기획을 만들어 공유해 보자고 하셔서, 게임을 만들지 않을 수 없게 되었습니다. (사실 저는 게임을 즐기는 편이 아니어서… 대체 어떤 게임을 만들어야 하나… 고민이 컸습니다.) 저도 종종 후배들에게 MATLAB 강의를 해 주곤 하는데, 그럴 때마다 제가 강조하는 것이 ‘숙제’ 였어요. 숙제는 해야하는 사람의 입장에서는 어렵고 하기 싫은 것? 인 경우가 많지만, 내주는 사람의 입장에서는 숙제를 통해서 실력이 늘 수 있음을 확신하기 때문에 숙제를 내주는 거예요. 그래서 유니티를 제대로 배우려면 강사님이 제안해 주시는 개임 제안서 작성부터 개임 개발 개인 프로젝트도 열심히 하기로 결심했답니다.
<나홀로 완성하는 유니티 3D액션 게임> 교재를 통해서 유니티 엔진의 여러가지 특징들을 배울 수가 있었습니다. 캔버스에 UI 게임 오브젝트를 만들어 놓고 닻을 내려서 다양한 종류의 모바일 화면에서도 개발자가 지정한 위치에 UI 오브젝트가 보여지게 설정할 수 있는 것도 신기했습니다. 특히, 유니티의 가장 큰 장점이 ‘질랑’이 있는 강체(rigid body)를 쉽게 다룰 수 있도록 물리엔진이 내장되어 있다는 거예요. 게임 오브젝트를 하나 만들어 놓고, ‘gravity’ 옵션만 체크해주면, 중력에 따라 자동으로 땅으로 떨어지니 얼마나 훌륭해요? 다른 개발 툴이었다면, 이런 부분들까지 모두 직접 구현해야 했을 텐데 말이죠.
패스트캠퍼트 유니티1기 수업에서 제가 만든 게임은 ‘체노바’ 라는 게임입니다. 게임의 규칙이 체스와 닮았지만 체스와 동일하지는 않고, 게임에서 공격 기능이 있지만, 보통 액션 게임에서의 공격과도 조금 다른 측면이 있습니다. 그래서 게임 이름을 Chess nor battle (Chenoba, 체노바) 라고 지었어요.
(Google Play Store Link: https://play.google.com/store/apps/details?id=com.milkywaymind.chenoba)
체노바는 패이스북 로그인을 통해서 게임 로비화면으로 이동할 수 있습니다. 로비화면에서는 적군의 인공지능 레벨을 선택하고, 게임 보드의 크기를 결정하게 됩니다. 지난 10주동안에는 시간이 부족해서 추가하지 못했지만, 이후에 업데이트에서는 게임 보드 중간 중간에 장애물도 넣고, 아이템 전?에 대한 내용도 추가할 계획입니다. 현재는 적군의 인공지능 레벨과 게임 보드의 크기를 선택하면 게임을 시작할 수 있습니다. 나의 게임 말은 ‘흰색’ 이고, 적군의 말은 ‘검정색’ 입니다. 게임이 시작되면, 이동 게이지와 공격 게이지가 시간이 지남에 따라서 채워지게 됩니다. 이동 게이지 및 공격 게이지가 채워지면, 이동 또는 공격을 할 수 있습니다. 게임 말은 체스 규칙에 따라서 이동할 수 있고, 이동할 수 있는 위치에 적군이 있다면 적군을 선택하여 포탄 공격을 할 수도 있습니다.
실제 체스에서는 ‘왕King’이 죽으면 게임이 종료되지만, 체노바에서는 모든 플레이어가 포탄 공격을 받아 죽으면 게임이 종료됩니다. 체스와 비슷하지만 다른 점이 있다는 것이 체노바의 재미 요소가 아닐까? 생각해 봅니다.
수업 내용이 대부분 좋았지만, 특히나 좋았던 부분은 ‘서버와 연동되는 게임’ 을 만들 수 있다는 거예요. 사실 10주동안 유니티 하나만 배우는 것도 벅차긴 하지만, 서버와 연동이 되지 않는 게임은 그 자체로 완성되었다고 하기 힘들다고 생각합니다. 체노바의 경우에는 게임이 종료 될 때마다 각 게임 결과가 서버에 전송이 되고, 게임에 로그인하게 되면 내가 이긴 횟수와 진 횟수에 대한 정보를 서버에서 받아오게 됩니다.
수동적으로 수업에서 강사님이 가르쳐주는 것만 따라할 요량으로 강의를 들었다면, 지금처럼 성취감이 크지는 않았을 꺼예요. 개인 프로젝트를 통해서 형편없는 게임이지만 직접 만들어 볼 수 있게 가르쳐 주신 강사님께 감사드립니다. 무에서 유를 창조하여 직접 Google Play Store에 올려 놓고, 친구들에게 “내가 만든 게임이야. 한번 해봐.” 라고 말할 때의 뿌듯 함이란… 물론 돌아오는 피드백은 차마 글로 적을 수가 없네요.
허기져서 코딩할 수 없을 만큼 당이 떨어졌을 때 간식을 준비해 주신 김용성 선생님께도 감사드리고, 사비를 털어서 종종 커피와 간식을 제공해 주신 송호연 강사님께도 다시 한번 감사 말씀을 드립니다. 함께 수강했던 여러 수강생 분들과 소셜 활동을 많이 하지 못한 것이 끝내 아쉽습니다. 2기 수업 때 종종 찾아가서 이런 저런 질문 드리고 싶은데… 괜찮을까요?