본문으로 건너뛰기
EchoPlayroom
Google 로그인
블로그

BUILD LOG

해커톤 광탈 기념, 게임 만들며 혼자 당선 소감 준비한 20일- 1/2

첫 게임부터 조선으로 간 스나이퍼까지 이어진 20일의 개발 기록.
EchoPlayroom읽기 28분

이번 OpenAI 해커톤에서 광탈했지만 그래도 나름 여러가지로 나한테는 좋은 경험이 되었다고 정신 승리중 

유튜브에서 한시간만에 만든거, 반나절 만에 만든거 이런거 보니까 용기가 생긴참에 

꽤 오래전부터 만들고 싶었던 게임이 있었는데 이번에 해커톤 계기로 한번 해볼까 싶어서 

기초적인거 몇개를 시도했는데

생각보다 결과가 잘 나와서 이미 마음은 당선 소감 준비중. 

코드는 AI가 썼고, 뭘 버릴지는 내가 정했다. 그 20일의 기록이다. 

처음 해커톤 알게된게 8월9일 이었는데 마침 네이버에서도 게임 해커톤을 하던중.

문제는 접수 마감이 10일.

24시간 남짓 남은 상황에서... 

이 나의 어마어마한 아이디어와 미친 추진력으로 하루만에 MVP 만들어서 제출하겠다는 망상을 시작으로 

8월 9일,10일 - 첫 날

20여 시간 내리 달려서 만든 첫 게임 - signal-home

해커톤 게임 개발 기록 이미지 01

눈을 감고도 소리로만 할수 있는 게임을 만들겠다는 목표아래 (디자인을 못해서 이기도 하고)

이건 아이디어 만으로도 당선감 이라는 생각을 혼자 100번은 한 듯 ㅋㅋ 

첫번째 기술검증? 개념증명은 좌우 사운드 제어..

당연히 그렇게 녹음을 하면 스테레오 처리가 되지만 일일이 녹음할 여력은 없고 기술적으로 될 것이라는 기대감으로  

몇몇 검증할 목록을 갖추고 하나씩 테스트를 했다.

헬리콥터 로터 "두두두두" 하는 mp3 하나를 받아서 시켰더니..

모르는 용어를 남발해 가면서 신나게 코드를 써내려 가다 어느새 테스트 주소를 알려 주는 AI

해커톤 게임 개발 기록 이미지 02

하나의 mp3 를 제어해서 좌우 소리 크기제어, 잔향제어 등을 하고나서 눈을 감고 들어보면

전장의 한복판 내앞에 헬기가 어디서 와서 어디로 가는게 느껴진다는 생각이 들 정도로 만족스러웠다. 

이때 처음 에셋의 소중함과 어려움을 느꼈다.

생각보다 원하는 음원을 구하는게 쉽지 않았다... 

무료 음원사이트도 돌아다녀 보고 일레븐랩스에서 생성도 해보고 여러 시도 끝에 몇개 꼭 필요한 소리만 구해진 채로 다음  과정들을 이어갔다.

전투의 경우 눈 감고 제스쳐 만으로 싸우면 어떨까 하는 생각에 구현해 봤는데 이 역시 만든 당시에는 매우 흡족스러운 결과였다.

해커톤 게임 개발 기록 이미지 03

* 정면의 소리(적)가 들리면 세로 베기 - 태산압정!

* 좌측의 소리가 들리면 가로 베기 - 횡소천군!

아래는 게임이 아니라 기술 검증을 위한 당시 만들었던 기능(페이지) 들

해커톤 게임 개발 기록 이미지 04

대략 20여개의 기능검증을 끝내고 

게임의 스토리를 채워 나갔다..

시간이 없으니..

플롤로그 1분 - (mp3, TTS, 더빙, 진동, 화면 떨림등)

튜토리얼 2~3분

실제 플레이 2~3분 

정도의 분량을 목표로 준비를 했다. 

불시착 중인 우주선이 충격으로 파일럿의 헬멧의 카메라가 안나와서

음성으로만 컨트롤러(스마트폰)를 제어해서 우주선 탈출 및 목표지점까지 가서 신호를 보내는 스토리. 

무릎을 쳤다. 본선에 갈 땐 뭐 입고 가지? ㅋㅋㅋ

아울러 이 게임의 목적은 "소리를 우선하는 스토리 위주의 진행" 을 컨셉으로 

그 안의 스토리를 다양하게 구성할 수 있게, 다른 UI,UX 교체 없이 스토리를 변경해서 새로운 게임을 파생 할 수 있게 하겠다는 목표가 별도로 있어서

스토리와 사운드 자산을 (음성, 효과음, BGM) 관리 할 수 있는 별도의 스튜디오 기능을 함께 병행해서 만들었다.

이땐 사실 에셋에 대한 개념이 없었다. 

아이러니 하게도 게임 자체를 만든 시간보다 어울리는 음악 파일을 찾고,

TTS 가 아쉬워서 더빙을 하기 위해 맞는 솔루션을 찾고 시험하고 하는 과정이 더 길었던건 분명하다.

해커톤 게임 개발 기록 이미지 05

각 장과 씬을 구분하고, 각 씬에서 나올 대사를 입력, 캐릭터마다 정해진 음성ID 로 API 사용해서 바로 더빙 mp3 를 만들어서 사용하게 끔 하는 구조였다.

음성 더빙은 수퍼톤의 API를 사용하고, 효과음 API 는 일레븐랩스를 사용했다.

해커톤 게임 개발 기록 이미지 06

이른바 "커스텀 가능한 사운드 퍼스트 어드밴처" 장르를 개척한 아버지 소리를 들을 생각을 하며 내달렸다. 

