티스토리 뷰
제가 주말에 하는 여러 일들 중에서 가장 좋아하는 일로 '게임 개발'이 있습니다. 물론 제가 게임 개발자는 아니지만, 작은 팀을 만들어서 게임 개발 공부를 같이하는 모임을 하고 있거든요. 햇수로 따지면 벌써 3년 차가 된 작은 개발팀입니다. 아직 스토어에 출시한 게임은 없지만 무언가 꾸준히 만들어 보려고 도전하는 모임입니다.
물론 저도 어느 날 갑자기 게임을 만들어 보겠다고 생각한 것은 아닙니다. 아주 어릴 때부터 지금까지 조금씩 도전은 해왔고, 수많은 도전 실패를 경험했습니다. 지금 게임 개발을 하면서 성공했다고 말할 수 있는 상황은 아니지만, 제 인생에서의 게임 개발(실패) 이야기를 조금 풀어볼까 합니다.
제가 가장 처음 '게임을 만들어보자'라고 생각한 때는 중학교 때였습니다. 당시에 어도비사의 플래시가 선풍적인 인기를 끌면서 '졸라맨' 같은 애니메이션이나 플래시 게임들, 심지어는 학교 수업에서 플래시로 만들어진 교보재를 사용하는 게 일반적이었던 시절이었죠. 당연히 저도 플래시로 만들어진 많은 게임을 하면서 '나도 이런 게임을 만들 수 있을까?'라는 생각을 했었는지, 몇 날 며칠을 게임을 만들어보겠다고 컴퓨터 앞에 앉아있다가 결국은 플래시 이상한 플래시 애니메이션만 만들었던 기억이 납니다. 누가 알려주는 것도 아니었으니 혼자 끙끙대다가 결국엔 포기하고 게임 개발과는 거리가 조금 멀어지는 계기가 되었던 것 같네요. 지금 생각해보면 제가 그렇게 머리가 좋은 편은 아니었기 때문에 게임을 만드는데 필요한 여러 비동기적인 개념이나 이벤트를 이용한 동작을 이해하기에는 무리가 있는 게 당연했을 겁니다.
그렇게 시간이 지나고, 대학에 들어가서 개발을 배우면서도 게임을 만들겠다는 생각은 하지 않았습니다. 그러다가 군대에서 우연히 게임을 만들어 볼 일이 있었습니다. 그것도 아주 이상한 방법이었죠. 군대에서 2년이라는 시간을 보내면서 무의미하게 지나가는 시간을 조금이라도 바꿔 보기 위해서 소설도 써보고 공부도 해보고 하다가, '개발'을 할 수 있는 방법이 있을지를 생각해 봤습니다. 당연히 군대 안에서는 개발 툴을 사용할 수 없었기 때문에 군 보안 측면에서 문제가 없으면서도 가장 쉽게 쓸 수 있는 도구를 사용해야 했죠. 그것이 바로 '브라우저'와 'javascript'였습니다. 요즘 같으면 HTML5를 지원하는 브라우저에서 canvas를 써서 멋진 게임엔진으로 사용할 수 있지만, 당시에 있던 브라우저는 IE8에 인트라넷에서만 돌아가는 게임을 만들어야 했기에, 브라우저를 게임엔진처럼 쓸 수 있는 작업이 필요했습니다.
그래서 생각한 것이, "html checkbox를 1pixel로 하는 픽셀 게임을 만들자" 였습니다. 지금 생각해도 터무니없는 생각인데, 뭐라도 하면 좋겠다고 생각했던 당시엔 꽤 그럴싸한 느낌이었습니다. 먼저 픽셀 표현을 할 수 있도록 작은 checkbox 수 천 개를 화면에 뿌리고, 거기에 체크박스 배경색을 검은색이나 흰색으로 바꿔 가면서 화면을 만들었습니다.
근성으로 만들었던 도트&코드 노가다의 산물
체크박스를 하나하나 수정하기 때문에 i3이하 cpu에서 생기는 버벅거림을 보는게 일품입니다
먼저 그림을 그릴 수 있어야 하니 만든 체크박스 배경을 그림판처럼 이용해서 그림을 그리면, 숫자로 된 저장 형식으로 변경해주는 툴이 필요했습니다. 그렇게 그림을 그리고 숫자로 된 데이터로 저장을 하고, 원하는 위치에 해당 숫자 데이터를 출력하면 화면의 체크박스가 검은색, 흰색으로 칠해지면서 원래 있던 그림이 그려지는 방식이죠. 여기까지는 좋았지만, 그 때까지도 제대로 된 '게임 엔진'을 본 적이 없었기에 어떤 형식으로 게임이 구동되는지는 전혀 알지 못 했었습니다. 사실 그게 가장 큰 문제였죠. 모든 부분을 if-else만으로 처리해야 했으니 코드의 효율은 떨어지고 나중가니 늘어난 코드가 감당이 안 되는 상황이 왔습니다. 그렇게 시간이 지나고 전역을 하면서 나와서는 자연스럽게 게임 개발에 대한 흥미가 떨어지게 되었습니다. 전역하니 세상에는 재미있는 것들이 너무 많더라구요... 그렇게 반 노가다 형식으로 도전했던 두 번째 게임 개발 도전은 조용히 막을 내렸습니다.
물론 게임을 싫어하는 건 아니었지만 제가 만들어야 하는 이유가 딱히 없으니 대학 졸업 때까지는 별생각이 없었던 것 같습니다. 심지어 게임 회사로 인턴을 하면서도 '난 게임 개발과는 거리가 좀 있다'라고 생각할 정도였으니까요. 그러다 시간은 또 흐르고 우연한 기회에 다시 '진짜' 게임 만들기에 도전하게 됩니다.
평소 친하게 지내던 학교 선배와 오랜만에 만나서 이야기를 하던 중에 '사회 풍자를 하는' 게임을 만들어보면 어떨까 하는 이야기가 나왔습니다. 둘 다 개발자로 일하고 있지만, 게임 개발에는 무지했기 때문에, '게임 개발 스터디' 형식으로 시작을 했습니다. 후배 한 명도 같이 들어와 게임 이야기를 하니 꽤나 그럴싸한 모임이 되었습니다.
게임 모임을 만드는데 가장 큰 영향을 준 게임 '내꿈은 정규직'
(https://play.google.com/store/apps/details?id=com.quickturtle.EmployeeSurvival3&hl=ko)
처음에는 게임 개발에 대한 지식을 너무나도 몰랐기 때문에, 시행착오가 엄청나게 많았습니다. 게임 개발 툴을 뭘로 해야 하는지, 언어는 어떻게 해야하는지 등등.. 실제로 게임을 만들기 전에 스터디 형식으로 책을 하나 정해서 각자 공부를 시작하는데, 그 흔해 보이던 버튼 하나 띄우는데도 검색에 검색을 해야 하고, 글씨 하나 올리는데도 쉽지 않은 과정이 들어갔습니다.
그러나 게임을 만들기 시작하니 '개발'과는 완전히 다른 영역의 고민들을 해야 했습니다. 바로 '재미있는 게임'을 만들어야 하는 문제였는데요. 전부 개발자만 모여있다 보니 무언가를 만드는 건 가능하지만 게임의 규칙을 정하거나 재미있는 요소를 넣는다는 게 정말 어렵더라구요. 2년 동안 매주 모여서 같이 이야기하고 시간을 투자해도 금방 늘어나는 부분이 아니기에 아직도 프로토타입의 프로토타입의 프로토타입...만 만들어내는 수준이기는 합니다.
게임 개발 모임 'Newline GameLab'의 첫 프로젝트. 개발 범위가 한도 끝도 없이 넓어져서 개발 중단된 불운의..
그래도 계속 이런 모임을 하면서 시간을 투자하는 이유는, 게임을 만들면서 느끼는 것들 때문입니다. 저희 팀원들은 어떻게 생각할지 모르겠지만, 저는 그래도 같이 모여서 이야기하고 고민하는 과정이 꽤나 재미있습니다. 잠깐 아이디어를 내보니 재미있을 것 같다가도 금방 아이디어의 문제점이 발견되고, 이번엔 정말 진짜라고 생각하면서 만들다가도, 막상 만드는 도중에 흥미를 잃기도 하는 일들을 수백 번 반복합니다. 이렇게 반복이 되다 보니 아이디어를 내고도 '재미있을 것 같다'하는 생각 자체를 의심하게 되더라구요. 물론 그 문제가 재미있는 대안으로 이어지는 경우는 거의 없지만, 이렇게 이야기를 주고받으면서 무작정 '좋다'라는 생각보다 더 많은 고민을 하게 됩니다. 매주 아이디어를 단련하는 시간이라고 할 수 있죠.
게임 모임의 또 다른 장점은 그래도 꽤 생산적이라는 점입니다. 아직은 그럴싸한 작품 하나 만들어내지 못한 팀이지만, 그 과정에서 얻어낸 경험치는 꽤나 많습니다. 단순히 게임 코드를 짜는 기술뿐만 아니라 음악적인 요소, 그래픽은 어떻게 해야 위화감이 없는지 등등.. 게임을 괜히 '종합 예술'이라 부르는 게 아니라는 걸 몸으로 느낄 수 있었습니다. 거기에 2년 동안 팀을 같이 만들어가면서 경험한 여러 팀에서 일어난 일들. 어떻게 보면 게임 개발 모임에서 있었던 일들은 작은 회사에서 경험할 수 있는 많은 일을 조금씩 경험해본 것이 아닌가 싶습니다. 물론 돈을 받을 수 없다는 점만 빼면..
그래도 무언가는 계속 해보고있습니다
이런저런 들이 있지만, 저는 매번 게임 개발을 통해 새로운 도전을 한다는 생각을 합니다. 당장 돈이 되지 않기 때문에 겪는 일들도 있고, 어쩌면 계속 돈이 될 수는 없을 거라 생각도 하고 있지만, 게임 개발을 하면서 얻는 '만들어가는' 즐거움은 다른 일들에서는 쉽게 경험할 수 없는 일이기 때문입니다.
제가 게임회사에 취업할 일이 생기지 않는 이상, 게임 개발은 저에게 생활의 활력소를 주는 좋은 취미로 남아있을 겁니다. 하고 싶은 이야기는 더 많지만, 제 게임 개발 이야기는 여기서 줄이겠습니다.
다음 포스팅부터는 게임 개발 스터디(팀)을 만들면서 생긴 에피소드나, 만들었던 게임에 대한 이야기를 조금씩 풀어보도록 하겠습니다.
'초보 개발자 일기' 카테고리의 다른 글
취미로 하는 게임 개발기 - 첫 번째 프로젝트 '취준세스 메이커' 게임 개발실패기 (0) | 2019.08.22 |
---|---|
[서평] 혼자 공부하는 자바 - 한빛미디어 (0) | 2019.06.27 |
2019 구글 머신러닝 스터디 잼 입문반 후기 (준비, 운영편) (0) | 2019.03.10 |
GCP Brunch 세미나 간단 스케치 (0) | 2019.02.24 |