Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A browser-first sci-fi RPG centered on skill grinds, crafting, and server-authoritative loops. Built with agentic coding harnesses (Claude Code, Codex, Hermes) under human architectural review. Pre-alpha.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Status: Playable pre-alpha — active development. RuneSpace is a browser-first, low-fi sci-fi RPG with a real early-game vertical slice: server-authoritative Play orchestration, Travel/Scavenging, Ferrite Shale Mining, Refining, Welding/Cargo Hold repair, Inventory/Equipment, locations, Power Cell/Power Annex, NPC interactions, the Holo Hollow settlement with Local Places, character Credits, and NPC merchant Trade, missions, and skill progression. Still early and under active development.README 전문 보기 ↗Status: Playable pre-alpha — active development. RuneSpace is a browser-first, low-fi sci-fi RPG with a real early-game vertical slice: server-authoritative Play orchestration, Travel/Scavenging, Ferrite Shale Mining, Refining, Welding/Cargo Hold repair, Inventory/Equipment, locations, Power Cell/Power Annex, NPC interactions, the Holo Hollow settlement with Local Places, character Credits, and NPC merchant Trade, missions, and skill progression. Still early and under active development.
RuneSpace is a planned browser-first, mobile-friendly, low-fi sci-fi RPG inspired by the progression, quests, social texture, and long-term grind of old-school MMORPGs and action-point games. It is not a RuneScape clone.
The architecture is a modular monolith with a server-authoritative game model: the browser is never the trusted source of progression. Gameplay outcomes are resolved by server-side domain logic and persisted server-side. The generic transaction/locking/action-cursor/lazy-resolution lifecycle lives in server/action-resolution.ts; server/play.ts owns composed activity resolution and shared Play state assembly (server/play-state.ts) and the client shell (features/play/). Activity resolvers (Mining, Refining, Travel, Welding) own only their activity; feature-specific UI stays feature-owned.
| Concern | Choice |
|---|---|
| Language | TypeScript (strict) |
| Framework | Next.js (App Router) + React |
| Styling | Tailwind CSS |
| Database | PostgreSQL |
| ORM | Drizzle ORM |
| Validation | Zod |
| Unit tests | Vitest |
| Browser tests | Playwright |
| Package mgr | pnpm (committed lockfile) |
| Deploy | Docker / Coolify |
| Minigames | Phaser (later, isolated boundaries) |
Pinned versions: Node 22, pnpm 9.15.4 (see package.json engines/packageManager).
Prerequisites: Node 22, pnpm 9.15.4, Docker (for Postgres), and optionally Playwright browsers.
# 1. Install dependencies (frozen lockfile)
pnpm install --frozen-lockfile
# 2. Start PostgreSQL (writes to a docker volume)
docker compose up -d
# 3. Configure environment
cp .env.example .env
# (default DATABASE_URL matches docker-compose.yml)
# 4. Apply committed migrations
pnpm drizzle-kit migrate
# 5. Run the dev server
pnpm dev
# open http://localhost:3000
To install Playwright browsers for local e2e tests:
pnpm exec playwright install --with-deps
See .env.example. Validated at startup by server/env.ts (Zod).
| Var | Required | Notes |
|---|---|---|
NODE_ENV | no | development | test | production |
DATABASE_URL | yes | PostgreSQL connection string for the pg Pool |
| Command | Purpose |
|---|---|
pnpm dev | Start the dev server |
pnpm build | Production build |
pnpm start | Start the production server |
pnpm lint | ESLint (next lint) |
pnpm format | Prettier write |
pnpm format:check | Prettier check |
pnpm typecheck | tsc --noEmit (strict) |
pnpm test | Vitest unit tests |
pnpm test:integration | Disposable PostgreSQL integration tests |
pnpm test:e2e | Playwright browser tests (local) |
pnpm test (Vitest, pure domain/schema logic — fast, no DOM).pnpm test:integration (Vitest against a fresh disposable PostgreSQL database; migrations and cleanup are automatic).pnpm test:e2e (Playwright, focused journeys, using a disposable database). CI runs the 70-test canonical browser-journey selection across 13 behavioral specs via pnpm test:e2e:canonical; smoke, ownership, design-system, and QC Studio specs remain outside that merge-gate selection. See docs/testing-strategy.md for the sharded runner and opt-in screenshot lane.docs/testing-strategy.md.nixpacks.toml retains the package build and start behavior while asserting the committed Drizzle migration assets are available to the runtime.docs/deployment-database.md.docker-compose.yml provides a local PostgreSQL for development. The app itself is run with pnpm dev on the host (the container only covers the DB).Read these before contributing:
AGENTS.md — rules for coding agents (scope, SSOT, extraction, testing, PR workflow).docs/architecture.md — modular monolith, server-authoritative model, boundaries, dependency direction, and Play orchestration.docs/game-rules.md — current design direction (implemented vs. approved vs. future).docs/gameplay-foundations.md — server-authoritative timing, progression, inventory, and action contracts.docs/missions.md — declarative mission framework and authoring contract (single-phase, server-authoritative).docs/component-boundaries.md — extraction rules.docs/art-cookbook.md — art direction, generation workflow, asset preparation, and visual QA.docs/testing-strategy.md — risk-based testing.docs/development-workflow.md — one issue/branch/PR workflow and CI.docs/analytics.md — PostHog product analytics: event contract, privacy gates, Coolify configuration, and dashboard setup (issue #413).RuneSpace is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE.
docs/admin-console.md