Please One More Block - Out of Index 전시 회고

Please One More Block이라는 게임을 개발하고, Out of Index 2025에서 전시했던 후기를 적습니다.
전시 개요
- 전시 기간: 2025.12.05~07 3일간
- 전시 위치: DDP 아트홀 Out of Index 특별전시관
- 출품작 장르: 소셜 플랫포머 게임
- 출품작 소개: 비동기적 협동 요소가 가미된 플랫포머 게임. 이전 플레이어가 남긴 블록으로 스테이지를 클리어하고, 다음 플레이어를 위한 블록을 남기세요! https://store.steampowered.com/app/4132980/Please_One_More_Block/
- 선정 과정: 66개의 게임 중 7개의 게임 선정
‘챠로’라는 개발자 이름으로 처음으로 대중에게 작품을 소개하게 되었습니다. 저라는 사람을 여러분에게 소개한 느낌이네요. 물론 몇 분이나 기억할까 싶지만, 이번 전시를 계기로 SNS 활동을 재개할 수 있었고, 다른 개발자분들과도 교류할 수 있어서 좋은 기회였다고 생각하고 있습니다. 무엇보다 플레이어 분들이 게임을 즐기는 모습을 직접 보면서 개발을 이어나갈 원동력을 다시 채울 수 있었다는 점이 기쁩니다.
반면 저의 모자란 부분도 실감할 수 있었습니다. 첫째, 제가 만든 게임과 제 능력을 너무 과소평가하고 있다는 거예요. 이게 프로젝트 시작 전에 자꾸 주저하게 만드는 원인이더라고요. 둘째, 구체적인 수치와 데이터로 게임을 설명하는 능력이 부족하다는 걸 느꼈습니다. 자신이 없으니까 명확한 수치로 말을 못 하게 되는 것 같아요. 앞으로는 게임 데이터를 체계적으로 모으고 분석하는 습관을 들여야겠다고 생각했습니다.
가장 중요한 깨달음은, 개발자인 제가 테스트하면서도 계속 플레이하고 싶다면, 그게 바로 다른 사람들에게도 재미있는 게임이라는 강력한 신호라는 거예요. 이런 직관을 믿고 개발 방향을 잡아나가는 게 중요하다는 걸 느꼈습니다.
개발 과정
오랜 소꿉친구이자 동료 개발자인 친구가 협업을 제안했을 때 반갑게 수락했습니다. 같은 분야에서 일하면서도 함께 작업해본 적이 없었기에 더욱 의미있는 기회였다고 생각해요. 전체 기획은 친구가 담당했고, 세부 기능은 함께 조율했습니다. 역할 분담은 프로그래밍에서는 친구는 소셜 기능을, 저는 플랫포머 시스템을 담당했으며, 나머지 작업은 균등하게 나누어 진행했습니다. 아트부분에선 친구는 이펙트 부분을, 저는 에셋으로는 모자른 픽셀아트 부분을 담당했네요.
플랫포머 시스템 구현은 보기엔 쉬워 보였는데… 역시나 생각보다 고려할 게 많았어요. 특히 물리 시스템이 그랬습니다. 처음엔 Unity의 Rigidbody 물리를 쓰려다가 바로 포기했어요. 가속도 제어가 어려웠고, 현실적인 물리를 적용하니 캐릭터가 너무 훅훅 날아가더라고요. 커스텀 물리 시스템을 따로 만들면서 안정성을 확보할 수 있었습니다. 다만 물리 제어 코드가 여기저기 흩어져 있는 게 좀 아쉬워요. 초반에 중앙 집중식으로 관리할 생각을 했어야 했는데 말이죠.
플랫포머에서 조작감을 좋게 만드는 기법들을 미리 조사했다면 더 좋았을 것 같아요. 예를 들어 ‘코요테 타임’이라는 게 있습니다. 블록에서 발을 떼고 약간의 시간 동안은 점프를 허용해주는 거예요. 저희 게임은 2단 점프가 가능하니까, 코요테 타임 내에서는 2단 점프를 온전히 쓸 수 있고, 시간이 지나면 1단 점프만 가능하게 했죠. 이런 세밀한 조정을 거치니까 친구한테 ‘조작감이 훨씬 나아졌다’는 평가를 받았습니다.
충돌 처리에서 특히 문제가 많았는데, 몇 가지 기법으로 해결했어요. 먼저 ‘Skin Width’ 개념을 도입했습니다. 실제 콜라이더와 충돌 감지 레이캐스트 사이에 완충 공간을 두는 거예요. 레이캐스트를 콜라이더 경계 안쪽에서 시작해서 충돌 중에도 감지가 가능하게 만들었습니다. 이걸로 벽 뚫고 지나가는 터널링 현상을 막고, 부동소수점 오차로 인한 떨림도 줄일 수 있었어요. 경사면이나 벽에서의 움직임도 자연스러워졌고요.
캐릭터가 벽에 끼이거나 갇히는 문제도 있었습니다. 실시간으로 블록이 생성되는 게임 특성상 이 문제가 더욱 두드러졌어요. 정석적이 방법인지는 잘 모르겠으나 해결 방법은 다음과 같습니다.
1) 먼저 끼일 가능성이 있는 상황인지 검사합니다. 계산 부하를 줄이기 위해 블록 생성 시, 리스폰 시, 대포 발사 시 세 가지 경우에만 검사를 수행합니다.
2) 그 다음 실제로 갇혔는지 확인합니다. 플레이어 위치의 타일이 Solid 타입인지, 상하좌우의 타일이 Solid 타입인지, 그리고 네 방향으로 레이를 발사하여 모든 거리가 짧은지 검사합니다. 여기서 Solid 타입이란 움직이지 않고 사라지지 않는 타일을 의미합니다.
3) 갇힌 것으로 판단되면 BFS 알고리즘을 사용하여 플레이어 중심에서 가장 가까운 빈 셀로 이동시킵니다.
협업 관련해서는 힘든 일이 없었습니다. 서로 맡은 일 열심히 하는 타입이기도 하고, 일을 미루지도 않았어요. 중간에 몸이 안 좋아서 작업이 지연된 적도 있었지만, 전체 일정에는 큰 문제가 없었습니다. 물론 그렇게 빡세게 진행한 프로젝트가 아니기도 했지만요. 각자의 속도를 존중하면서도 목표를 달성한 좋은 협업 사례였다고 생각해요.
전시 당일
왜 선보이기만 하면 버그가 터질까요… 이번에 내린 결론은 ‘테스트를 반복하면 테스트 방법도 정형화되기 때문’이에요. 사람들은 정말 다양한 방식으로 플레이하거든요. 그래서 지인들을 대상으로 한 QA가 필수입니다. 저희도 나름 주변에 돌려봤는데도 부족했어요. 특히 지인들한테 부탁해도 딱 한 번만 하고 그치니까, 저희가 직접 여러 번 반복 테스트하는 것도 정말 중요하다는 걸 깨달았습니다.
버그도 버그지만, 고쳐야 할 부분이 더 눈에 띄었어요. 개발할 때 우선순위에서 밀렸던 것들이 다시 수면 위로 올라오는 순간이더라고요. 특히 ‘편의성’이 가장 먼저 밀려나는데, 이게 개선 안 되면 게임 기능을 제대로 즐기지 못하니까 결국 필수인 거예요… 아니 필수인 게 너무 많네요. 게임 개발 정말 어렵습니다.
그래도 첫날 반응은 나쁘지 않았어요. 가끔 너무 재밌다고, 스팀 출시는 언제냐고 물어봐 주시고, 이런 게임 정말 취향이라고 해주시는 분들이 계셨습니다. 사실 ‘즐거움’을 표현하는 건 ‘불편함’을 지적하는 것보다 훨씬 용기가 필요한 일인데, 이렇게 전해주셔서 정말 감사했어요. 특히 개선점을 제보해주시는 분들도 계셨는데, 그분들의 의견을 모아서 둘째 날에 바로 개선해서 전시했습니다.
그러니까 너무 편해지기 시작하더라고요. 더 이상 헤매는 분들이 없어지고, 저희가 따로 안내해야 하는 부분이 급격하게 줄었어요. 셋째 날에도 UI/UX를 개선했더니 이제 안내할 일이 사라지고, 그냥 구경만 하는 게 즐거워졌습니다. 이때부터는 ‘스팀에 나중에 출시하면 이런 모드도 내주세요’ 혹은 ‘이런 기능도 추가해주세요’라는 기대에 찬 피드백들이 많아졌어요. 정말 감사한 일이죠.
전시가 이런 부분에서 정말 좋은 것 같아요. 커뮤니티가 얼마나 중요한지 실감했습니다. 개발자와 유저가 직접 만날 수 있는 순간은 생각보다 많지 않거든요. 물론 그분들의 의견이 전체를 대표하진 않겠지만, 즐겨주신 분들의 생생한 데이터를 직접 보고 들을 수 있는 기회는 정말 소중해요.
유저와의 만남뿐만 아니라, 개발자끼리의 만남도 너무 즐겁고 소중한 경험이었습니다. 특히 저는 SNS 관리도 잘 안 했고, 회사 지인들하고만 교류했기 때문에 인디게임 개발자분들과 만날 기회가 적었어요. 근데 이번 기회로 SNS를 더 열심히 관리해야겠다고 느꼈습니다. 인디게임을 앞으로 더 많이 만들기 위해서, 서로 으쌰으쌰하며 원동력을 얻기 위해서… 사실 가장 큰 이유는 그냥 즐거우니까요. SNS로 더 많이 소통하고 싶어졌어요. 서울인디즈 같은 모임도 나가보고 싶다는 생각이 들었습니다. 같은 고민을 가지고 나아가는 사람들과 그냥 만나는 것만으로도 위로와 힘을 얻게 되는 것 같아요.
앞으로의 계획
빠른 시일 내에 개선점과 추가할 부분을 모두 개발하고, QA를 진행하려고 합니다. 내년 초중반쯤 출시를 목표로 하고 있어요. 전시에서 받은 피드백과 저희가 생각하는 ‘이건 꼭 넣고 싶다’ 싶은 부분 위주로 작업할 예정입니다.
병렬로 진행하던 프로젝트도 계속해야 해요. 그쪽도 가벼운 게임이긴 하지만 멀티게임이 될 예정이라 신경 쓸 게 많거든요. 그래도 끝까지 해내고 싶습니다.
끝까지 완성하는 사람이 되고 싶어요. 제 약점은 전반적으로 자신감이 없다는 점에서 나오는 것들이 많은 것 같아요. 근데 막상 남들에게 발표하고 나면 ‘좋다’는 평가를 많이 받으니까, 좀 더 자신을 가지고 달려도 되지 않을까 싶습니다. 중간에 ‘이거 안 될 것 같다’는 생각은 조금 접어두고, 나중에 고치더라도 일단 끝까지 하는 사람이 되고 싶어요. 제가 프로그래밍을 시작했을 때도 ‘되든 안 되든 일단 최선을 다해 도전해본다’는 생각으로 달렸기 때문에 여기까지 올 수 있었거든요. 그 정신을 잊지 말고 끝까지 해내보려고 합니다.
부족한 전시 회고를 읽어주셔서 감사합니다. 기대하신 내용이 아니어도 이런 비하인드가 있었구나 하고 읽어주셨다면 기쁠 것 같습니다. 그럼 다음에 더 좋은 회고와 블로그 글로 돌아오겠습니다 ^0^