ShadowOfTheColossus-PC
Shadow of the Colossus(PS4, CUSA08809)의 네이티브 윈도우 포트 – 직접 게임 덤프를 가져와 실행
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗회로를 짜고, 펄스를 쏘고, 연쇄로 점수를 터뜨려라. 6×6 회로 보드 위에서 즐기는 픽셀 로그라이크 퍼즐 웹게임
전선으로 발사기 → 정산기 길을 잇고, 그 길 위에 모듈을 놓습니다. 발사하면 에너지 펄스가 회로를 따라 달리며 모듈을 지날 때마다 값이 바뀌고, 정산기에 닿는 순간 점수가 됩니다.
축전기로 전하를 채운 뒤 증폭기로 곱하고, 분열기로 갈라 두 정산기를 동시에 노리고, 고리를 만들어 같은 증폭기를 여러 번 지나게 하면 점수는 수천에서 수억까지 불어납니다. 하지만 열이 120에 닿으면 멜트다운입니다.
점수 = ⌊ 100 × Q × M × (1 + min(K, 20) / 10) × H ⌋
| 값 | 의미 | 올리는 방법 |
|---|---|---|
| Q | 전하(기본 점수) | 축전기 |
| M | 배율 | 증폭기 · 메아리 · 임계로 · 바이러스 처치 |
| K | 연쇄(모듈을 지난 횟수, 20에서 멈춤) | 모든 모듈 +1, 공명기는 +4 |
| H | 열 배율: 30 / 60 / 90 이상이면 ×1.5 / ×2 / ×3 | 가열기. 120이면 멜트다운 |
모든 계산은 BigInt로 해서 점수가 아무리 커져도 정확합니다.
| 모듈 | 효과 | ||
|---|---|---|---|
| 축전기 | 전하 Q를 더합니다. 증폭기 앞에 두세요. | ||
| 증폭기 | 배율 M을 곱합니다. 점수가 가장 크게 느는 모듈입니다. | ||
| 분열기 | 펄스를 전방·오른쪽 두 갈래로 나눕니다. | ||
| 공명기 | 연쇄 K를 +1 대신 +4 올립니다. | ||
| 메아리 | 다음 증폭기가 ×2를 한 번 더 적용합니다. | ||
| 가열기 | 열을 올려 열 배율을 키웁니다. 멜트다운에 주의하세요. | ||
| 연장기 | 펄스가 갈 수 있는 칸 수(TTL)를 늘립니다. 고리 회로의 핵심입니다. | STAGE 5 | |
| 임계로 | 열이 60 이상이면 M을 크게 곱합니다. | STAGE 6 | |
| 냉각기 | 열을 내립니다. 큰 회로의 멜트다운을 막아 줍니다. | STAGE 8 |
차단 타일은 짝수 스테이지마다 생기고, 그 칸에는 전선을 놓을 수 없습니다. 바이러스는 펄스로 처치하는 사냥감입니다.
| 동작 | 방법 |
|---|---|
| 전선 그리기 | 빈 칸에서 드래그 (지나간 칸이 진행 방향을 향함) |
| 모듈 배치·이동 | 오른쪽 목록에서 보드로 드래그 · 보드 위 모듈 드래그 |
| 합성 | 같은 종류·같은 레벨 모듈을 서로 위에 놓기 |
| 회전 | 클릭 · 마우스 휠 · R (Shift = 반대 방향) |
| 제거 / 판매 | 우클릭 · Del / 보관함 모듈을 두 번 우클릭 |
| 발사 | Space |
| 되돌리기 / 다시 실행 | Ctrl+Z / Ctrl+Y |
| 재생 속도 | 1 2 3 = 1× / 4× / 16×, S = 즉시 결과 |
| 일시정지 / 한 틱 | P / . |
| 도감 / 도움말 | C / H |
처음 실행하면 튜토리얼이 기본 조작을 안내합니다. 진행 중인 런은 자동으로 저장돼 브라우저를 닫았다 열어도 이어집니다.
Node.js 20.19 이상이 필요합니다.
git clone https://github.com/monitari/overstack.git
cd overstack
npm install
npm run dev # http://localhost:5173
| 명령 | 설명 |
|---|---|
npm run dev | 개발 서버 |
npm test | 자동 테스트 (Vitest) |
npm run typecheck | 타입 검사 |
npm run build | 타입 검사 + 프로덕션 빌드 → dist/ |
npm run balance | 자동 플레이 봇으로 스테이지별 난이도 보고서 출력 |
src/core는 DOM에 의존하지 않는 순수 TypeScript입니다. 발사하면 simulate()가 결과를 끝까지 계산하고, UI는 틱별 타임라인을 재생만 합니다. 그래서 재생 속도와 상관없이 점수가 항상 같습니다.(tick, phase, pulse, seq) 이벤트 큐를 씁니다. 같은 시드와 같은 회로는 언제나 같은 결과를 냅니다.tests/bot.ts가 런 수십 개를 자동으로 플레이하고, 그 결과로 스테이지 목표를 맞췄습니다.--u)의 배수로 맞췄습니다.세부 규칙, 수치, 코드 구조, 확장 방법은 설계 노트 (docs/DESIGN.md) 에 정리돼 있습니다.
localStorage에만 남습니다. 저장 형식이 크게 바뀌면 이전 런을 이어 하지 못할 수 있습니다.