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,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Article 5: hold Europe against a swarm from the east. RTS meets tower defence in the browser.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Hold Europe against a swarm from the east. Real-time strategy meets tower defence, in the browser, on a phone or with a mouse. It starts the way people expect it would: unmarked troops over the Estonian border near Narva, supposed to look like nothing much. Each wave opens a front or two more - Latvia, the Suwałki gap, the Baltic Fleet, Belarus, the Black Sea, the Arctic - until wave fifteen, which is everything at once. You are always NATO and Europe. You put tanks, infantry, drones, fighters and frigates in the way, and the bill for everything you lose is your score.檢視完整 README ↗
Hold Europe against a swarm from the east. Real-time strategy meets tower defence, in the browser, on a phone or with a mouse.
It starts the way people expect it would: unmarked troops over the Estonian border near Narva, supposed to look like nothing much. Each wave opens a front or two more - Latvia, the Suwałki gap, the Baltic Fleet, Belarus, the Black Sea, the Arctic - until wave fifteen, which is everything at once. You are always NATO and Europe. You put tanks, infantry, drones, fighters and frigates in the way, and the bill for everything you lose is your score.
No build step and no npm install. The only library is three.js (r186), in
vendor/, so the game runs offline and nothing is fetched while it plays.
npm start # http://localhost:8080
npm test # the simulation and the score board, headless
npm run test:ui # the real page, with a mouse and a finger (needs npm start)
Tap the map to deploy. A ring of five units opens where you tapped, each
with its price; the ones that cannot go there are greyed out. Or pick a card from
the bar at the bottom (keys 1–5) and tap where it should go.
| Unit | Where | Good against |
|---|---|---|
| Infantry | our ground | rifle squads; retakes ground; MANPADS at level 3 |
| Tank | our ground | everything on the ground; retakes ground |
| Drone | over our ground or coast | armour and ships, from a loiter circle |
| Fighter | over our ground or coast | drones, missiles, bombers; bombs at level 2 |
| Frigate | open sea near our coast | ships, coasts and the sky; cruise missiles at level 3 |
Tap one of your units to upgrade it (three levels), move it, or stand it down for part of what it cost - which is not counted as a loss. On a computer, right click moves the selected unit.
Drag to move the map, pinch or scroll to zoom; a two-finger swipe
on a touchpad pans. WASD/arrows pan too, Space calls the next wave, F
changes speed, Esc pauses.
The red markers show where the next wave comes from, how many, and where it is heading. Call a wave early - the big button, or tap a marker - and the time you did not wait is paid out as budget.
The score is what the war cost you, and lower is better:
| Lost | Charge |
|---|---|
| a 25 km square of ground | 60 (half back if you retake it) |
| a city | 1,500 |
| a capital | 4,000 (half back if you liberate it) |
| one of your units | 1.5 × what you spent on it |
| a drone or missile that gets through | 250 to 1,260 |
The board ranks by how many waves you held, then by fewest losses: a general who saw the whole war through is above one who lost cheaply in wave three. There is a list per difficulty.
src/game/ the war: 30 ticks a second, seeded, no DOM, runs in Node
sim.js units, combat, ground and cities changing hands, waves, the bill
flow.js flow fields for the swarm, A* for your units
map.js the 25 km grid: land, sea, countries, who started with what
units.js every unit on both sides, three levels for yours
waves.js the fifteen waves, and the three difficulties
data/ europe.js, generated by tools/build-map.js
src/render/ three.js
terrain.js the land (real elevation, shader-painted) and the sea
models.js every unit built from primitives, with turrets and rotors
unitview.js one instanced draw per part per kind, however big the swarm
fx.js fire, smoke, tracers, missiles and shock rings
camera.js the table-top camera
src/ui.js the HUD, radial menus, labels over the map
src/main.js the loop, input, menus, sound, the score board
The map is Natural Earth (1:50m countries and lakes) and the Terrarium elevation
tiles, projected Lambert azimuthal equal-area so a square kilometre is a square
kilometre wherever you lose it. tools/build-map.js fetches them once into
tools/.cache/ and writes src/game/data/europe.js and assets/relief.png.
The swarm does not plan routes: every target city has a distance field over the grid, and three hundred units walk downhill on one array. Your units are few and get A*.
The look is two halves. The units are Total Annihilation's: hard-edged, flat-shaded, with turrets that track their target, rotors that spin and radars that sweep. The map is Kingdom Rush's: saturated colour, chunky trees, painted surf on every coast, team rings under every unit, and a tilt-shift blur that makes a continent look like a table you could lean over.
Graphics quality picks itself and steps down if the frame rate drops; set it in
the menu or force it with ?quality=low|medium|high|ultra.
Kept in localStorage, merged with a shared board: the Cloudflare Worker in
worker/, live at https://webta.vibecoach.workers.dev. New results that make a
top ten are posted to Discord. npm start serves the same two calls locally,
and ?board= in the address points a page at any other board. See
worker/README.md.
node tools/simtest.js --report # the bot plays every difficulty, with the numbers
node tools/simtest.js --log # one war, wave by wave
node tools/shot.js out.png # a screenshot from headless Chrome (needs npm start)
node tools/make-icons.js # the app icons
node tools/build-map.js # rebuild the map from the sources