A4Room
← Devlog 목록

[모아이는내려찍고싶다] 1. Hook, Simple, Juicy로 설계한 1v1 슬램액션

MoaiWannaSlam 개발기 시리즈

모아이는내려찍고싶다는 원터치 입력강한 피드백을 중심으로 만든 실시간 멀티플레이 슬램 액션 게임입니다.

모아이는내려찍고싶다 플레이 장면
내려찍기 타이밍을 읽고 받아치는 순간

게임의 핵심은 심리전입니다. 내려찍기를 시전하면 한 바퀴 회전하는 동안 무적 판정이 생기기 때문에, 상대의 심리를 읽는다면 짜릿한 공격을 선사할 수 있습니다.

저는 의도된 B급을 좋아합니다. 게임에는 방대한 세계관이 있는 것도 아니고, 그래픽이 뛰어난 것도 아닙니다. 하지만 핵심 재미를 검증하고, 기획 의도에 맞는 플레이 감각을 확인하기에는 충분합니다.

이 시리즈는 이 게임을 만들면서 고민했던 내용을 하나씩 복기하는 개발 기록입니다. 첫 글에서는 게임의 핵심 감각을 만든 기준인 Hook, Simple, Juicy를 중심으로 정리합니다.

어떤 게임인가

모아이는내려찍고싶다는 "점프"와 "내려찍기" 사이의 긴장을 중심에 둔 게임입니다.

처음부터 목표는 원터치 조작감으로 1분 동안 최대한 긴장감 있는 게임을 만드는 것이었습니다. 그래서 플레이어가 해야 할 일은 직관적입니다.

이 흐름이 짧고 선명해야 모바일에서도 바로 이해할 수 있고, 멀티플레이에서도 상대와 겨루는 감각이 살아난다고 봤습니다.

점프는 플레이어가 보내는 의도입니다. 지금 움직이겠다는 신호이고, 클라이언트 입장에서는 가장 중요한 입력 이벤트입니다. 내려찍기는 그 입력이 공격으로 전환되는 순간입니다. 서버가 상태를 판정하고, 클라이언트는 그 결과를 받아 화면과 사운드, 이펙트로 크게 보여줍니다.

멀티플레이 게임에서 신뢰성을 유지하기 위해 서버 권위 모델을 사용했는데, 입력과 결과 사이에 네트워크 지연이 끼어들 수밖에 없었습니다. 특히 모바일 환경에서는 프레임 드랍과 통신 지연이 섞여서 체감이 더 나빠지는 문제가 있었습니다. 이 문제는 뒤쪽 트러블슈팅 글에서 따로 다룰 예정입니다.

Hook: 처음 몇 초 안에 이해되는 게임

Hook은 플레이어가 게임을 처음 봤을 때 "이거 한번 해보고 싶다"라고 느끼게 만드는 첫인상입니다.

모아이는내려찍고싶다에서 Hook은 세 가지로 잡았습니다.

게임을 설명하기 위해 긴 튜토리얼을 붙이기보다, 화면을 보고 바로 누르고 싶어지는 쪽을 목표로 했습니다. 특히 "내려찍는다"는 말은 액션의 방향이 명확합니다. 타이틀 화면에서도 이를 이용한 디자인을 적용했습니다.

타이틀 화면에서 내려찍기로 로비에 진입하는 장면
타이틀에서도 내려찍기를 해야 로비로 넘어가는 모습

첫 화면에서부터 플레이어가 해야 할 행동을 보여주고 싶었습니다. 버튼을 누르는 대신, 게임의 핵심 행동인 내려찍기로 시작하게 만들면 타이틀 화면도 작은 튜토리얼처럼 동작합니다.

Simple: 입력은 줄이고 판단은 남기기

Simple은 게임을 얕게 만든다는 뜻이 아닙니다. 조작감을 익히기에는 쉽지만, 게임을 잘하려면 깊이가 필요하게 만드는 것에 가깝습니다.