완성된 결과물은 ... 아래 짤로 설명을 대신한다.

해커톤 게임 개발 기록 이미지 07

원출처 : https://www.reddit.com/r/ProgrammerHumor/comments/87ri3m/software_development_in_a_nutshell/ 

처음 인지한게 9일이었으니 아마 처음 약 30여 시간은 안자고 일상 + 게임 작업을 하느라 녹초가 되어 더 이상의 개선은 힘들었다..

지인 몇에게 게임을 보내주고 받은 응답은

"뭐하는거야","뭔소린지모르겠어","쓰레기네" 등등등 

나는 "아 이 겜알못 노인들" 이어서 가치를 못 알아 보는 것이라고 또한번 정신승리를 하고, 잠시간 눈을 붙였다가 

마감을 한 5분쯤 남기고 쫓기듯이 제출했다.

결과 발표는 22일. 

이제 남은 시간에 

첫 작품을 최대한 고도화 해야지 라는 생각은 오래 가지 않았다.

11일 - 개선

아직 네이버에서 제출한 repo 에 접근하지 않은 걸 봤을때 조금만 더 개선하자 하는 마음에 조금씩 손을 봤다. 

여러 스마트폰으로 테스트도 해보고.. 

12일 - 빠른 포기

음... 솔직한 스스로 내린 평가는... 

"시야가 배제된 상태에서 청각에 의존해서 스토리를 들으며 역경을 헤쳐 목표를 달성하는 세계 최초의 사운드 퍼스트 어드벤처" 

는 개뿔 이거 뭐 재미도 없고 뭔소린지도 모르겠고 ㅋㅋ

맞다 저거 내가 만든거지..  

13일 - 방향전환

지인들의 평은 하나같이 "뭔지 모르겠다", "재미가 없다" 였고.. 

누군가 "쉽고 재미있는걸" 요청했다.

아.. 게임은 쉽고 재미 있어야지...

게임의 정의를 솔직히 잊고 있었다.. 

그래도 요 며칠간 공들인걸 그냥 버리고 싶진 않고...

AI 친구들을 집합시켜 토론을 거듭한 결과 재미있는 아이디어들이 제법 윤곽이 드러났다.

해커톤 게임 개발 기록 이미지 08

근데 뭐랄까 만드는 입장에서 "오... 신기하네" 정도는 있는데 재미가 없다 재미가.. 

여튼 첫 작품은 실패 딱지 붙이고 (네이버라면 알아봐 줄까 하는 기대는 22일까지 계속된다)

다만 첫 작품을 하면서 정리된 코드는 "사운드 플레이 코어" 라는 거창한 이름을 붙여주고 활용 방안을 모색했다.

14일 - 최초의 공개 게임

내 주위 공간을 감싸는 소리... 그 소리에 몸을 맡겨 즐길 수 있는 ... 그런.. 아이템... 

"왱~~"

아... 모기.. 모기 이새키.. 

모기잡기 라는 주제가 떠오르니 게임의 재미를 위해 무얼 해야 할 지 생각했을때 그리 오래 걸리지 않고 진행이 됐다.

이미지 생성하고, 모기 비행 소리 찾고, 소리의 방향 기능은 만들어 뒀으니 스테이지 별로 빠르게 날거나 하는 방향으로... 

"야... 이건 대작이다... 세계적인 대작이야... 이걸 우리나라 사람만 즐기면 안되지..." ㅋㅋㅋㅋㅋ 

바로 i18n 다국어 모드로 간다! 준비해라 AI들아.

해커톤 게임 개발 기록 이미지 09

제미나이에게 이미지를 시키고 

해커톤 게임 개발 기록 이미지 10

해냈다.. 

게임스러운 게임을 만들어 냈어.. 

해커톤 게임 개발 기록 이미지 11

여태껏 내가 만든 결과물 중 가장 게임 다운 모습에 흥분을 감출수가 없었다. 

묵혀놨던 레딧 아이디 암호찾기를 하고

어디에 올릴까 기웃거리던 찰나 /r/SideProject/ 를 발견하고 

AI가 써준 영어 소개글을 똭 하고 입력! 

레딧에 게시!

"딩동"

벌써 댓글이?

죄송합니다. Reddit 필터로 제거된 게시물입니다.

아... 쉽지 않다... 온세상이 나를 경계하는구나... ㅠㅠ

그놈의 카르마 인지, 정책인지... 솔직히 나는 레딧이나 여기 디씨처럼 큰 커뮤는 뭔가 좀 어렵게 느껴지는 그런게 있다. 

그래도 나중에 올려하지 하는 생각에 지금도 카르마를 얻기위해 타인의 게시물에  "good", "good idea" 등의 댓글을 달아대고 있다. 

주변 지인들의 반응은.... 

"모기 소리가 안들려" , "잘 모르겠어" , "재미없어"

당신들 귀가 노화되서 고주파를 못든는 거야... 라고 다시 한번 나는 연로한 유저를 비판하는 것으로 화답했다.  

평소 눈팅만 하니 어디 뜬금없이 올리기도 민망하고... 

그나마 글 몇번 올린적 있는 커뮤에 글 올리니 몇 명 정도는 테스트를 해 주셨다.. 평가는 사실 그닥 ㅋㅋㅋ

그래도 처음으로 게임다운 게임을 만들었다는 생각에 기분이가 많이 상승했다. (이 게임은 이후로 몇차례의 업데이트로 지금의 모습이 되었다)

15일 - 소리를 기반으로

어느새 모기헌터를 비롯 게임 모양을 갖춘 게임이 4개가 되었다 (2개는 게임, 2개는 검증 수준이지만)

