NTs: Tower Protocol을 만들고 있습니다. NT 타워를 한 층씩 올라가며 층마다 다른 과제를 푸는 쿼터뷰 RPG입니다. 층이 120개가 넘고 그 위로도 계속 생성됩니다.
층을 손으로 하나씩 만들 수는 없으니 데이터로 찍어 냅니다. 문제는 그다음이었습니다.
같은 방을 120번 걸었습니다
처음 구조는 이랬습니다. 민원 홀 방 하나를 만들어 두고, 층마다 카운터와 벤치를 35%씩 지워서 변화를 줍니다. 숫자로는 층마다 다른 방입니다.
플레이해 보니 전부 같은 방이었습니다. 소품 몇 개가 빠지고 들어오는 건 걸어 다니는 사람 눈에 안 보입니다. 눈에 보이는 건 벽이 어디 있고 통로가 어디로 나 있느냐입니다. 그건 하나도 안 바뀌고 있었습니다.
받은 제보도 정확히 그 말이었습니다. "맵의 구조가 매 층마다 동일한데 이것도 다양화가 필요해 보여."
구역마다 방을 따로 짰습니다
지금은 구역 열세 개가 각각 다른 방을 씁니다. 민원 홀, 컨베이어 라인, 석조 회랑, 밀폐 온실, 환형 룬 회랑, 시계 회랑, 전술 훈련장, 실내 승강장, 격리 포드, 동심 보안 구획.
방은 글자로 그립니다. 우물 정자가 벽, 마침표가 바닥, P가 기둥, S가 시작, E가 승강기, m이 몬스터 자리입니다. 소품이 붙으면서 글자가 늘었습니다 — 컨베이어, 석조 제단, 배양조, 룬 원판, 시계 기둥, 탄약 상자, 바리케이드.
중요한 건 처음에 소품이 아니라 구조부터 바꿨다는 것입니다. 벽과 기둥과 통로만으로 콜로네이드, 컨베이어 열, 온실 칸, 환형 회랑을 만들었습니다. 컨베이어 열은 긴 가로줄 사이의 좁은 통로가 이동을 강제하고, 환형 회랑은 가운데를 빙 둘러 가게 만듭니다. 걷는 방식 자체가 달라야 다른 방입니다. 구역 성격을 드러내는 물건은 그 위에 얹었습니다.
방 크기는 24×20으로 고정입니다. 카메라 경계와 미니맵이 그 크기를 전제하고 있어서, 방마다 크기를 다르게 하면 그 둘을 전부 손봐야 합니다.
흔들되 길은 막지 않습니다
방이 열세 개라도 층은 120개입니다. 그래서 층 번호로 씨앗을 고정해 뒤집기와 소품 배치를 흔듭니다. 같은 층은 언제 들어가도 같은 모양입니다.
여기에 규칙을 하나 걸었습니다. 흔드는 연산은 길을 유지하거나 넓히는 것만 씁니다.
이유는 씨앗이 고정이라는 데 있습니다. 무작위로 기둥을 하나 떨어뜨렸는데 그게 하필 좁은 통로를 막으면, 그 층은 못 깨는 층이 됩니다. 그리고 씨앗이 고정이니 그 사람에게는 다시 들어가도 똑같이 막혀 있습니다. 다시 시도해서 넘어갈 수 있는 종류의 사고가 아닙니다.
그래서 빌드에 검사를 넣었습니다. 층을 전부 만들어 보고, 각 층에서 시작 지점부터 너비 우선 탐색으로 걸어가 모든 몬스터 자리와 승강기에 닿는지 확인합니다. 벽으로 둘러싸인 자리에 몬스터가 하나라도 들어가면 그 층은 목표를 채울 수 없으니까요.
브리핑 문구를 실제 규칙으로 바꿨습니다
층에 붙는 환경 기믹도 처음에는 문구뿐이었습니다. "비상 조명 · 탐지 범위 감소"라고 쓰여 있는데 실제로는 아무것도 안 바뀌는 식입니다.
아홉 개 중 일곱 개에 규칙을 붙였습니다.
| 문구 | 실제로 바뀌는 것 |
|---|---|
| 비상 조명 | 몬스터 탐지·추적 반경 ×0.6 + 화면 감광 |
| 불안정 중력 | 13초마다 3.2초 동안 이동 입력이 90/180/270도 회전 |
| 보안 강화 | 정예 1기 추가(체력 ×1.9, 공격력 ×1.4), 목표 수도 상승 |
| 에너지 누출 | 12초마다 방출. 안전 구역 밖이면 18 피해. 구역은 주기마다 이동 |
| 시간 왜곡 | 이벤트 파도 간격 ×0.8 |
| 공명 증폭 | 플레이어 공격 쿨다운 ×0.75 |
| 안전 구역 | 초당 3.5 체력 회복 |
나머지 둘(구조 재배열, 민간인 잔류)은 걸 시스템이 아직 없어서 문구로만 남겨 뒀습니다. 그리고 그 둘이 어떤 수치도 건드리지 않는다는 것을 검사 항목으로 박아 뒀습니다. 없는 기능을 흉내 내다가 나중에 진짜로 만들 때 무엇이 이미 도는지 모르게 되는 것보다 낫습니다.
이어서 읽을 것
층을 늘리기 전에 화면과 시뮬레이션을 떼어 놓아야 했습니다. 시뮬레이션을 화면에서 떼어 놓았습니다에 그 구조가 있습니다. 저장 파일을 믿지 않는 쪽은 저장 파일을 외부 입력으로 취급합니다입니다.