BeamNG.Earth
BeamNG.drive용 1:1 비율 실시간 지구, 실제 고도·위성 이미지·부동 원점·보조 서버에서 LOD 스트리밍
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Terrain matters: elevation grants range bonuses, obstacles block movement and line of sight, and flanking deals extra damage.
Every battle is fought on the same 360×640 map, whatever the device; the board is scaled to fit the screen, so ranges and distances play the same everywhere.
| Unit | Role |
|---|---|
| Soldier | Balanced all-rounder |
| Sniper | Long range, slow, fragile |
| Blade | Fast melee attacker |
| Shielder | Tanky frontline |
| Bomber | Area damage |
| Mortar | Lobs shells over cover at where enemies stand; can't hit close targets |
| Rocketeer | No gun; you draw its rocket's flight path, which launches at the end of its move |
| Menu | Planning | Battle | Result |
|---|---|---|---|
| Planning | Battle |
|---|---|
match-referee Edge Function that plays each round; see docs/online-play.md)Zero runtime CSS frameworks. Two themes (paper day mode, dark night mode) via CSS custom properties.
Sound effects and music are synthesized at runtime with WebAudio (no audio assets). Phones vibrate on kills and explosions (Capacitor Haptics on Android, the Vibration API on the web). Sound, music, vibration, reduced motion and theme are toggled from the main menu and saved locally; reduced motion follows the system setting by default.
npm install
npm run dev # start dev server
npm run build # production build
npm run test:run # run tests
npm run typecheck # app and integration-test types
npm run screenshots # capture every main screen at phone and desktop size into output/screenshots/
npm run screenshots needs Playwright with Chromium installed globally (npm i -g playwright && npx playwright install chromium) and fails if the page throws an error.
Online play talks to the shared Supabase project. To develop against a local
stack instead, set VITE_SUPABASE_URL and VITE_SUPABASE_ANON_KEY for
npm run dev. The database and referee integration tests need a PostgreSQL 16
server: SEVEN_PG_URL=postgresql://postgres@localhost:5432/postgres npm run test:db.
After changing the engine or the referee, run npm run referee:bundle and
commit supabase/functions/match-referee/referee.mjs. Deployment: DEPLOYMENT.md.
After a battle, Share clip on the result screen plays the replay while recording it (with sound). When it's done, a second tap on Share recorded clip opens the share sheet (browsers only allow sharing straight after a tap); where sharing files isn't supported the video downloads instead. It's hidden in the Android app, whose WebView can't share or download the recording.
Append ?record to the URL to enable the built-in screen recorder. Press R during battle or replay to capture a WebM clip (max 15 seconds).
Run npm run video:capture to regenerate the square and 9:16 mobile action clips in store-assets/. The Playwright-driven capture includes path drawing before the battle and requires ffmpeg/ffprobe.