BeamNG.Earth
A 1:1 scale streamed Earth for BeamNG.drive: real elevation and satellite imagery, floating origin, LOD streaming from a companion server
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
A calm, endless, procedurally generated world to roam — built with three.js,
no build step, no backend, no fail state.
Live: https://stravis11.github.io/endless-game/ (desktop browser, keyboard and mouse)
Open the URL in a browser, click "Step outside", and wander.
• WASD walk · mouse look (pointer lock) · Shift stroll faster
• E greet the nearest creature · J field journal
• Everything you see is generated from one seed (src/worldData.js): the same
world every visit, but different in every direction, forever.查看完整 README ↗A calm, endless, procedurally generated world to roam — built with three.js, no build step, no backend, no fail state.
Live: https://stravis11.github.io/endless-game/ (desktop browser, keyboard and mouse)
Or run it locally:
npm start # serves http://localhost:8087
Open the URL in a browser, click "Step outside", and wander.
src/worldData.js): the same
world every visit, but different in every direction, forever.| file | role |
|---|---|
src/main.js | renderer, chunk streamer, player controller, HUD, journal, debug API |
src/worldData.js | tuning tables: 10 biomes, 8 species, 18 surprises, 10 ambient events |
src/terrain.js | climate cells + bilinear biome blending, height field, vertex colours |
src/chunks.js | chunk builder: terrain mesh, water, instanced props, surprise landmarks |
src/props.js | shared geometries/materials, per-chunk instanced prop meshes |
src/entities.js | creatures: wander/curiosity behaviours, interactions, gifts, companions |
src/atmosphere.js | day/night sky shader, sun/hemisphere lights, ambient-event scheduler |
src/particles.js | fireflies, rain, snow, leaves, birds, aurora, shooting stars |
src/rng.js | deterministic hash/value-noise/fBm — same seed, same world |
vendor/three/ | pinned copy of three.js r186 so the static site runs without node_modules (npm run vendor refreshes it) |
node tests/verify.cjs (or npm test) boots the real game in headless
Chromium over the DevTools Protocol, walks it around, and asserts the
GOAL.md acceptance criteria. Latest full run: 11/11 checks passed —
evidence in verification/results.json, screenshot in verification/frame.png.
| id | criterion | result |
|---|---|---|
| G1 | Endless & seamless streaming | PASS — 231 chunks streamed across 4 directions, 0 failed/fallback, culled behind player |
| G2 | ≥ 8 distinct biomes in zones | PASS — 10 distinct biomes hit in a wide sample (meadow 177, sakuraHills 81, birchGrove 81, pineHighlands 75, lavenderFlats 69, amberDesert 69, mossyFen 48, frostVale 33, coralShore 30, starPlateau 12) |
| G3 | Surprise rarity curve | PASS — of 1204 surveyed chunks: 884 common / 271 uncommon / 49 rare (rare share 4.07 %, genuinely rare) |
| G4 | ≥ 6 species + interactions | PASS — all 8 species spawn-check positive; interaction yields reaction + dialogue + journal entry; gift path (a piece of amber…) and companion path (decides to tag along) both exercised |
| G5 | Calm & cozy | PASS — no damage/fail mechanic exists in the engine; 10 ambient event systems scheduled; day/night phase drifting (dawn at sample time) |
| G6 | Cool graphics, live WebGL | PASS — live context, 1388 meshes / 203 groups on screen (terrain, props, creatures, sky, water); frame captured and visually reviewed |
| G7 | Free roam controls | PASS — synthetic WASD input moved the player across the session; avg frame 49 ms headless (software GL) |
| G8 | Clean console | PASS — 0 page errors/warnings through the full session (browser-internal extension noise excluded, documented in the harness) |
chrome-extension://…/ERR_FILE_NOT_FOUND log lines seen in raw
console capture are 1Password's extension injecting into the throwaway
browser profile — not page output. The harness filters them and says so.