모아이는내려찍고싶다에서는 입력 체계를 단순하게 두려고 했습니다. 모바일에서도 부담 없이 플레이할 수 있어야 했고, 멀티플레이 상황에서도 플레이어가 조작법이 아니라 타이밍과 상대의 움직임에 집중하기를 원했습니다.

단순한 입력을 유지하기 위해 점프 버퍼코요테 타임을 넣었습니다. 입력 타이밍이 아주 조금 어긋나도 플레이어가 의도한 점프가 나가도록 보정해주면, 조작은 단순하지만 손맛은 훨씬 안정적으로 느껴집니다.

원웨이 플랫폼과의 상호작용도 중요했습니다. 플레이어는 위로 올라갈 수 있지만, 내려찍기를 통해 다시 흐름을 바꿀 수 있어야 했습니다. 이 구조가 있어야 점프와 내려찍기 사이의 선택이 단순한 이동이 아니라 심리전의 재료가 됩니다.

Juicy: 입력 하나를 크게 느끼게 만들기

Juicy는 같은 행동을 더 크게, 더 선명하게 느끼게 만드는 작업입니다.

모아이는내려찍고싶다에서 입력은 단순하기 때문에, 피드백이 약하면 게임 전체가 밋밋해집니다. 반대로 입력 하나가 화면, 소리, 타이밍으로 확실하게 돌아오면 플레이어는 같은 행동을 더 재미있게 느낄 수 있습니다.

이 게임에서 Juicy를 만들기 위해 사용한 요소는 다음과 같습니다.

ㅋ 말풍선 피드백
작은 말풍선 하나도 입력 피드백의 일부로 사용했습니다.

예를 들어 용암 맵에서는 Heat Distortion 셰이더를 넣어 화면이 이글거리는 느낌을 만들었습니다. 게임의 그래픽이 화려한 편은 아니지만, 이런 작은 피드백들이 쌓이면 입력 하나가 더 크게 느껴집니다.

용암 맵 Heat Distortion 셰이더
용암 맵에서 적용한 Heat Distortion 셰이더

특히 멀티플레이 게임에서는 피드백이 단순한 장식이 아닙니다. 플레이어는 피드백을 통해 "내 입력이 처리됐는지", "상대와의 판정에서 어떤 일이 일어났는지", "다음 행동을 해도 되는지"를 판단합니다. 그래서 Juicy는 손맛의 문제이면서 동시에 상태 전달의 문제였습니다.

기술적으로 흥미로웠던 부분

겉으로는 단순한 게임처럼 보여도, 실제 구현에서는 여러 층이 연결되어 있습니다.

처음부터 모든 구조가 완벽하게 잡힌 것은 아니었습니다. 특히 네트워크 오류와 모바일 렉 문제는 아직도 더 정리해야 할 부분이 남아 있습니다. 그래서 이 시리즈에서는 성공한 부분만 정리하기보다, 어떤 문제가 있었고 어떻게 가설을 세웠고 어디까지 해결했는지도 같이 적어보려고 합니다.

마무리

모아이는내려찍고싶다를 만들면서 가장 중요하게 본 것은 "단순한 입력이 어떻게 큰 플레이 감각이 되는가"였습니다.

입력은 단순해야 했고, 결과는 분명해야 했고, 피드백은 과감해야 했습니다. 그 위에 멀티플레이 구조와 서버 판정, 모바일 성능 문제, 배포와 모니터링이 하나씩 얹혔습니다.

다음 글에서는 이 감각을 실제로 움직이게 만든 LÖVE 클라이언트 구조를 정리해보겠습니다.

2편 대표 이미지 2편. LÖVE 클라이언트: 짜릿한 손맛 깎기 점프, 슬램, 코요테 타임, 점프 버퍼, 원웨이 플랫폼을 조정하며 원터치 액션의 손맛을 다듬은 과정을 정리합니다. a4room.com/blog/moai-wanna-slam-devlog-02-love-client-structure