BeamNG.Earth
BeamNG.drive용 1:1 비율 실시간 지구, 실제 고도·위성 이미지·부동 원점·보조 서버에서 LOD 스트리밍
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A real-time multiplayer ASCII fantasy brawler that runs in the browser. The whole world is rendered as colored text glyphs with WebGL, lit by torches, campfires, runes and spells.
npm install
npm run dev # http://localhost:5173
npm run build # static site in dist/ (Vercel builds this automatically via vercel.json)
Pick a name (no account), a class and a mode. Everyone online shares one realm and follows the host's mode and map:
Maps rotate every round: Moonlit Vale, Ashen Wastes (rivers of lava, basalt spires, embers) and Frostmere (slippery frozen lake, snowy pines, ice crystals). Water can be waded at reduced speed, and a dash carries you across a narrow stretch. Lava is a wall to everyone but the Angel.
Classes (each has its own three spells on F / G / R, its own dash, and a signature):
| Class | Spells | Dash | Signature |
|---|---|---|---|
| ⚔ Knight | Crescent Wave, Judgment, Summon Blades (hold for a barrage) | Shield Charge: bowls enemies over | Wide sweeps, and every swing throws a sword wave; blocking refunds mana |
| ⚒ Berserker | Fireball, Inferno Leap, Eruption | Inferno Rush: leaves burning ground | Bloodlust: under 40% HP he hits harder and heals on hit |
| ✦ Sorcerer | Arcane Missiles, Chain Lightning, Meteor | Phase Shift: chainable teleports (22 MP each) leaving purple ooze | Deepest mana, strongest spells |
| ☾ Shadow | Shadow Daggers, Shadowstrike, Smoke Bomb | Shadow Step: invisible while dashing | Backstab: hits from behind or out of smoke always crit |
| ☠ Necromancer | Soul Bolt (drains life), Raise Dead (costs blood + mana), Corpse Nova | Grave Swap: trade places with a minion | His minions are little purple copies of him |
| ✟ Angel | Holy Lance, Radiance (heal + ward), Starfall | Radiant Glide: a long glide | Flies over water and lava, immune to burning ground |
Tap the dash for a dodge; hold it to keep sprinting while mana drains. Max HP never grows during a match; kills add damage and mana. Mana also comes back faster while moving, from melee hits and in a waystone's light.
Sound: every effect and the ambience (wind, insects, water, campfire crackle) is synthesized live with Web Audio, no audio files. M or the ♪ button mutes.
Desktop: WASD / arrows or hold left mouse to move, Shift to run, Space or a quick left-click to slash (hold Space for a ground slam), F / G / R (or right-click for F) for your class's three spells (hold any spell key to charge it with all your MP), hold Q to shield, C or Ctrl to dash (hold to sprint), E to travel at a waystone, Tab for the scoreboard, M to mute, mouse wheel or - / = to zoom.
Phone: drag to move; / slash (hold to slam), the three spell buttons (hold any to charge), ◊ shield, the dash button (hold to sprint); pinch with two fingers to zoom.
art/) on green screen. python art/build_knight.py (needs Pillow, NumPy, SciPy) cuts each frame out, packs art/knight-atlas.webp + .json, and the game converts frames to ASCII at runtime, recoloring the cape per player.python art/build_art.py finds each sheet's grid, keys out the green and packs small per-class atlases. The game loads an atlas only when someone plays that class, bakes the frames into ASCII in idle time, and falls back to the tinted knight and procedural effects until it arrives. Prompts for making more sheets are in art/PROMPTS.md.src/net.js, Trystero). Players find each other through public Nostr relays and connect directly over WebRTC. When a direct link is impossible (mobile data, strict Wi-Fi), game messages fall back to short-lived events on those same relays, a little laggier but it works on any network. The longest-standing host keeps the shared state and two standby hosts can take over. ?relayonly in the URL forces the relay path for testing. An optional /api/turn Vercel function can hand out TURN credentials if CF_TURN_KEY_ID / CF_TURN_API_TOKEN are ever set.