만든 도구진행 중

설계

패턴을 읽어 이긴다는 말을 규칙으로 옮기면, 전조 시간이 유일한 손잡이가 됩니다.

44초식

「패턴을 읽어 이긴다」는 말을 실제 규칙으로 옮기는 일입니다. 옮기고 보니 손잡이가 «전조 시간» 하나였습니다.

먼저 — 「읽을 게 있어야 읽습니다」

「패턴을 읽는 게임」을 만들려면, 읽을 수 있는 게 화면에 있어야 합니다.

당연해 보이는데 실제로는 잘 안 됩니다. 적이 그냥 때리면 읽을 게 없습니다. 반응만 있습니다.

그래서 적이 공격하기 직전에 표시를 띄웁니다. 그 표시가 어떤 종류의 공격인지 알려 줍니다.

그리고 손잡이가 하나뿐이었습니다

여기가 설계에서 제일 중요한 발견입니다.

「읽고 대응한다」를 쉽게 하거나 어렵게 하려면 뭘 만져야 할까요. 후보가 여럿 같은데, 실제로는 하나였습니다.

표시가 떠 있는 시간(전조 시간).

전조 시간이 결과
길면 보고 생각하고 고를 여유가 있음 → 쉬움
짧으면 보자마자 손이 나가야 함 → 어려움
너무 짧으면 읽을 수가 없음 → 이 게임이 아니게 됨

마지막 줄이 중요합니다. 너무 짧게 만들면 「읽는 게임」이 「반응하는 게임」으로 바뀝니다. 난이도만 오르는 게 아니라 장르가 바뀝니다.

그래서 난이도를 올릴 때 전조를 줄이는 대신 다른 걸 건드려야 합니다 — 패턴 종류를 늘리거나, 섞어 내거나.

「스킬을 주는 것」과 「무공을 주는 것」은 다릅니다

이것도 설계에서 갈린 자리입니다.

스킬 무공
얻으면 선택지가 늘어남 할 수 있는 «종류»가 늘어남
쓰는 법 버튼 하나 더 대응할 수 있는 상황이 늘어남
안 쓰면 그냥 안 씀 그 패턴에 못 대응함

이 게임은 뒤쪽입니다. 새로 배우면 버튼이 하나 느는 게 아니라 「이제 이 패턴을 받아넘길 수 있다」가 됩니다.

그래서 획득이 곧 공략입니다. 못 이기던 적을 새 무공을 배워서 이깁니다.

새 어휘를 만들지 않습니다

작은데 중요한 규칙입니다.

게임을 만들다 보면 새 용어를 만들고 싶어집니다. 세계관에 맞는 멋있는 이름을요.

그런데 새 용어를 하나 만들 때마다 플레이어가 외워야 할 게 하나 늘어납니다. 그리고 이 게임은 이미 외울 게 많은 게임입니다 — 패턴을 외우는 게 핵심이니까요.

그래서 시스템 쪽 어휘는 최대한 안 늘립니다. 외우는 예산을 패턴에 몰아줍니다.

「가운데 칸」이 학습을 만듭니다

제일 마음에 드는 설계입니다.

대응 결과가 둘이 아니라 셋입니다.

결과 무엇
맞게 고름 완벽하게 막고 반격
틀리게 고름 60%만 맞음 ← 가운데 칸
아무것도 안 함 다 맞음

가운데 칸이 왜 필요하냐면 — 틀린 시도와 안 한 시도를 구분해야 하기 때문입니다.

만약 틀리면 다 맞는다면, 플레이어는 확신이 없을 때 아무것도 안 하게 됩니다. 어차피 결과가 같으니까요.

가운데 칸이 있으면 모르겠어도 일단 시도하는 게 이득입니다. 그리고 시도해야 배웁니다.

틀려도 조금 나은 결과가 있어야, 사람이 시도하고 배웁니다.

전부에게 주면 아무 의미가 없습니다

마지막 규칙입니다.

좋은 기능을 만들면 모든 적에게 다 붙이고 싶어집니다. 그런데 그러면 그 기능이 특별하지 않게 됩니다.

전조가 모든 공격에 다 뜨면, 플레이어는 전조를 안 보게 됩니다. 항상 있는 건 배경이 되니까요.

어떤 공격에는 전조가 없어야, 있는 공격의 전조가 신호가 됩니다.

여기부터는 자세한 기록입니다

44초식과 26신물. 기둥은 하나다 — 반사신경으로 이기지 않는다.

읽을 게 있어야 읽는다

패턴을 읽어 이기는 전투는 말은 쉬운데, 규칙으로 옮기면 요구가 하나 나온다. 적의 모든 위협 동작에 전조가 있어야 한다.

전조가 없으면 남는 건 반응 속도뿐이고, 그건 이 게임이 하려는 것과 정반대다. 그래서 전조는 연출이 아니라 규칙이다. 빼면 그 적은 설계 위반이다.