모기헌터는 사용자 반응은 별로였지만 그래도 그래픽+사운드+재미(작지만)+다국어(한,영) 를 갖춘 최초의 게임이 되었고 자신감을 주었다. 

이내 여러 아이디어가 생각이 났다.. 

앞이 보이지 않는데 전방에서 몰려오는 적을 방어하는 사운드 디펜스? 

괴물의 소리를 피해 달아나는 사운드 호러?

오랜만에 이런 저런 상상을 하다 잠이 들었다. 잠들기 전 쇼츠를 안 본 몇 안되는 날이었다. 

16일 - 재미를 찾아서

자신감은 찾았지만 자신이 없었다.. 재미있는 게임을 만들 자신이.. 

마침 주말이고 해서 AI 들을 불러 모아 아이디어를 모색했다.

"얘들아.. 나는 게임을 통해 세상에 평화를 주고, 아이들에게 꿈과 희망을 주고싶어" 

라고 쓴다는게 실수로

"뱀서 처럼 돈 될만한 히트작 아이디어를 내놓으라고... 그런거 만들수 있기는 하냐"

라고 써버렸다. 

"나도 할 수 있어요" 라고 말한 한 AI가 한동안을 뚝딱뚝딱 거리더니 보여줬다..

꽤나 세련된 느낌의 탄막게임이 만들어 졌다. 

해커톤 게임 개발 기록 이미지 12

과거 곰플레이에 있던 닷지도 재미있었는데 이정도면 수준급 아닌가 하는 생각을 갖게 했고 

몇가지 변형을 시도해 봤다.. 

해커톤 게임 개발 기록 이미지 13

근데 왜인지,,, 자존심 때문인지

내가 구상하고 감독한 게임보다 짧은 시간에 

더 화려하고 게임성 있는 게임을 만들었다는게 보기 싫어서 였는지도 모르겠다.

다시 다른 게임을 구상해 봤다. 

마침 옆에 틀어놓았던 형사스토리의 드라마에서 CCTV 에 녹화된 내용으로 범인을 추정하는 장면이 나왔다.. 

아... 상황실.. 상황실을 게임으로 만들면 어떨까...

특히 나는 나사의 상황실이나 기타 여러 상황판(대시보드)를 좋아하는 편이기도 했고, 

또 과거에 보이스라는 드라마 시리즈를 매우 재미있게 봤던 기억이 떠올랐다. (3시즌 모두)

AI 와 아이디어 논의 중에 threejs.org 등을 통해 웹에서 3D 구현이 가능하다는 판단을 하고 이것 저것 요청하며 작업을 이어갔다. 

해커톤 게임 개발 기록 이미지 14

처음에는 성냥갑 모양의 빌딩을 시작으로 여러개를 놓아 블럭을 만들고, 블럭을 넓혀서 도로를 만들고 등의 과정을 지나 

내 기준으로 제법 그럴듯한 CCTV 관제실 화면이 갖춰졌다. 

하지만 어느정도 구성을 갖춘 뒤에는 요청의 문제인지 의도한 결과물이 되기까지의 과정이 녹록치 않았다. 

더욱이 인터넷을 찾아보니 911 상황실을 주제로 한 스팀 게임도 있고 해서 다시금 힘이 좀 빠졌다.. (잘 완성된 게임과 비교하다 보니 오는 아쉬움)

그리고 나는 재미요소가 느껴지지만 다른 사람은 재미있어 할까? 하는 의구심. 

다시 아이디어를 찾아 헤맸다.. 

틀어 놓은 유튜브에서 협찬 제품을 홍보하는 장면이 나왔다.

무려 숫자키를 스트림덱으로 사용할 수 있는 키보드... 

해커톤 게임 개발 기록 이미지 15

아.. 나도 하나 갖고 싶다 스트림덱,... 쓸데는 없지만 갖고싶다.. 라는 생각을 하다가...

내 스마트폰을 스트림 덱으로 쓰면 되지 않을까... 

"와.... 레이아웃 설정까지 가능한 스트림덱 스튜디오. 이거다!" (게임과는 관계 없는 아이디어였다)

바로 특허준비를 했다... ㅋㅋㅋ

이미 있는 개념이었네.. 다시 게임 아이디어를 고민하던중에..

"아! 스마트폰을 게임패드 처럼 사용하는 플레이..."

다시 특허준비를 했다...

이미 해당 시스템으로 유명한 해외 게임 포털이 있었다... ㅋㅋㅋ

그래 다시 게임을 구상하자....

크레모어가 생각났다... 격발장치... 근데 전쟁요소는 향후에 심의 관련 이슈가 있다고 들은적이 있다...

"아 그럼 로켓 발사 장치.."

예전에 나도 반응성 게임 같은걸 해본적이 있었다... 

클릭후 얼마나 빨리 반응하는지... 근데 그건 이미 있으니... 

고민하던차에 오락실에서 10.000 초에 맞춰 버튼을 누르면 경품 주는 그런걸 최근에 지나면서 본 기억이 있다. 

아... 10초 카운트를 해서 0.000 초에 가까운 기록을 재는 게임. 거기에 우주선 로케트를 곁들인... 

게임의 컨셉은 결정 됐고,, 여러 방안으로 로케트를 그려봤는데... 3D 로 시도..

이 AI 친구가 너무 기대 이하의 디자인을 제시했다.. 아... 한숨이 절로 나왔다... 이러면 나가린데... 

게임에 들어갈 이미지를 구할 생각에 머리가 아파왔다 (과거에도 이게 안되서 검색만 하다 진전을 못함, 유료 에셋도 마음에 드는게 없고 여튼 그랬음)

그러다가 어떤 AI 에게 임무를 주고 그려보라고 했더니 꽤나 그럴듯한 로켓발사대와 로켓이 나왔다... 

