제작 노트
게임을 설계하고 만들면서 부딪힌 문제, 고른 방법과 버린 방법, 실제로 쓴 수치를 기록합니다. 모든 글은 각 게임의 설계 문서와 변경 이력을 바탕으로 씁니다.
버튼 하나에 네 가지 몸: 자동 변신과 1/24박 고정 스텝 물리
변신을 플레이어가 아니라 지형에 맡긴 이유와, 칸·박자 단위로 정의한 네 형태의 물리, 게임과 솔버가 같은 stepHero 함수를 쓰는 구조를 정리했습니다.
모든 코스가 통과 가능하다는 보장: 시드 생성기와 층별 BFS 솔버
1/8박마다 누름·안 누름을 탐색하는 층별 BFS, 형태별 안전 여유 MARGIN, 실패 시 난이도 ×0.72 재생성과 이어 풀기, 6개 트랙 실측 결과를 다룹니다.
샘플 없이 곡을 만들고 그 곡으로 게임을 굴리기: FOURSTEP 음악 엔진
트랙 데이터와 시드 멜로디, 지형별 믹스, AudioContext 기준 박자 시계, 지형 경계 라이저와 속도 배율 처리까지 Web Audio 합성 엔진의 구조를 설명합니다.
다리 넷 달린 생명체에서 기하 코어로: 핍 리디자인과 1.2.0의 속도감
1.1.0에서 주인공의 팔다리와 얼굴을 걷어 내고 금속·유리 코어로 바꾼 과정과, 1.2.0의 카메라 롤·줌·FEVER·CLOSE!·코스 맵 설계를 정리했습니다.
샘플 파일 없이 Web Audio로 효과음과 음악 만들기: 게임 일곱 개의 오디오 코드 비교
오디오 파일 없이 오실레이터와 노이즈만으로 효과음·음악을 합성하는 방식을 STARLINK의 37줄부터 FOURSTEP·ORBIT RUSH 음악 생성기, ECHO·JJ의 상태 반응 사운드까지 비교.
줄 하나로 협동을 강제하기: JJ의 탄성 줄 물리 설계
장력 공식과 잠금 릴, 밧줄식 급제동을 정한 과정과 줄 길이를 6칸에서 8칸으로 바꾼 이유를 헤드리스 테스트 수치로 정리했다.
검증된 조각만 이어 붙이는 레벨 생성기: JJ DAILY·RANDOM
상태 탐색 솔버 대신 챔버 템플릿 9종과 안전 여유를 둔 물리 재검증으로 시드 코스를 만든다. 200시드 회귀 테스트 결과까지.
서버는 게임을 모른다: Durable Objects 중계와 지연 락스텝
입력 비트만 중계하는 Durable Object 방, 왕복 시간에 맞춰 늘어나는 입력 지연, 명령을 같은 프레임에 적용해 디싱크를 막은 방법.
2.4KB 리플레이 코드와 서버 재검증 리더보드
입력 로그 압축 형식과 고스트, 그리고 게임 시뮬레이션을 Worker에 번들해 제출된 DAILY 기록을 서버가 직접 재생하는 구조.
줄이 숨을 쉬게: PixiJS 발광 렌더와 장력 합성음
장력을 줄의 색·굵기·소리로 보여 주기 위한 PixiJS 렌더와 Web Audio 합성음 조정, 그리고 SWAP·HARDCORE·PHOTO 모드를 넣은 기준.
빌드 없이 배포하는 웹 게임 사이트: Cloudflare Workers 한 저장소 구성기
저장소 루트를 그대로 올리는 정적 배포에 Worker·Durable Object·D1을 붙인 구성과, 빌드가 없는 빈자리를 캐시 규칙·버전 세 곳 일치·CI 검사로 메운 방법.
궤도 반경 = 박자: ORBIT RUSH v3의 규칙과 별자리 생성기
v3에서 핵심 메카닉을 전부 교체한 이유와, 궤도 크기 세 단계로 박자를 표시하는 규칙을 시드 기반 별자리 생성기로 구현한 과정.
판정 창 140ms와 입력 오프셋, 히트 에러 바를 만든 이유
오디오 시계 기반 판정, 50·95·140ms 판정 창, 8박 자동 보정, 히트 에러 바와 결과 히스토그램의 설계.
중력·분열·블랙홀: 탭 하나로 리듬 어휘를 늘리는 법
버튼 하나로 탭·누름·뗌 세 동사를 나누고, 특수 노드 세 종류의 시간 규칙과 시각 표현을 짝지은 방법.
내 음악으로 궤도 만들기: 브라우저 안에서 끝내는 BPM 분석
업로드 없이 브라우저에서 음악 파일을 디코딩하고 온셋 포락선과 빗살 격자로 BPM·첫 박을 찾아 궤도를 만드는 과정.
게임마다 따로 설치되는 PWA: 폴더별 서비스 워커와 허브의 역할 분담
한 도메인에서 허브와 게임 일곱 개가 각자 서비스 워커를 갖는 구조와, 허브가 게임 폴더를 건드리지 않는 이유, 캐시 접두사와 버전 갱신 흐름.
숫자, 비교차, 시야: STARLINK 규칙을 정하기까지
격자 방향 제한을 없앤 별자리 퍼즐에서 길이 3.2칸, 가림 반경 0.42칸, 끝점 예외, 연결 조건으로 후보를 다잡은 과정을 정리했다.
모두에게 같은 퍼즐을: 시드 결정적 생성기와 유일해 풀이기
날짜 시드로 모든 기기에서 같은 퍼즐을 만드는 생성 파이프라인과, 전파 두 줄로 유일해를 검사하는 풀이기를 실측 수치와 함께 다룬다.
휘는 선을 계산하는 법: ◎ 중력 별 중계의 기하 처리
가려진 두 별을 중력 별로 휘어 잇는 규칙을 판정용 꺾은선과 화면용 곡선으로 나눠 구현하고, 120° 꺾임 제한과 구간 공유 금지로 어긋남을 막은 방법.
여섯 단계 튜토리얼과 요일별 DAILY 설계
실제 규칙 엔진 위에 올린 6단계 튜토리얼과, 서버 없이 날짜 시드로 돌아가는 DAILY의 저장·연속 기록·공유 설계를 정리했다.
다음 게임 PRISM 설계 미리보기: 빛의 경로가 곧 규칙인 WebGPU 퍼즐
아직 출시 전인 PRISM의 설계 문서 v0.1을 바탕으로 8방향 이산 광선 규칙, 3비트 색 모델, 생성기·솔버, WebGPU 렌더와 해상도 계획을 소개.
탭 한 번 = 중력 반전: FLIP의 원버튼 설계
입력을 중력 반전 하나로 줄인 FLIP이 '두 벽과 그 사이 공중'으로 깊이를 만드는 방식, 0.56초 건너기 상수, 브레이크를 탭에서 분리한 이유와 1.0.1 벽 이탈 버그를 정리했다.
벽에선 빨라지고 공중에선 느려진다: 속도 규칙과 BRAKE 게이지
목표 속도 공식과 0.35초·0.15초 시간 상수, 2.5초 소모·4초 회복 BRAKE 게이지를 코드 수치로 풀고, 시간 항이 없는 점수식과의 어긋남을 따져 본다.
요구 방향과 간격으로 "깰 수 있는 터널"을 만드는 법
장애물마다 '있어야 하는 쪽'을 붙이고 건너기 거리 1.25배 규칙으로 실행 가능성을 보장하는 생성기. 200개 시드 시뮬레이션 수치와 2,250m 이후 드러난 문제까지 기록했다.
ENDLESS, DAILY RUN, 그리고 설명서 없는 첫 판
시드 문자열 하나로 갈리는 두 모드, 현지 날짜 기반 DAILY 번호와 기록 저장, 그리고 실제 판 위에서 행동으로 넘어가는 3단계 첫 플레이 안내를 코드 기준으로 정리했다.
작은 행성계를 1/120초로 쪼개기: SLINGSTAR 중력 물리와 궤적 미리보기
행성 질량을 반지름 제곱에 비례시킨 중력 공식, 반발 행성과 블랙홀의 약한 인력, 반암시적 오일러 적분, 그리고 조준 점선이 실제 비행과 비트 단위로 같은 이유를 정리했다.
모든 홀을 직접 쏴 보고 내놓는 코스 생성기: 144회에서 384회 발사로
홀마다 실제 물리로 시험 발사를 돌려 해결 가능성과 기준 샷을 정하는 시드 생성기. 1.1.0에서 384회 검증과 직선 금지로 바꾼 이유와 30일치 DAILY 코스 실측 결과.
하루 하나의 9홀: DAILY 시드, 진행 저장, 이모지 스코어카드
서버 없이 날짜 문자열 하나로 모두에게 같은 코스를 만드는 방법, 중간 저장과 재진입 처리, 타수 비교를 점수제로 바꾼 1.1.0의 스코어카드와 공유 텍스트 설계.
어디를 눌러도 되는 새총: 당겨서 쏘기 입력 설계
휴대폰과 마우스에서 같은 감각을 내기 위해 당김 길이를 필드 단위로 재고, 혜성 대신 화면 아무 곳이나 누르게 한 이유를 화면 크기별 수치로 설명한다.
시드 생성기와 풀이기로 깰 수 있는 레벨만 내보내기: 게임 다섯 개의 방식 비교
FLIP·SLINGSTAR·STARLINK·FOURSTEP·JJ가 무작위 레벨의 해결 가능성을 보장하는 방식을 간격 규칙, 전수 발사, 유일해 풀이, BFS, 2단 물리 검증까지 실제 수치로 비교.
2D 손전등 던전을 3D로: 시뮬레이션은 그대로 두고 렌더러만 바꾼 이유
ECHO를 Three.js r170 3D로 옮기면서 2D 격자 시뮬레이션은 거의 손대지 않고 렌더러만 교체한 과정과, 50° 고정 부감 카메라·벽 컷어웨이를 정한 근거.
소리를 듣는 놈과 빛을 보는 놈: ECHO 사냥꾼 AI 설계
음파가 실제로 도착하는 시각에 소리를 듣는 귀 사냥꾼과 손전등 빛을 보는 눈 사냥꾼. 감지 규칙과 상태기계, 보이지 않는 적을 보여 주는 방법을 수치와 함께 정리했다.
샘플 없이 만드는 공포: ECHO의 Web Audio 사운드 합성
오디오 파일 없이 동굴 잔향, 사냥꾼 거리에 따라 가라앉는 드론, 심장 박동, 드물게 울리는 돌발음을 합성한 ECHO의 사운드 설계 기록.
수정을 먹으면 멈칫하던 이유: 셰이더 재컴파일과 2.1.0 해상도 시스템
조명 가시성 토글이 부른 셰이더 재컴파일 끊김을 밝기 조절과 사전 컴파일로 없앤 방법, 그리고 2.1.0의 MSAA·슈퍼샘플링·동적 해상도·샤프닝 설계.