SEONGGUK.SYS
◀ ITEM BOX

Crypt Survivors

GAME

자동 전투 시뮬레이션으로 밸런스를 검증하는 불릿헤븐 로그라이트

기간
2026.08
역할
기획 · 구현 단독
사용 기술
PixiJS v8 · Vite

개요

순수 JavaScript와 PixiJS v8로 만든 불릿헤븐 로그라이트입니다.

플레이어는 이동으로 적 무리를 유인하고, 무기는 자동으로 발사됩니다. 레벨업마다 무기·패시브·정령을 선택하며, 무기를 최대 레벨까지 올리면 진화합니다. 런에서 얻은 골드는 대장간의 영구 강화로 이어집니다.

던전크래프트와 에셋을 공유하되, 같은 콘텐츠를 턴제와 실시간 루프에 각각 적용해 상태·충돌·밸런스 구조의 차이를 비교했습니다.

문제와 해결

  1. 01

    같은 조건의 밸런스 반복 검증

    플레이어 조작과 프레임 편차가 섞이면 변경 전후 난이도를 동일한 조건에서 재현할 수 없었습니다.

    게임 규칙을 PixiJS 렌더링과 분리하고 시드 기반 헤드리스 하네스로 여러 런을 반복해 생존 시간·초반 사망·골드 분포를 비교했습니다.

  2. 02

    공간 해시 기반 충돌 탐색

    모든 엔티티가 매 프레임 서로를 탐색하면 개체 수가 늘수록 충돌 판정 비용이 급격히 커집니다.

    월드 엔티티를 공간 해시에 등록하고 인접 셀만 조회해 탐색 범위를 줄였습니다.

  3. 03

    공격 예고와 판정 시점 동기화

    쿨다운 직후 공격이 바로 발사되면 회피 가능성보다 운이 난이도를 결정했습니다.

    공격을 캐스트 큐에 넣어 예고 구간을 먼저 보여주고, 시각 효과와 실제 판정이 같은 시간 데이터를 사용하도록 맞췄습니다.

주요 구현

회고

같은 에셋을 실시간 전투에 적용하며 턴제와 다른 충돌·상태 관리 비용을 확인했습니다. 반복 플레이가 필요한 밸런스 문제는 자동 시뮬레이션으로 먼저 좁힐 수 있었습니다.

화면

◀ ITEM BOX