그걸 가지고 다시 작업에 들어갔고, 결과가 꽤 만족스러웠다.. 

한번 감을 잡더니 발사 할때 수증기가 메우는 모습이라던지 등도 곧잘 하게 됐다.

그리고 먼저 CCTV 작업을 했던 기록을 더해서 로케트 주변의 다양한 각도의 카메라가  CCTV 처럼도 보이고,

특정 CCTV 화면을 선택하면 해당 시야로 볼수 있는 기능까지도 완성이 됐다. 

해커톤 게임 개발 기록 이미지 16

리더보드를 만들고, 닉네임 기록 가능하게 작업을 하고. 

근데 확실 몇번을 하다보니 거의 100ms 이내에 결과가 나오고 때론 0ms 인 경우도 있었다... 

한번은 하겠지만 다시 할 이유가 없는... 그에 비해 겉멋만 들었다는 생각이 들었다가... 

소수점을 보여주지 않기, 초마다 소리 안내 끄기, 5초, 10초 짧은 구간 만들기 (10초를 여러번 하니 기다리기 귀찮아서)

조금 나아졌다... 

여기에 아까 스마트폰으로 제어하는 아이디어를 연결했다. 

해커톤 게임 개발 기록 이미지 17

잠깐... 

내 스맛폰으로 되면 옆에 스맛폰도 되겠네... 멀티가 되겠네? 여럿이 하면 결과가 더 다양하겠네?

해커톤 게임 개발 기록 이미지 18

텐사이샹데슈 ~ 

근데 멀티에서 동시에 누르는건 문제가 있었다.. 

근거리가 아니라 온라인에서 여럿이 시작 카운트를 했을때 시간차 문제나 또 집중 안하는 경우라던지... 

게임의 컨셉을... 

각각의 고정장치를 잡고 있는 승무원. 고정장치를 눌러서 잡고 있다가 (카운트하는동안)

0 이 되는 시점에 놓기... 

그러면 모두가 버튼을 누르고 있을때 (집중하고 있을때) 알아서 준비모드가 되고

최종적으로 방장이 버튼을 누르면 카운트다운이 동시에 시작되게끔 하면 되겠다...

이후 과정은 매우 순탄했다... 

나름 여러 기기에서 자체 검증을 했을때 오차도 딱히 없고... 

리더보드에 발사 당시의 모든 시간 기록 을 남겨서 리플레이 기능을 만들고, 리플레이 영상에서 참여자들의 닉네임과 오차 시간등이 크레딧으로 올라가는 것 까지를 완성 했다.

결과물을 보니 심히 기분이 좋았더라.. 

아... 근데 여럿이 플레이 할 수 있는건 인싸들이겠구나... 나는 못하겠구나... 근데 유튜버라면 가능하겠구나..

참여인원이 많을수록 가산되는 점수가 있다.. 

아 그러면 유튜버가 사람들 독려해서 1등을 노릴수도 있겠구나... 미스터 비스트나 아이쇼스피드가 접속 하면 어떡하지?

지금의 RDBMS 만으로는 안된다.. 레디스 도입! 영문화 도입! 

이미 내 마음속에서 이게임은 미스터비스트를 비롯한 유명 유튜버가 즐겨하는 게임이 되어 있었다.. 

여름이었다.. 

아직 16일, 일요일이 지나지 않았다..

이 대작을 vercel.app 에 담기엔 작품이 너무 컷다. ㅋㅋㅋㅋ

이거 게임이 계속 늘어나는데 그때마다 repo 를 만들고 vercel 등록하고 설정하고 하려니 영 귀찮아졌다..

벌써 완성된 게임이 몇개쯤 있던 차여서.. 그래 내가 만든 게임의 포트폴리오겸 사이트를 하나 만들어서 키우자로 도달..

echo play 당연히 com 은 없지만... kr 을 하기엔 미스터비스트가 접근하기에 불편하지 않을까 하는 마음에...

echoplayroom.com 간만에 등록 가능한 com 이어서 고민 없이 등록했다. 

그리고 아직 메인이었던 signal-home (첫작품) 을 숨기고. 모기헌터를 메인으로 사이트를 오픈했다... 

해커톤 게임 개발 기록 이미지 19

소리를 시작으로 했지만 뭐 소리 말고도 플레이 방식을 다양하게 해보고 싶은 마음에 사이트 주제는 이렇게 정해졌다. 

그리고 로켓발사 게임 AHL 

All Hands : Launch 가 함께 등록 되었다. 

꽤나 오랜 시간 작업을 했지만 하나의 게임이 잘 완성되었다는 성취감에 피로할 틈이 없었고 다른 모든 오락거리가 눈에 들어오지 않았다..

마침 예전에 생각했던 아이디어가 다시 떠올랐다..

갤럭시24 를 처음 사서 가끔 식당 메뉴판이나 줌으로 땡겨 보는거 외에 줌을 못 써보다가

지금 AHL 게임을 위해 스맛폰으로 이리저리 하던 와중에 무심결에 카메라를 켜고 모니터를 들여다 봤다... 

아래처럼 어릴적 브라운관에서 보던 그런 큰 픽셀이 보이는거다... 

해커톤 게임 개발 기록 이미지 20

와... 이게 이렇게 되는구나.. 

해커톤 게임 개발 기록 이미지 21

지금 당시에 시험했던 파일이 보이지 않아 캡쳐를 못했지만.. 

100x100px 에서 1px 를 교차해서 정확히 맨눈으로는 구분 불가한 점을 스맛폰 줌으로는 볼 수 있다는 생각에.. 

