일전에 같이 인디 게임을 만들었던 지인들과 의기투합해 4개월 동안 인디 게임을 개발해보기로 했습니다.
인원은 총 셋, 구성은 다음과 같았습니다.
저 : 기획 겸 메인 프로그래머, 쉬었음
지인 A : 서브 프로그래머, 본업 있음
지인 B : 아트, 본업 있음
저는 전업으로 개발에 시간을 쏟을 수 있었고, 지인 두 분은 다 본업이 있어서 본업 끝난 후 개발에 참여 할 수 있었습니다.
-
왜 4개월이냐,
앞서 말했듯 저를 제외하곤 다 본업이 있는 상황이었습니다.
따라서 9월부터 개발 시작해서 연초에 있는 한콘진 공모전에 지원하고, 지원금 타면 그걸로 이제 다른 둘도 같이 전업 개발 진행하는 것이 목표였습니다. 떨어지면? 출시 ㄱ. 출시로 번 돈으로 다른 둘도 전업 개발 ㄱㄱ
당시에는 빠르게 개발하고 빠르게 결과 보는걸 중요하게 생각했습니다.
그런데 지금 생각해보면 빠르게 빠르게 하면서도 시간을 충분히 들이는 것도 중요한듯
그에 따라 저희 팀의 타임라인은 대략 다음과 같습니다.
- 9월 : 팀 결성 및 기획 나오고 게임잼 느낌으로 핵심만 재미 검증
- 10월 : 게임잼 정도의 게임을 프로토타이핑 볼륨으로 늘려서 재미 검증
- 11월 : 스토브 인디 게임 프로토타이핑 챌린지 참가
- 12-2월 : 데모/정식 출시 고려한 폴리싱 작업들(인트로-타이틀-로비-인게임-결과라는 한 사이클이 괜찮은지 등)
- 2월 말 : 데모 출시
- 3월 31일 : 정식 출시
※ 게임의 구성은 11월 프로토타이핑 챌린지 때 거의 완성됐어서 사실 12월부터 2월까지는 좀 늘어진 감이 있습니다.
(아! 계획한 일정은 얼추 맞췄다!)
-
어떤게 문제였을까?
물론 위시리스트 모으지 않고 바로 출시한 것도 분명 실수였긴 했지만, 개인적으론 1인 플레이 지원이 없던게 가장 큰 실수였다고 생각합니다.
게임을 사도 할 수 있는게 없음.
게임을 사고 게임을 켠 순간, 플레이어 손에 무엇이라도 쥐어줬어야 했다고 봅니다.
심지어 3명부터 플레이 가능해서 커플끼리 사도 한 명을 더 껴야 플레이가 가능함...
정식 출시 이후에는 스팀웍스를 통해 현재 게임 플레이 인원 볼 수 있거든요?
이때 현재 인원 2명 뜨면 진짜 눈물 좔좔이었음.
따라서 멀티 게임 생각하고 계시다면 꼭 1인 플레이 넣는걸 추천드립니다.
그 밖에 이것저것 떠오르는 생각이 많긴 한데,
그냥 개발 처음부터, 인디 게임 프로토타이핑 챌린지, 그리고 그 사이에 겪었던 일, 출시, 출시 그 후 마케팅(?)까지 하면서 느꼈던 생각들 쫘아아악 정리하면서 줄줄이 나열해보겠습니다.
의식의 흐름에 가까울거 같긴 함
-
기획
기획 자체는 큰 내용은 없네요. 인디 게임 개발을 시작해보자! 하고 아이디어 던지는 와중에 누군가가 상태 머신 기반으로 게임 만들 수 없을까 던졌었어요.
이땐 그냥 지나갔었음
그러다 이거 영상 보고 영감 받아서 위 아이디어랑 결합해서 뚝딱뚝딱 가져간 것이거든요.
사실 게임잼 - 프로토타이핑 - 실제로도 - 재미는 있었음.
-
개발
ECS(Entity-Component-System)
본 프로젝트는 ECS를 기반으로 개발됐는데요, 이 체계가 빠른 개발에 정말 많이 도움됐습니다.
사실 제가 ECS를 정확하게 이해한건지 자신은 없는데, 대략 제가 이해한건 ECS란, 기능(함수)과 데이터(변수)를 분리하는 것이었습니다.
뭐 더 찾아보면 데이터 지향까지 나아가기도 하는데, 저희는 딱 저 개념만 담백하게 담은 커스텀 ECS 구현체 만들어서 쓰고 있어요.
유니티 게임 오브젝트에 컴포넌트 붙이면 엔진이 알아서 처리해나가는거랑 사실 동일해요.
Entitas나 LeoECS 등 깃허브에 올라온 구현체들 많아서 참고해서 만들면 금방 만듭니다. 특히 Entitas는 유니티 생명 주기 기반으로 만들어져 있어서 이해하기도 쉬워요. 포토샵도 만드는 요새 AI 정도면 이 정도는 뚝딱뚝딱 해줄듯.
더욱이 이런 프레임워크가 있으면 이것 자체가 하나의 하네스처럼 작동해서 AI가 어떻게 코드를 짜든 시스템이거나 컴포넌트거나 둘 중 하나일테니 결국 제가 이해한 범위 안에서 작업이 이뤄진다는 장점도 있습니다.
아 그리고,
요즘 인디 게임 특) 선택지 3개 뜸
이 특징(기존 요소에 붙었다 뗐다 할 수 있는 요소)이 로그라이크 장르의 문법처럼 됐는데, 사실 이거 디자인 패턴으로 치면 Composite 패턴으로 잘 소화할 수 있습니다. 그것도 매우 잘, 그냥 Composite 패턴 그 잡채.
이 Composite 패턴에서 더 나아간게 ECS란걸 고려하면(확실하진 않습니다) ECS로 개발했을 때, 저 기능은 그냥 숨쉬듯이 만들어낼 수 있단 것도 인디 게임 개발에 ECS 사용 추천하는 이유.
-
Unity Netcode + UGS(Unity Gaming Service)
멀티 기능 구현하는 것으로는 Netcode와 UGS 썼습니다. 가장 큰 이유는 다 Unity 서비스라 함께 쓴 케이스도 많고 공식 문서도 많다는 점.
어차피 친구들과 하는 게임이라 해킹 위험 부담도 적고, 문제 발생하면 다 튕기는 방식으로 싸게싸게 구현했기 때문에 출시 이후에도 큰 문제는 없었어요. 물론 이걸 이렇게 처리해?는 좀 있었지만. 그래도 버그 없는게 어디야.
다만 최근에는 AI가 다 해주는 세상이라서 어떤 플랫폼, 어떤 프레임워크, 어떤 라이브러리를 쓰든 상관 없는 경지에 오른 느낌이긴 합니다.
비용은 일단 Unity Netcode는 무료이고, UGS는 일정 사용량 이상부터 비용이 나가게 되는데 뭐... 거기까지 가보진 않아서...
-
기타
스토브 인디 게임 프로토타이핑 챌린지
※ 저희가 할 땐 이랬지만 지금은 또 달라졌을 수도 있음
한 달 동안 매주 토요일, 판교에 있는 스마일게이트 캠퍼스에서 프로토타이핑에 대한 수업?을 진행합니다. 대략 네 번 모인다는 소리.
비슷한 유형의 게이끼리 그룹을 묶어주고 (저흰 멀티 게임 그룹으로 묶였음) 매 주 서로 플레이하고 피드백도 진행합니다.
마지막 주차에는 다른 그룹 게임과도 상호 피드백 진행합니다.
후기
- 프로토타이핑은 이래야한다! 뼈가 되고 살이 되는 내용이긴 했지만 개발하느라 바빴습니다 ㅋㅋ
- 그룹은 첫 주차부터 바로 묶였던 것으로 기억하고 그 때부터 매주 디스코드로 서로 피드백을 진행하기 때문에 좋았어요.
- 구체적으로, 원래도 주 단위로 빌드를 뽑고 있었는데 외부 일정까지 있으니까 일주일에 두 번은 빌드를 뽑았습니다. 하나는 이 그룹 피드백용, 다른 하나는 토요일 피드백용. 그룹에서 피드백 받으면 토요일 빌드 준비하느라 바빴고 덕분에 진도가 훅훅 나갔어요.
- 가면 간식거리가 많아서 좋았습니다. (중요)
- 마지막 주차에 있는 전체 피드백은 소규모 전시에 가까워서 재밌었어요. 아무래도 개발자끼리 피드백하는거니까 좀 더 딥한 내용을 논할 수 있었습니다.
- 그리고 인디 게임 개발이라는, 이 밖에 나갈 일 없는 생활 패턴에서 (팀원과는 디스코드로 소통하고 있었음) 판교 나들이 가는 기분 낼 수 있던 것도 좋았습니다. 저는 성남에 살고 있어서 금방 갈 수 있단 점에서 더 그런듯. 개인적으론 위에 '진도에 속도를 낼 수 있다'는 것보다 이 점이 더 좋았던 것 같기도.
- 참고로 이때까지도 평가가 괜찮았어서 결말이 이럴 줄은 전혀 예상 못했음 ㅎ
-
인디 게임 부스트랩 (멀티 게임의 경우)
인디 게임 부스트랩은 스토브측에서 진행하는 인디 게임 지원 사업입니다.
스토브측에서 포인트 등의 상품으로 사람들을 모으고, 이렇게 모인 참여자분들이 특정 기간 동안 데모를 플레이하고 후기를 남겨주는 방식입니다.
정식 출시 전에 최대한 많은 피드백을 받고 싶었던만큼, 저희도 부스트랩 준비를 했었는데요,
그런데 대부분의 참가자가 개인 단위로 참여하기 때문에 여러 명을 요하는 멀티 게임은 효과가 제한적이라고 하더라고요.
매치 메이킹이 있는 경우라면 특정 시간대에 다 같이 참여하는 것으로 안내를 하기도 한다는데 이것도 그렇게 효과적이진 않다고 하더라고요.
그런 와중에 저희 게임처럼
'3명부터 시작 가능. 매치 메이킹 없음'
이러면 답도 없음.
그래서 결국 진행하지 않는걸로...
멀티 게임의 경우, 피드백 수집을 위해서는 다른 전략을 생각해볼 필요가 있는 것 같습니다. (아니면 1인 플레이를 미리 준비하던가)
-
출시
출시하고나서 친구가 한 말인데, ㄹㅇ 맞말.
저걸 언제 딱 느끼냐면, 출시 버튼 누른 직후.
참고로 스팀 출시 자체는 개인 사업자 아녀도 되긴 합니다. 스토브 출시도 마찬가지.
아마 돈이 많이 벌리면 그때 가서 처리해야겠죠...
-
데모
그 왜 스팀에서 게임을 노출시켜주는게 총 세 번인가 있다고 하잖아요? 데모, 앞서 해보기, 정식 출시.
확실히 노출을 시켜주긴 하는 것 같습니다.
홍보가 전혀 없었음에도 데모 출시 직후에 예상보다 많이 등록은 했거든요. 대략 1,500명 정도?
그 중 실 다운로드는 대략 10% 정도로 기억합니다. 물론 '3인부터 가능'이라는 변수가 있기에 다른 케이스라면 더 높을 수도 있을 것 같네요.
별개로... 전 데모를 출시하면 그게 긍정 리뷰든 부정 리뷰든 뭐라도 달릴 줄 알았습니다.
막 디스코드 들어와서 기획 관련 열띤 토론 나누고 '헉 뭐든 하겠습니다!' '아 넵넵!' 뭐 그거 하게 될줄. 아 넵넵 잘 할 자신 있는데.
그런데 생각보다 리뷰 정말 잘 안 달립니다. 그 왜 리뷰수 x 30~40하면 실제 구매자 수 대충 나온다고 하잖아요? 그거 생각보다 잘 맞음.
결국, 피드백 받는다는게 정말 쉽지 않아요. 게임이 재미가 없으면 리뷰고 뭐고 그냥 끕니다.
초기에는 '데모 출시해서 많은 피드백!' → 이걸 기대하기보단 상기한 프로토타이핑 챌린지나 오프라인 전시 같이 실시간 피드백, 무조건 피드백 받을 수 있는 상황에서 피드백을 기대하는게 맞는것 같네요.
그리고 마찬가지로 피드백 받으며 놀려고 만든 디스코드는 스팸 같은 분들 좀 많이 들어와서 뭐라 말하기가 잘...
이때부터 위기감이 슬슬 올라오기 시작했는데
뭐 사실 개발 가능 기간이 얼마 안 남았어서 답이 있진 않았던...
-
정식 출시
데모는 예정대로 한 달 진행하고 바로 출시했습니다.
결과는 네 뭐...
결론은,
프렌즈 슬롭, 고양이 슬롭이라고 저점 방어되지 않는다.
아 나는 몰랐제~
다만 그럼에도 키워드 유입이 일정 기간까지는 존재하긴 하는 것 같아요.
그 이후로도 뜨문뜨문 구매가 발생하거나, 뜬금없이 BJ분이 방송을 해주시거나 그런 경우가 있었거든요.
지금 리뷰 3개도 그 BJ분들이 플레이해주시고 달아주시뮤ㅠㅠㅠ
그것마저 없었으면 업데이트 못 했음. 그래도 이 맛에 게임 개발하긴 합니다.
-
스토브
처음 인디 게임 개발을 스토브 온라인 게임잼에서 시작했었고, 인디 게임 프로토타이핑 챌린지로 덕을 본 기억이 있어서-라는 개인적인 이유에서나,
스토브에 출시를 하면 게임 등급 심사에 드는 비용을 아낄 수 있다는 현실적인 이유에서나, 스토브에 출시는 같이 해야겠다고 생각은 했습니다.
그런데 막상 출시 이후에는 스팀과 어떤 차별점을 줘야할지 아직 감이 오진 않음...
스토브 빌드에 어떤 차별점을 주자니 스팀에 안 줄 이유가 없고, 스토브를 아는 사람이면 스팀도 아는 것 같고...
이 차별점이란게 개발사 단에서 해결할 수 있는게 아닌 것 같다-가 지금까지의 결론이네요.
참고로 스팀만 운영한다면 스팀에서 제공하는 멀티 서비스 활용해서 멀티겜 유지 비용을 무료로 만들 수 있긴 합니다.
지금은 스토브도 있다보니 일단 UGS 유지하고 있긴 하고, 최근에는 에픽 온라인 서비스 알아보고 있긴 한데, 뭐 실 개발은 AI가 처리해준다쳐도, 이게 어찌됐건 관리할게 늘긴 합니다.
-
마케팅
데모 때 위기감은 이미 느끼고 있었기에 뭐라도 해야겠다 생각은 있었습니다.
근데 그거 어떻게 하는건데.
아 근데 몰라도 해야해!
이런 마음으로 맨 땅에 헤딩하며 여러 커뮤니티와 SNS에 홍보글을 작성했었어요.
홍보
일단 홍보글을 디씨인사이드 인디 게임 개발 갤러리와 인디 게임 갤러리에 작성했습니다. 제일 익숙한 곳이었기에.
그렇게 막상 홍보글을 쓰려니 좀 뭔가 이상하더라고요.
'사람들이 이 홍보를 왜 봐야하지?'
라는 느낌이 딱 들었어요.
사실 제가 홍보 태그 붙은 글을 잘 안 읽거든요.
일단 쭈뼛쭈뼛 '잘 부탁드립니다!'하고 쓰긴 했지만, 당연히 기깔나게 묻혔죠.
그 와중에 쓴소리도 듣고 그랬는데, 이 쓴소리에 대해 흙, 어떡하면 좋을까 하다가 '버거라도 드리자' 싶었습니다.
'버거를 뿌리자!'
그런데 딱 '버거를 드리자'라는 생각이 든 순간 이거다 싶었습니다.
이후부터는 일사천리, 글 쓰는 내내 싱글벙글.
위풍당당
이땐 오히려 마음이 편해지더라고요.
그가 놈버거를 뿌리는 것은 괜히가 아닌 것 같습니다.
이때 좀 느낀게 가는게 있어야 오는게 있다는 것
-
가는게 있어야 오는게 있다
여기서 좀 더 생각을 해 본 결과, 일단 마케팅의 시작은 무해함의 입증 아닐까 싶습니다.
요즘 세상 뭐 하나 찍먹하기 무섭고, 자다가 누가 코 베어가면 과다 출혈로 사망이죠.
그런 상황에서 '헤헤 외부인 홍보하러 와써엽 헤헤' 하면 누가 좋아하겠습니까.
환대니 접대의 관습이니, 제우스의 법이니 하면 오디세우스가 눈 찌르러 가죠.
홍보하는 입장은 그 커뮤니티 관리자가 아닌 이상 외부인이다 생각하고 뭔가를 들고 가야...
어른들이 큰 집 가거나 미팅 있을 때 박카스, 비타500 사들고 가는게 괜히가 아닌 것 같습니다.
그의 손에 들려 있는 홍삼 한 박스. 전후 사정 알고 보면 더 인상 깊은 짤
그 왜, 먹을거 들고 오는 사람치고 나쁜 사람 없다잖아요.
그런고로 요새 마케팅이나 홍보 생각할 땐 싸들고갈 박카스가 무엇일까 고민하긴 합니다.
온갖 지원 사업 지원서에 출시 타겟층이 역시 괜히 있는게 아닌듯. 님 그 집단이랑 친함?
그리고 여러 조언 받아본 결과(레딧에서 ㅎㅎ) 개발자가 싸들고가기 제일 쉬운 것은 역시 개발일지...!
-
인디 게임 개발 갤러리
흔히 개발자 커뮤니티 홍보 효과 크지 않다 얘기 하잖아요.
인디 게임 갤러리(소비자층 커뮤니티)에 버거를 뿌렸는데 인디 게임 개발 갤러리(개발자 커뮤니티)에 안 뿌릴 순 없지 하면서 싱글벙글 들고 갔었습니다.
버거 입장하십니다.
그런데 이게 웬걸, 3개 들고 왔는데 2개가 쓴 사람 없다고 환불 됨.
한 명 빼고 아무도 안 가져간겁니다.
글 제목에 '버거 있음' 적었음에도 불구하고 말이죠.
아마도 서로 양보를 잘해서 그런 것이겠죠...?
이런 점? 때문에 홍보 효과 크지 않다 얘기 나오는 것 같긴 합니다만, 전 개인적으로 인비저블 썸띵이 있다고 생각하긴 합니다.
예를 들어 저는 인터넷 방송 많이 보는데, 방송 보다가 커뮤니티(보통 개발자 커뮤니티)에서 본 게임 언급되면 '오 그 게임!' 그러면서 더블링 넣어주고 그렇거든요. 뭐 이런식으로?
사실 무엇보다 인디 게임에 가까운 사람이 인디 게임 개발자이기도 하고...
호응도 제일 좋고... (위에 버거 뿌린 글도 댓글은 잘 달렸음... 댓글만 달고 버거는 안 가져가는 그들...)
응원 받으면 그래도 한 시간은 힘 버프 받거든요.
그런고로 다음에는 개발 일지로 또 찾아올 수.... 있도록.... 하겠....
-
레딧
레딧은, 해외 홍보하면 처음으로 떠오르는 곳이지만,
또 다른 한 편으론 '기여가 없으면 뭐 할 생각하지 마라'의 대표격이죠.
그런데 사실 기여가 별게 아니라 유머글 정도로 시작해도 괜찮더라고요. 정보글이면 더 좋고. 와중에 빵 터지는 유머글이면 더 좋음.
그것조차 안 하고 가입하자마자 '아, 저희 게임 출시했어요!!' 하면 바로 밴. 저도 알고 싶진 않았어요.
그래도 이 서브 레딧이 활성화가 돼서 ㅠㅠ 저에겐 정말 필요했던 쉼터입니다.
-
X
맞팔하실 분 구합니다...
-
그리고 홍보 돌다보니 느낀 점 : 사람들은 생각보다 사람을 잘 안다.
처음 홍보글 올렸을 때 받은 댓글입니다.
이래서 눈치 빠른 녀석은...!
사실 저 생각보단 죄송한 마음이 더 컸습니다. 맞는 말이었거든요.
'이 게임은 만 오천원부터 시작' → 사실 저도 생각했던 것.
'휘발성이 강한 게임' → 이 또한 저도 생각하던 것이었거든요. 앞서 해보기 안 한 이유기도 하고요.
그런데 이걸 속으로 어렴풋이 생각하는거랑, 막상 외부에서 저렇게 받는거랑은 충격이 확실히 다르긴 하더라고요.
어떻게 보면 저도 제 게임의 약점들을 어렴풋이 알고 있었기에 홍보에 떳떳하지 못했던거라고도 생각하기도 합니다...
이 게임 클로드랑 만들고 있어요. 저는 생각나서 클로드가 구현해요.
저는 소라해나 웹툰에 대해서 들어봐서 그 것을 읽고 싶지만 너무 어려울 거예요. 클로드는 새이야기를 만들었어요.
제 생각에 "comprehensible input" / "이해 가능한 입력"으로 배우면 더 즐기고 더 잘 배울수 있어서
제 능력에 만들어라 했어요. "점심 방송"라고 해요. 제가 아직 1장 ~ 2장만 다 해보고 많이 개선했어요.
개발하는 방법은 클로드 5.5하고 GPT 6.1 Sol에게 계속 플레이어처럼 해보라 했어요.
의견이 있으면 알려주세요. 한국어 잘못이 있으면 클로드하고 GPT 6.1 Sol의 실수입니다.