그리고 전조가 규칙이면 전조 시간이 난이도 손잡이가 된다. 어렵게 만드는 방법이 “더 아프게”가 아니라 “읽을 시간을 줄이게”다. 이쪽이 훨씬 정직하다 — 플레이어가 진 이유를 자기가 안다.

특히 절초는 전조를 길게 잡는다. 맞는 것이 사고가 아니라 선택의 결과여야 하기 때문이다. 0.5초로 죽이면 “못 봤다”고 하고, 2.4초를 주면 “알고도 못 했다”고 한다. 뒤쪽만이 다음 판에 다르게 하게 만든다.

이 결정이 구현에 그대로 청구서를 보낸다. 전조 시간을 실시간으로 돌릴 수 있어야 하는데, 처음 짠 코드는 그게 안 됐다.

스킬을 주는 것과 무공을 주는 것은 다르다

여기서 오래 헤맸다. 적에게 공격을 여러 개 주는 것과 무공을 주는 것은 다른 일이다.

무공이 되려면 셋이 있어야 한다 — 이름 · 계열 · 파훼법.

무협의 싸움은 세 박자다. ① 한쪽이 초식을 낸다 → ② 상대가 그것이 무엇인지 알아본다 → ③ 파훼초로 받는다. 그런데 대개 ①조차 없다. 적의 공격 이름이 “횡베기 광역”이면 그건 이름이 아니라 동작 설명이고, 알아볼 대상이 없으니 ②가 성립하지 않는다.

새 어휘를 만들지 않는다

파훼 체계를 설계할 때 제일 큰 유혹이 적 전용 상성표를 새로 만드는 것이다. 하면 안 된다. 배울 것이 두 배가 되고, 둘 다 안 배운다.

플레이어가 이미 쓰는 축 위에 적을 세운다. 플레이어가 네 계열을 골라 쓰고 있으면 적의 초식도 그 네 계열에 넣는다. 그러면 파훼가 이미 아는 조작이 되고, 새 버튼도 새 규칙도 없다.

상성은 N순환으로 짠다. 각 계열이 정확히 하나를 깨고 정확히 하나에게 깨지면, 외울 것이 N²이 아니라 N이다. 검사는 셋이다 — 자기 자신을 안 깨는가, 파훼자가 일대일로 대응하는가, N번 따라가면 제자리로 오는가.

그리고 상성마다 한 줄짜리 이유를 붙인다. “步가 劍을 깬다 — 칼은 닿아야 벤다”처럼. 이유 없는 상성표는 표를 띄워 놓고 봐야 하고, 이유가 있으면 한 번 듣고 안다.

파훼법은 숨기지 않는다. 숨기면 퍼즐이 아니라 암기 시험이 된다. 알려 주고도 어려워야 좋은 액션이다 — 아는 것과 0.9초 안에 계열을 바꿔 입력하는 것은 전혀 다른 일이다.

가운데 칸이 학습을 만든다

판정을 세 갈래로 갈랐다.

대응 결과
정답 계열 완전 무효
오답 계열 피해 60%
무대응 정타

가운데 칸이 이 표의 전부다. 오답을 정타와 같게 두면 아무도 시도하지 않고, 시도가 없으면 상성을 배울 기회 자체가 없다. 틀려도 조금 낫다는 걸 몸으로 알아야 다음에 또 시도한다.

반대로 오답이라고 판정을 닫아 버려도 안 된다. 전조가 남아 있으면 다시 낼 수 있어야 한다.

전부에게 주면 아무 의미가 없다

초식을 모든 적에게 주면 그건 시스템이 아니라 소음이다. 마흔 기가 몰려오는 화면에 마흔 개의 기수식이 뜨면 정보가 아니라 배경이 된다.

그래서 등급 사다리로 희소성을 지킨다 — 잡졸은 없음, 두목은 서명 초식 하나, 보스는 세트와 절초.

읽는 방식도 상황마다 다르게 뒀다. 글자는 1:1에, 색은 군중에. 보스전은 표찰을 읽을 여유가 있지만 전장은 없다. 군중에서는 몸이 계열 색으로 빛나게 한다 — 읽을 것이 없고 보면 안다. 색약 대비로 색상만이 아니라 명도까지 벌려야 하는데, 그 이야기는 아트 쪽이다.

개체별 초식은 난수가 아니라 개체 고유값으로 뽑는다. 부를 때마다 달라지면 “저 놈은 붉게 빛난다”를 배울 수 없다. 화면의 두목 셋은 서로 다르되, 각자는 끝까지 제 초식을 쓴다.

무엇을 보고 담나

레퍼런스를 모을 때 기준이 하나 있다. “재밌더라”로는 안 담는다.

담는 기준은 내가 지금 못 푸는 문제를 이 게임이 이미 풀었는가다. 패턴을 읽어 이기는 전투가 필요해서 그 계열을 모았고, 그게 44초식으로 갔다.

담을 때 적용처를 같이 적는다. 안 적으면 반년 뒤에 왜 담았는지 모른다. 링크만 남은 레퍼런스는 자료가 아니라 짐이다.