스맛폰을 망원경으로 사용하는 윌리를 찾아라 는 표절이고.. 구조게임을 만들수 있겠다로 연결됐다.

레이아웃은 아까 AHL 관제실을 차용...

해커톤 게임 개발 기록 이미지 22

PC 화면으로는 안보이지만 

스맛폰으로는 해당 영역을 확대해서 볼 수 있게 라는 개념이었는데...

막상 시도해 보니 역시 내 생각이 조금 짧았다... 

확대된 고해상도가 있다는 전제로 전체를 줌아웃한 에셋을 마련해야 했는데... 

어떻게 해야 할지 막막했다.. 

다음에 다시 시도하기로 했다..

아직 16일이 다 지나지 않았다.. 어쩌면 17일 0시를 넘은 시점이었을지도..

피곤하지가 않다... 뭔가 또 만들고 싶다...

구석에 처박혀 있던 퀘스트가 눈에 들어왔다..

"너 퀘스트용 VR 게임 만들수 있어?" 굉장히 조심히 정중하게 물어봤다.. 

"끄덕 끄덕 ㅇㅇ"

해커톤 게임 개발 기록 이미지 23

두근두근... 와쿠와쿠....

https 경로가 필요해서 실서버로 바로 반영

퀘스트에서 접속해서 화면을 보는데... 깜깜했다... 

"구라 쳤네 이새키" 실망하며 가려진 눈을 모니터로 향한 찰나... 하늘에 떠있는 무언가가 보였다...  공 3개

해커톤 게임 개발 기록 이미지 24

 사실은 뒷편에 공3개, 전면에 떠다니는 물체 3개 조악한 이미지 였지만.. 

뒷편에 공을 집어 발사 버튼을 누르니 예상한 각도로 발사되어 목표물을 맞추고 함께 사라지는 모습에 흥분을 금할수가 없었다.. 

이거 잘하면 물건 나오겠다... 

또 벌써 마음은 내년도 VR GOTY 에 무얼 입고 가지... 를 상상했다. 

아직 16일이었다.. 

이제는 월요일을 위해 잠을 잘때다.. 사실 17일 해가 뜨는걸 보고 잠깐 눈을 붙였다. 

17일 - 3D, GLB를 알다. 실험실을 만들다.

3D 로켓 발사 타이밍 게임 AHL 을 만들면서 웹에서의 3D 구현이 과거에 비해 

기술은 성숙해지고, 기기와 브라우저 성능은 향상되었다는 확신을 주어 3D 게임이 불가능은 아니겠다라는 생각이 들었다.

DOOM 이나 Quake 초기 버전 수준이 아닌... 

검색 결과 glb 라는 3D 파일, 블렌더 라는 무료 3D 저작도구의 존재를 알게 됐다.. 

새로운 게임의 구상은 타이밍을 소재로 생각해 보니 타이밍 게임의 소재로 쓸만한게 제법 많다는걸 느꼈다.

그중에 생각은 줄넘기... 단체 줄넘기 해봤자나..

타이밍 게임의 핵심은 한사람 보다 동시 멀티 플레이니까... 단체 줄넘기가 딱인것 같았다. 

"난 이게임을 해봤어요"

누구나 설명없이 가능한 게임이라는 확신이 들자 다음 준비물은 다양한 캐릭터와 점프 동작 구현이었다. 

어찌어찌 무료 애니메이션이 포함된 glb 를 다운받고 시험을 해봤다.. 

해커톤 게임 개발 기록 이미지 25

오.. 여러 조합이 어색하지 않게 잘 나오네... 

다만 캐릭터는 좀 더 이뿌게 따로 뽑으면 좋겠다 싶었다... 

기술이나 개념은 증명이 되었다는 생각에 이내 흥미가 떨어졌다... 

한숨이 나왔다.. 

"나의 상상력은 여기 까지인가"

한숨이 절로 나왔다...

숨???

"스마트폰 마이크로 살살 호~ 부는것과 큰 날숨으로 후~ 부는게 구분 될까?"

라는 생각이 스쳐갔다...

이내 이제 실험실이라는게 필요하다는 생각이 들었다.. 기술 증명을 하고, 모아서 상호 보완할 수 있는?

LAB 이라고 이름짓고 별도의 폴더에서 실험을 해봤다.

해커톤 게임 개발 기록 이미지 26

후~~~ 후!!! 구분이 된다면 써먹을게 많지 않을까..

해커톤 게임 개발 기록 이미지 27

이런거 말이지... 

몇개의 초를 끌수 있는지 겨루는 게임이나 

해커톤 게임 개발 기록 이미지 28

케잌에 촛불을 진짜 입김 불어 끄는 게임이나 앱 말이지.. 

실험 결과는 만족 스러웠다. 

의외로 정확히

소리 지르는 것과 호,후 바람 부는 소리를 구분했다.

다만 의외로 소리의 크기, 바람의 세기 구분이 쉽지 않고, 정확하지 않았다..

여튼 호,후가 됐으니 촛불 끄는 게임을 만들어야 겠지? 

아니다.. 내 뇌는 그렇게 움직이지 않는다.. 

그때 마침 쇼츠에서 타짜 3가 나왔거든... 

대길이의 어린시절... 놀부보쌈 가는길을 마다하고 꽁지까지 써가며 자웅을 겨루는 두 겜블러의 모습이 나를 붙잡았다.

나는 어린시절 양손에 별높, 별낮, 글많, 글작 등의 전문용어를 남발하며 홀짝류의 딱지게임을 즐기거나..

딱지를 탑처럼 쌓아놓고 움파~ 만으로 내력을 쏘아내어 딱지를 뒤집는 류의 게임을 친구들과 하곤 했다. (바람 불면 안된다, 내력으로 해야한다)

