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
1970년 1월 15일, 내전이 끝난 뒤 £20만 들고 아사바 모터파크에 도착해 일자리와 토지를 찾아 새 출발을 시작한다
15 January 1970. The Civil War has just ended. You arrive at Asaba motor park with nothing but £20. Find work. Buy a plot. Build the first walls. Start again.
게임JavaScript · PythonGitHub @postcivilwar온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Game
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A persistent multiplayer simulation of Nigeria in which players build the country's towns, businesses and institutions from undeveloped land. Its home will be postcivilwar.com. Until the second week of October 2026 the working name was Nigeria Life World; the folder and a few storage keys still carry it.
The architecture and its reasoning are in the Architecture Decision Document (shared separately). Read that first.
| Path | What it is | State |
|---|---|---|
prototype/ | A browser-playable prototype of the first vertical slice: Atani, Anambra State, on the River Niger. A town of 1,000 people with homes, jobs and daily routines; a hospital, schools, a university, a polytechnic, a college and two churches to walk into; okada riders who carry passengers for a fare; speech in English, Pidgin, Igbo, Yoruba and Hausa; chat with players who are near; positional sound; health and fighting, witnesses, police who arrest on foot, fines and the return of stolen money, a hospital, a clinic and an ambulance, a phone that is taken out and held, with fifteen apps, a camera and music, vehicles that can be taken, players who cannot walk through each other, vehicles that knock people down and can kill a player, buttons that are pictures and change with what the player is doing, and ten camera views. It opens with the brand, the game's cover with PLAY on it, and one question (hero or villain); its interface is black and white and kept small, and people walk and run from the planted foot up. Under it: a land registry, permits, staged construction, shops, jobs, a keke to hire, buy and drive | Playable. 242 headless tests pass, plus scripted browser sessions with keyboard and with real touch input. Not the production client. Players who meet can see and talk to each other and block each other's way, but each page still runs its own copy of the world: there is no zone server yet, so nothing involving health, money or the law works between two devices (docs/multiplayer-audit.md). On the website an account is needed before play, and accounts, each account's TR, the market and seeing other players go through api/. |
api/, server/ | The website's server: one function on PostgreSQL. Accounts (a username and a password), each account's one character (chosen once; changed only by a paid upgrade) and saved game, each account's TR (a wallet at the server's bank, with the 2,000 TR of starter TR kept apart from TR that was earned; earned TR is sent from player to player by username, with a history that cannot be edited), the shared market (what is for sale, who owns what, the talk and the sale, paid through the bank), and where signed-in players are. server/ runs it on this machine and tests it | Working. 66 tests against a real PostgreSQL, and a scripted session of two players in real browsers. What a character earns and spends in town is still worked out in the player's browser and reported to the bank, which caps it (see prototype/README.md, "The bank"). |
services/ledger/ | Append-only double-entry ledger in PostgreSQL, and the bitcoin settlement data model beside it | Working at the database level. 85 contract tests pass. No network service in front of it yet. |
The brand's font, mark and the supplied cover are in prototype/assets/brand
with the notes that go with them. People in the prototype are built on one supplied character model, in
prototype/assets/characters with its notes. Every keke and coach is one of two
supplied vehicle models, in prototype/assets/vehicles with theirs. There is no Unreal Engine client, no zone server and no network service in this
repository. prototype/README.md lists which parts of the prototype are interfaces
standing in for those, and what replaces each.
CWR).
It is not naira and does not represent legal tender.services/ledger (below) is
unchanged and is not used by the site.prototype/README.md.Holding players' bitcoin and paying it out is a licensed activity in Nigeria. Nothing here should be pointed at the live network before that is resolved with counsel.
prototype/ (exists) Atani slice: simulation, browser client, tests
site/ (exists) the website as served: written by `node build.mjs --site`, never edited by hand
api/ (exists) the website's server: api/game.js and what it is made of (accounts, saved characters, the market)
server/ (exists) the server on this machine (dev.mjs), a throwaway PostgreSQL for it, and its tests
services/
ledger/ (exists) ledger and settlement schema, contract tests
docs/
test-plan-gameplay.md (exists) what is tested for fighting, the law, treatment, the phone and controls, and what still needs a person
multiplayer-audit.md (exists) the multiplayer brief against what is built: what exists, what is missing, the database it needs, the risks, the decisions
Planned, created when they have working content:
client/ Unreal Engine 5 project: PC client and dedicated zone server
proto/ Protocol Buffers contracts shared by zone servers and services
services/
settlement/ settlement service, chain watcher, signer, compliance console
platform/ identity, registry, economy, government, world directory, social
tools/
geodata/ pipeline from open geographic data to game terrain and parcels
loadtest/ simulated clients for zone and handoff testing
infra/ deployment definitions
docs/ further design documents, one per system, written with the system
Play the prototype: open prototype/dist/local.html in a browser.
The website (postcivilwar.com) is the site/ folder, served as it is. It is the
same game as a page that can be installed on a phone or a computer and opens
with no connection. To bring it up to date: node build.mjs --site in
prototype/, then commit site/. What is pushed to main is live.
Simulation tests (Node 18 or later, no packages):
cd prototype
node --test test/*.test.mjs
The website's server (a local PostgreSQL install; nothing downloaded):
server/with-postgres.sh node --test server/test/*.test.mjs # accounts, the market, the game's own client code against it
server/with-postgres.sh node server/dev.mjs # the whole site at http://localhost:8787/, accounts and all
On the host the server needs one thing: a PostgreSQL address in POSTGRES_URL (the
database integration sets it). PCW_ADMINS may name the usernames, separated by
commas, who can put new things on the market. No secret is in the repository or in
the page.
Ledger and settlement tests (a local PostgreSQL install and Python 3, nothing downloaded):
cd services/ledger
./scripts/run-tests.sh