Tempo

개요

디렉터가 조건만 깔면 월드가 받아 상황을 키우는, 긴장 강약 자동 조절 시스템.

Tempo 가 하는 일

게임이 알아서 위기 상황을 만들어내는 시스템입니다. 연출 담당(디렉터) 이 불·비·바람 같은 조건만 슬쩍 깔아두면, 월드 반응 쪽이 그 조건을 받아 불이 번지듯 상황을 키웁니다. 한 장면 한 장면 미리 짜두지 않아도, 매번 다른 상황이 알아서 벌어집니다.

두 게임에서 아이디어를 가져왔습니다.

  • Left 4 Dead — 상황의 강약(템포)을 자동으로 조절.
  • The Legend of Zelda: BotW — 불·물·전기가 정해진 규칙대로 서로 반응.

이름이 Tempo 인 이유: 이 패키지가 결국 하는 일이 게임의 긴장 '템포(강약)'를 조절하는 것이기 때문입니다.

한 바퀴 도는 흐름

[디렉터]  ──조건 깔기(불·비·바람·번개)──▶  [월드 반응]
   ▲                                          │
   │  긴장도 되돌려받기                        │ 결과 계산 (번짐·꺼짐·전기 통함)
   │  (플레이어 위협 + 주변에서 벌어지는 일)   ▼
   └──────────────  [긴장도 계산기]  ◀── 플레이어 위협 / 지금 벌어지는 일

세 부분이 매 프레임 항상 긴장도 → 디렉터 → 월드 순서로 돕니다.

부분클래스하는 일
월드 반응WorldReaction격자에서 규칙대로 번지고, 지금 벌어지는 일 목록을 갱신
디렉터DirectorBrain긴장도를 보고 국면을 정해, 예산 안에서 조건만 깖
긴장도 계산기TensionModel플레이어 위협 + 주변 상황을 합쳐 0~1 숫자 하나로

기본 원칙

  1. 역할을 둘로 나눈다. 월드 반응은 디렉터의 존재를 전혀 모릅니다. 규칙대로 번지기만 합니다.
  2. 디렉터는 적을 직접 만들지 않는다. 대신 조건만 깝니다(상류에 불·비·바람·번개구름).
  3. 디렉터가 보는 건 숫자 하나 — '긴장도'(0~1). 플레이어 위협 + 주변에서 벌어지는 일을 합친 값.
  4. 숫자는 전부 바깥에서 조정. 규칙표·기준값·가중치는 데이터로 빼서 코드 없이 만집니다.

다음으로

목차