바로 랩실에 딱지 연구를 위한 환경을 조성하고 연구를 이어 나갔다

해커톤 게임 개발 기록 이미지 29

만족스러운 이미지들이 생성되고 여러가지 시뮬레이션 끝에 

"가능" 이라는 결론을 내렸지만 막상 스맛폰에 연결후 내력을 쏟아 내었을때에는 그 결과가 기대와 달랐다..

현대의 문물은 기감을 감지하지 못해서일까.. 

심적으로 흥미가 식어갈때쯤 오랜만에 좌뇌 우뇌도 함께 동의하며 딱지연구소는 샤따를 내렸다. 

다른 무언가 없을까를 고민하던 찰나

옆에 켜둔 유튜브에서는 한국축구에 대한 뉴스나 인터뷰가 연이어 나온다... 그런 영상들의 댓글에는 이내

양궁협회를 본 받으라는 댓글이 어김없이 달려 있었다.  (더 공격적인 글이지만 이정도로)

활? 양궁? 쏘기? 발사? 

마침 3D 모델링이나 웹에서의 물리 법칙 구현 정도가 궁금해지던 찰나 더할나위 없이 좋은 소재였다.

마음의소리 "그래 우리는 활의 민족이다. 화살을 쏘면서 바람과 궤적등을 통해 물리 법칙 시연도 가능하겠다. 바로 진행해"

뇌 "응 새총" 

그렇게 새총 파괴 연구실을 개설했다. 

새총이 좋은게 3D 결과물을 만들기도 어렵지 않고, 또 다양하게 꾸미는 스킨 시스템이 적용할 수 있으니까 (스킨 이거 돈이 된다며... +_+)

마침 가난한 나는 유튜브 프리미엄을 못쓰던 터라 영상 몇개 보면 광고를 봐야했고 덕분에 meshy 나 tripo 같은 3D AI 에 대한 정보를 알고 있었다. 

모델링을 할 기본 새총 이미지를 만들어서 

해커톤 게임 개발 기록 이미지 30

3D 생성 사이트에 이미지를 넣었다. 

해커톤 게임 개발 기록 이미지 31

이야... 21세기는 역시 다르구나... 

해커톤 게임 개발 기록 이미지 32

왜 때문인지 게임에 적용된 새총은 그 모습이 내가 기대한 그것과는 조금 달랐다.. 

고무줄 방향도 좀 웃기고.. 고치고 고친게 이모냥.. 

대신 발사 힘, 타격 지점에서의 물리 법칙 적용은 기대 이상이었다. 

그렇게 17일은 연구실 개설과 여러 시험을 끝으로 마무리 되었다.

18일 - 기억이 없음, 커밋 없음

이날은 아마 하루종일 밖에 쏘다니다 들어왔나보다 

19일 - 물리 법칙

지난번 새총 기술 증명이 끝났으니 게임을 만들어야 겠지? 어마어마한 스킨으로 나를 부자로 만들어 줄 그런 새총 게임.

그레이트 슬링샷 같은 이름이 좋겠다.

뇌 "응 다음은 물의 낙차 시험, 소방관 불끄기 게임 만들꺼야" 

왜냐하면 이때 쇼츠로 지난 어느 화재 사건때 소방관 들을 위해 카페를 내어주신 카페사장님, 선결제 해주신 공장 사장님 등의 

미담 쇼츠를 봤기 때문이다.. 

고로 불끄기 게임으로 귀결이 된다. 

내 뇌는 그렇게 움직인다. 

해커톤 게임 개발 기록 이미지 33

이때 스프라이트(sprite) 라는걸 알게 됐다. 

개념은 알고 있었지만 용어를... 지금도 헷갈려서 검색하고 찾아 봤다... 사이다 이름이랑 헷갈린다. 지금 보니 이름이 같구나.. ㅋㅋ

마침 물쏘는게 사이다 선전에서 본거랑 비슷하네.. 아 헷갈린다.. 

그렇게 불 이미지와 연기 이미지를 스프라이트 화해서 적용해 봤다. 

애니메이션이 아쉽긴 하지만 해결 가능한 영역이라고 생각이 들었다.. 

마침 옆에 모니터에서는 마침 "소방서 옆 경찰서 몰아보기" 를 재생중이었다. 아마 불끄는 실험실 만들면서 생각나서 틀었나보다.

에피소드 중 

"문을 열거나 창문을 깨면, 외부의 신선한 산소가 내부로 갑자기 유입되면서 가연성 가스가 순간적으로 폭발하며 불길이 역류하는 현상" 

인 백드래프트 이야기가 나왔고 그 때에는 일반적인 분사가 아니라 방패처럼 분사하는 걸 기억이 났다..

불을 끄기 위해 물을 분사 하는것과 다른 동작들을 버튼이 아닌 제스쳐로 하면 어떨까 생각이 들었다.

예를 들어 방패는 아래에서 위로, 도끼질은 위에서 아래로 제스쳐를 쓴다거나... 

아래에서 위로 힘껏 밀어내기.. 아래에서 위로 쓸어 올리기.. 

잠시 휴식 하는 동안 쇼츠를 넘겨 봤다.. 

어떤 개그맨이 나는 명함을 잘 던진다는 이야기를 하면서 건물 밖에서 2~3층 높이의 창문으로 정확히 쏘아 올리는 내용의 예능 프로그램이 나왔다... 

아래에서 위로 힘껏 밀어내기. 명함. 

아주 어릴적 친구가 자랑스레 한 이야기가 생각났다.

전단지 돌리고 명함 돌리는 알바를 하면서 이제는 오토바이를 타고 주행하면서도 원하는 문틈, 우편함에 명함을 쏘아 보낼수 있다고. 

