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
7 ngày, mỗi ngày 24 giờ. Chọn dopamine nhanh hay chậm - và xem bạn là kiểu người nào.
Translation pending
GamesTypeScript · PythonGitHub @kagukoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Game mô phỏng cuộc sống sẽ như thế nào nếu tràng ngập dopamine
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
⏳ Cuộc Sống 24 Giờ (24-Hour Life) Game mô phỏng đưa ra quyết định thực tế về quản lý thời gian, năng lượng, tài chính và bẫy dopamine trong 24 giờ mỗi ngày. "Cuộc sống 24 giờ" không phải là một trò chơi dạy đạo lý hay bắt bạn sống như một cỗ máy hoàn hảo. Trò chơi đặt bạn vào một mô phỏng thực tế: Bạn có đúng 24 giờ mỗi ngày, đối diện với các áp lực sinh hoạt, chi phí thuê nhà, công việc, các mối quan hệ xã hội và đặc biệt là những cơn thèm dopamine ngắn hạn của bộ não.Read the full README ↗
Game mô phỏng đưa ra quyết định thực tế về quản lý thời gian, năng lượng, tài chính và bẫy dopamine trong 24 giờ mỗi ngày.
"Cuộc sống 24 giờ" không phải là một trò chơi dạy đạo lý hay bắt bạn sống như một cỗ máy hoàn hảo. Trò chơi đặt bạn vào một mô phỏng thực tế: Bạn có đúng 24 giờ mỗi ngày, đối diện với các áp lực sinh hoạt, chi phí thuê nhà, công việc, các mối quan hệ xã hội và đặc biệt là những cơn thèm dopamine ngắn hạn của bộ não.
Mục tiêu của game là giúp người chơi tự nhận diện khoảnh khắc:
"Ơ, mình vừa đưa ra một lựa chọn tưởng chừng nhỏ nhặt và vô hại, nhưng cái giá phải trả vào ngày mai lại lớn đến thế!"
| Chỉ số | Vai trò & Ý nghĩa | Hậu quả khi cạn kiệt / vượt ngưỡng |
|---|---|---|
| ⚡ Năng Lượng (0–100%) | Sức lực thể chất để hoạt động trong ngày | Khi $\le 10%$: Kiệt sức hoàn toàn (Burnout). |
| 🧠 Tinh Thần (0–100%) | Sức khỏe tâm lý, khả năng chịu đựng stress | Khi $\le 15%$: Trầm cảm, lo âu, tê liệt quyết định. |
| 🛡️ Ý Chí (0–100%) | Cơ chế cốt lõi mới: Sức kháng cự trước cám dỗ | Khi $< 35%$: Kích hoạt hiệu ứng Ảo giác Cám dỗ! |
| ✨ Dopamine (0–100%) | Mức độ hưng phấn và kích thích thần kinh | Nếu hôm đó dồn nhiều dopamine nhanh (≈ 45 điểm từ hành vi cám dỗ hoặc ≥ 3.5 giờ): Gây Dopamine Crash vào sáng hôm sau. Dopamine cao nhờ học tập, vận động không bị phạt. |
| 👥 Kết Nối (0–100%) | Mối quan hệ với gia đình, bạn bè | Khi $< 25%$: Sự cô đơn làm xói mòn tinh thần tự động mỗi ngày. |
| 💰 Tài Chính (nghìn VNĐ) | Ngân sách sinh hoạt và chi trả các nhu cầu | Tự trừ tiền trọ 120k/ngày. Nếu âm tiền: Khủng hoảng nợ nần. |
Game mô phỏng thực tế khoa học thần kinh về 2 cơ chế giải phóng dopamine:
+40 Dopamine tức thì!).Sleep Debt): Ngủ dưới 7 tiếng/ngày khiến nợ ngủ dồn lại. Khi nợ ngủ $\ge 6\text{h}$, bạn thức dậy với hội chứng sương mù não (Brain Fog).Mỗi ván kết thúc bằng một kết cục (10 kiểu người chơi, ví dụ Bậc Thầy Cân Bằng, Nô Lệ Dopamine, Ẩn Sĩ Ngủ Đông) cùng điểm 0–100. Người chơi có thể tạo ảnh chia sẻ ngay trên máy (Canvas, không server, không theo dõi).
Simulation Bench)Game tích hợp sẵn công cụ mô phỏng chiến thuật tự động ngay trên giao diện:
Dự án áp dụng chặt chẽ 3 nguyên tắc cốt lõi:
packages/domain/src/.string, number, boolean, plain arrays) và trả về DTOs thuần túy.useGameAdapter.src/
├── domain/ # 🧠 PURE DOMAIN (Rule 1 & 2: NO React/UI/Storage, Primitive I/O)
│ ├── types.ts # Kiểu dữ liệu primitive (PlayerStatsPrimitive, SoundCue, ...)
│ ├── stats.ts # Toán học chỉ số, clampStats, evaluateLifeStatus
│ ├── actions.ts # 15 hành vi, executeActionById(actionId, stats, hoursRemaining)
│ ├── consequence.ts # processOvernightCycle(stats, actionIds, sleepDebt, day)
│ ├── events.ts # rollDomainEvent, resolveDomainChoice
│ ├── simulate.ts # runDomainSimulation (động cơ mô phỏng headless 1000 ván)
│ └── index.ts # Facade API Domain duy nhất
│
├── adapters/ # 🔌 ADAPTER LAYER (Rule 3: Cắm UI, Storage, Audio vào Domain)
│ ├── storageAdapter.ts # Cắm localStorage vào domain primitives
│ ├── audioAdapter.ts # Cắm Web Audio API vào domain sound cues
│ └── useGameAdapter.ts # Controller Hook kết nối UI và Domain Facade
│
├── ui/ # 🖥️ VIEW LAYER: React components hiển thị thuần
│ ├── TopNav.tsx # Thanh điều hướng 3 vùng
│ ├── StatsHUD.tsx # Bảng đo 6 chỉ số phản hồi động
│ ├── TimeTrack.tsx # Thanh quỹ thời gian 24 giờ
│ ├── ActionCard.tsx # Thẻ hành vi (ảo giác khi ý chí thấp)
│ ├── ActionGrid.tsx # Lưới hành vi & bộ lọc danh mục
│ ├── MorningModal.tsx # Hộp thoại bình minh & cơ chế ẩn
│ ├── EventModal.tsx # Hộp thoại biến cố bất ngờ
│ ├── WeekReviewModal.tsx # Hộp thoại tổng kết tuần & câu hỏi phản tư
│ ├── SimulationBench.tsx # Bàn thí nghiệm mô phỏng thuật toán
│ └── GuideModal.tsx # Hướng dẫn quy luật & triết lý
│
├── App.tsx # View Root điều phối qua useGameAdapter
└── main.tsx # Entry point
# 1. Cài đặt các gói phụ thuộc
npm install
# 2. Khởi chạy máy chủ phát triển
npm run dev
Khi deploy, đặt biến môi trường
VITE_SITE_URL(trên Vercel tự nhận) để thẻ OG có URL tuyệt đối.
Mở trình duyệt tại địa chỉ: http://localhost:3000
# Kiểm tra TypeScript
npm run lint
# Build bản phát hành (Production)
npm run build
2–8 người cùng sống một tuần trong một thành phố 3D: mỗi người tự lo 24 giờ của mình, rủ nhau làm hoạt động chung (ăn, chạy bộ, học nhóm, tâm sự, xem phim, nhậu),
động viên nhau; server tính mọi chỉ số, client chỉ gửi ý định. Không streak, không bảng xếp hạng, không quảng cáo.
Chạy thử: npm run dev:all, mở http://localhost:3000 (vài tab), tab Chơi cùng bạn → tạo phòng → gửi mã 4 ký tự.
Số liệu cân bằng nhóm và phiếu playtest: ROADMAP.md, PLAYTEST.md. Triển khai server: docs/deploy-server.md.
packages/domain @24h/domain luật chơi thuần, build bằng tsc -> dist (chạy được cả trong Node)
apps/web @24h/web Vite + React (import @24h/domain)
apps/server @24h/server Colyseus 0.18: LifeRoom (nhiều người chơi, server quyết định mọi chỉ số)
npm run dev | build | lint | test chạy qua các workspace (domain trước, rồi web).apps/web đọc thẳng packages/domain/src (điều kiện source trong exports) nên có HMR và không cần build domain trước; Node/server dùng dist.npm run dev:all. Triển khai server (Docker, Fly.io, CORS, VITE_SERVER_URL): xem docs/deploy-server.md.npm run dev -w @24h/server (watch) hoặc npm run build && npm start -w @24h/server. Biến môi trường PORT (mặc định 2567); GET /health trả {status:"ok"}.
client.create("life") -> mã 4 ký tự là room.roomId; vào phòng: client.joinById(code, {name}). Tối đa 8 người, phòng không liệt kê công khai.action {actionId}, move {x,z}, chat {text}; server validate và áp dụng bằng @24h/domain. Message lạ bị ngắt kết nối.planning (240s, chỉnh bằng env PLANNING_SECONDS; hành động + ready) → night (server chạy processOvernightCycle cho từng người) → morning (mỗi client nhận morning = báo cáo riêng của mình; 20s hoặc mọi người ready) → ngày kế. Sau ngày 7 hoặc khi mọi người sụp đổ: ended. Phòng khóa sau đêm đầu tiên.joint {op:'offer'|'join'|'leave'|'start'}. Người rủ (host) tạo lời rủ, người khác nhận invite và vào, host bắt đầu (hoặc đầy chỗ thì tự chạy). Kết quả tính bằng resolveJointAction; nudge {targetId} gửi lời động viên (hồi ý chí nhẹ, tối đa 3 lần/ngày). Lời rủ cám dỗ (nhậu) kéo nhẹ ý chí của người ý chí thấp, và trong buổi nhậu người ý chí thấp dễ bị kéo ở lại thêm (áp lực đồng trang lứa).reconnect(token) và nhận lại báo cáo sáng nếu đang morning), sau đó bot Balanced chơi thay (player.bot = true). Người ngắt kết nối và bot không chặn việc sang phase kế.roomSeed + playerId + day (roomSeed do server sinh, không gửi cho client).Chi tiết tiến độ phát triển theo từng tuần, danh sách các đầu việc đã nghiệm thu và chỉ dẫn dành cho Agent được lưu trữ tại file ROADMAP.md:
[ĐÃ HOÀN THÀNH].[ĐANG TRIỂN KHAI].[KẾ HOẠCH].Dự án kiên quyết tuân thủ:
localStorage.apps/webvercel.jsonapps/web