엄지에 고무 골무를 낀다고 했던것 같다.. 

해커톤 게임 개발 기록 이미지 34

방향이 결정됐다. 

아래에서 위로 힘껏 끌어올려 명함을 발사하는 게임으로 ..... 

내 뇌는 이렇게 일한다. 

게임 이름은 "홍보왕" 

투척,발사의 개념도 확인 됐고, 

나 역시 어릴적 첫 알바가 신문 배달이었고,

자취시절 전단지 알바를 하면서 받은 만원으로 무얼 사먹을까 한시간을 서성이며 고민했더 기억이 스쳐 지나갔다.

게임 소재도 명확해 졌다.. 

신문이나 월간지 구독하는 곳은 맞는 아이템 던지기, 

구독을 안하는 집에는 명함을 던지기.

해커톤 게임 개발 기록 이미지 35

손끝으로 팅기듯 명함 던지는 것과 비슷한 제스쳐를 했을때 의도한 결과가 나오는 것 까지 확인한 나는 지체할 틈이 없었다.

홍보왕 : 골목길

유튜브는 나를 감시하는것 같다.. 

마침 쇼츠에서 어린 차무식이 신문을 팔아먹는 에피소드와 콤푸로 자산을 축적한 노년의 차무식이 나온다... 

마치 내게 

홍보왕 : 골목길, 마을, 도시, 국가, 우주로... 배송 기업 시리즈를 연이어 내라는 듯이 말이다.

벌써 마음 한켠에서는 롤코 타이쿤 수준의 시리즈 대작이 되어 있었다. 

모기헌터를 하면서 느낀게 확실히 게임에 맞는 비쥬얼 요소가 있어야 한다는 걸 다시금 상기하면서 사용될 에셋을 꾸려나갔다. 

해커톤 게임 개발 기록 이미지 36

누구나 그렇겠지만 

방향이나 소재가 명확해 지고 나서는 크게 어려움이 없었다.

조금더 나은 디자인, 나은 사용성. 나은 스토리. 다양한 캐릭터. 살을 붙여 나가기만 하면 되니까

그리고 그동안 AHL, 모기헌터, 홍보왕까지 오면서

공통적인 모듈이 몇개 만들어졌다.

리더보드(랭킹현황), 닉네임 규칙, 데이터 저장 방식, 이동패드 및 시야 조정. 

이미지 역시 처음 컨셉 이미지 정도만 직접 요청하고, 

대량의 유사, 시리즈 이미지가 필요한건 API 를 통해서 처리했기 때문에 결과물이 나오는 속도는 첫날에 비해 월등히 빨라졌다. 

해커톤 게임 개발 기록 이미지 37

팅겨 던지는게 의도한 동작은 맞는데 손이 둔한 탓인지 난이도가 좀 높게 느껴져서

앵그리버드처럼 당겨서 예상 궤도를 보고 던지는 부분도 추가를 했다.

이미 새총쏘기에서 시험한 기능이기도 하고.

이렇게 과거 시험 했던 기능들이 다시 한곳에 맞물리며 사용되는게 기분이 좋았다. 

10~15분 정도의 플레이 타임을 가진 스토리의 게임이 완성됐다. 

게임이라고 이름 붙일만한 3번째 게임이었다. 

해커톤에 어떤 게임을 낼지.. 어떤 게임을 보완할지 고민이 들었다..

새 게임을 만들어야 하나..  딱히 당장 생각나는 아이템은 없었다.

그나마 욕을 덜 먹던 커뮤에 게임 한번 해주십사 글을 올리고 잠을 청했다. 

20일 - 새로운 시작

지금까지 만든 것 중에 하나를 해커톤에 낼까 하면서도 왠지 모를 아쉬움이 들었다.

말일까지 시간도 여유있는데 뭔가 더 나은걸 만들 수 있을것 같았다.

더욱이 심사 평가 요소중 첫번째가 "재미" 였는데.

앞에 세가지는 잼알못인 내 기준에서도 "재미" 라고 하기엔 아쉬움이 많았다.

휴식이 필요했다.. 

최근 잠깐씩 하기에는 디펜스 게임이 그나마 나았다. 거의 방치해도 되고, 턴이 길지 않고 해서.. 

잠깐... 나는 이제 게임을 만들수 있자나.

마음의소리 "내가 재미있게 할 만한 디펜스 게임을 만들자"

뇌 "ㅇㅇ 동의" 

이성과 감성이 일치하는 몇 안되는 순간이었다. 

디펜스 게임을 하면서 이러쿵 저러쿵 궁시렁 대고는 했다... 

위에서 아래로 내려오는 류의 디펜스 게임들은 캐릭터와 기술만 다르지 개념은 너무 비슷해... 이런건 나도 만들겠다... 하지만 그렇지 못했다

물론 아래와 같은 방식 외에 다양한 디펜스 게임이 많지만 하필 내가 아래와 같은 게임을 많이 했고 또 좋아한다. ㅋㅋㅋ

해커톤 게임 개발 기록 이미지 38

그러나 이제는 할 수 있다. 진짜루. 

같은 게임을 만들고 싶지는 않았다. 

그동안 시험한 기능들이며 기억들을 훑어 봤다.

활. 물리시험. 디펜스. 

유튜브는 또 내게 살며시 고지전의 한장면을 보여준다... (진짜 이새키 내 뇌를 해킹하나 싶다)

고지전 내용중 마지막 야간의 압도적인 물량의 꽹과리 부대... 

멀리서 부터 때지어 오는 대군...

방향이 정해졌다. 

활로 수성하는 디펜스 게임. 

그동안 봐왔던 top-down 방식이 아니라 

먼거리를 3D 의 느낌의 시야로... 

바로 연구실을 차려 진행했다.. 

해커톤 게임 개발 기록 이미지 39

기존의 시험했던 것들이 다수 재사용되면서 시간도 오래 안걸리고 결과도 의도한대로 잘 진행 되었다. 

이때 빌보드 라는 개념을 처음 알았다. 

아무래도 시야는 3D 를 하되, 적을 빼곡히 채우기에 3D 는 스맛폰에서 무리가 되지 않을까 해서 한 선택이었다.

거리감이나, 궤도 등이 제법 그럴싸하게 보였다. 

한 화면에 최대 500명.. 멀리서부터 까마득한 적으로 채워졌지만 fps 는 가끔 튀기는 해도 120 을 유지했다. 

다만 처음엔 꽤 흥미롭고 재미있었는데.. 적이 워낙 많아서 힘들고 손가락이 저려왔다... 

아... 이건 아니다 싶었다. 

하지만 FPS 를 할 때 똥쟁이 소리 들을까봐 개돌하다 가끔 전세가 유리할때나 가끔씩 스나를 몰래 하던 내게는

디펜스 게임이자 저격의 재미도 있고 꽤나 근사한 결과물로 보였다.

또 대작의 기운이 느껴진다... 

수많은 대군 앞에 성벽을 홀로 사수하는 외로운 궁사... 크으으으..... 

근엄하고 성스러운 제목을 붙일때다.

뇌 "조선으로 간 스나이퍼"

아... 아까 FPS 스나를 상상한 내 죄다.. 

듣자마자 손발이 오그라 드는 저 싸구려 노벨 스러운 작명이 뭐냔 말이다.

뇌 "이세계 조선으로 간 대한민국 육군의 저격수가 왜군과 알 수 없는 위험으로 부터 조선을 구하는 이야기"

나 "동의"

사실 이렇게 인정하게 된 가장 큰 이유는 "손이 저려서"

기관총 들고가자 기관총...대군은 기관총으로 쓸어야 제맛이지 

그렇게 플레이어는 활에서 M60 과 저격용 라이플을 갖추게 되었다. 

이제 적의 이미지를 생산하고... 

근데 빌보드로 만들어진 적은 멀리있을때는 그럴싸 했지만 가까이 올수록 그 모습이 우스웠다. 

이때 적을 3D 로 만드는 것을 깊게 고민했고 이때 "메쉬"와 "리깅" 이라는 작업을 알게 되었다. 

공격에 의해 불이 나거나 하는 모습은 전에 소방호스 시험에서 만든 연기와 화염 스프라이트를 재사용했다. 

이 외에도 "조선스나" 에서는 몇가지 차별점이 있었는데

하나는 플레이전 아이템을 미리 배치해서 적을 방해하는 배치 시스템과 

해커톤 게임 개발 기록 이미지 40

주요 이벤트 발생시 웹툰처럼 보여주는 "웹툰 트리거" 였다.

해커톤 게임 개발 기록 이미지 41

이렇게 이날은 온전히 하나의 새로운 게임에 집중했다.

21일 - 에셋

게임성을 갖추어 가면서 점점 에셋의 중요함. 또 에셋 관리의 중요함을 느끼게 되었다.

부하를 생각해서 먼곳의 적은 빌보드,, 가까우면 어떤 이펙트(각성효과등)을 통해 3D 애니메이션에 걷거나 뛰는 리깅을 입히려고 했다. 

종류별로 적을 만드는것도 일이고, 이미지, 메쉬, 리깅, glb 등을 관리하려니 그냥 다운로드 받고 몰아 넣어서는 도저히 관리가 안되었다.

결국 다시 전용 에셋 관리를 만들게 됐다.

해커톤 게임 개발 기록 이미지 42

하는김에 하나의 파일로 구성되었던 게임 코드를 

가급적 영향이 없는 한도내에서 분리하는 작업을 병행했다.

ex. 무기관련, 적관련, 아군관련, 보상처리관련, 레벨관련 등. 

반드시 하나의 파일에서 상태 관리가 되어야 하는 것 하나를 제외하고는 분리 작업을 진했했다.

컨텍스트 관리 측면에서도 꼭 한번은 거쳐야 하는 작업이었다.

문득 과거에 -게임을 만들때에는 제일 먼저 만드는게 "맵 에디터"- 라는 말이 떠올랐다.

출처는 기억이 안나지만 에셋 관리 작업을 하면서 그 이야기의 의미가 이해되는 것 같았다. 

위의 내용중 공개된 게임은

echoplayroom.com 에서 보실 수 있습니다. 

감사합니다 (_ _)

만든 것들 — https://echoplayroom.com

· SIGNAL HOME   https://echoplayroom.com/games/signal-home/game

  8월 10일, 20시간 만에 만든 첫 작품. 눈 감고 소리만으로 하는 오디오 어드벤처. (창피하니까 접속은 하지 마세요) 

· 모기 헌터   https://echoplayroom.com/games/mosquito

  좌·중·우 공간음향으로 위치를 듣고 잡는 게임. 헤드셋 권장.

· ALL HANDS : LAUNCH   https://echoplayroom.com/games/all-hands-launch

  다 같이 누르고 있다가 정확히 0초에 놓는 멀티플레이 로켓 발사.

· 홍보왕 : 골목길   https://echoplayroom.com/games/promo-king

  명함 한 장으로 시작해 신문·월간지를 배달하는 투척 게임.

· 조선으로 간 스나이퍼   https://echoplayroom.com/lab/joseon-sniper

  활에서 M60까지. 성벽 하나로 대군을 막는 저격 디펜스.