BeamNG.Earth
BeamNG.drive용 1:1 비율 실시간 지구, 실제 고도·위성 이미지·부동 원점·보조 서버에서 LOD 스트리밍
실제 도로와 건물을 OpenStreetMap에서 가져와 전 세계 어디든 입력하면 운전 샌드박스를 제공하는 오픈월드 차량 시뮬레이터
An open-world driving sandbox built on real streets. Type any place on Earth and it pulls the actual roads and buildings from OpenStreetMap. Free, no install.
게임Luau · JavaScriptGitHub @RaushanSakhibzadin온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A GTA: Vice City–flavoured driving sandbox that runs on real streets, anywhere on Earth.
Type a place — your street, Miami Beach, Shibuya — and it pulls the actual road network and
building footprints for that spot and turns them into a drivable city.
No build step, no dependencies, no API key. Open index.html and drive.
Free and always will be. Any tier gets GHOST MODE: full speed across open ground and
straight through buildings, where the car is otherwise a road car that drops to walking pace off
the tarmac. Backers get the word that unlocks it, in a post on the page.README 전문 보기 ↗A GTA: Vice City–flavoured driving sandbox that runs on real streets, anywhere on Earth. Type a place — your street, Miami Beach, Shibuya — and it pulls the actual road network and building footprints for that spot and turns them into a drivable city.
No build step, no dependencies, no API key. Open index.html and drive.
git clone https://github.com/RaushanSakhibzadin/GoogleMapsGTA.git
cd GoogleMapsGTA && open index.html # or: python3 -m http.server
Free and always will be. Any tier gets GHOST MODE: full speed across open ground and straight through buildings, where the car is otherwise a road car that drops to walking pace off the tarmac. Backers get the word that unlocks it, in a post on the page.
| W A S D / arrows | drive, reverse, steer — up to 360 km/h |
| Space | handbrake — hold it into a corner and the back end steps out |
| H | horn |
| N / the ☾ pad | daylight ⇄ dusk. The game opens in daylight |
| V / the 3D button | top-down view ⇄ chase view |
| M / tap the radar | the full city map — drag to pan, pinch to zoom |
| R / the bar along the bottom | next radio station; the name plays and stops it |
| ♪ | two volumes, the game's and the radio's |
| ⤓ LOG | saves what the map servers sent and everything that went wrong |
| Esc | pause / change city |
| touch | on-screen pads appear automatically on phones and tablets |
| Geocoding | Nominatim turns "Ocean Drive, Miami Beach" into a lat/lon |
| Geometry | Overpass API, out geom qt;. Split into streets / buildings / landmarks so the loading screen only waits for what it cannot start without |
| Projection | Local equirectangular: x = (lon−lon₀)·111320·cos(lat₀). Metres are the world unit |
| Physics | Forward/lateral velocity split, per-car mass, OBB collisions off a 26 m bucket grid |
| Off-road | A drivable mask stamped along centrelines; off it the car crawls, unless GHOST |
| Streaming | 1.8 km tiles, geometry batched per 512 m cell, one cell built per frame |
| Loading | The screen waits 9 s for the streets and 6 for the wide map, then starts you in the bundled city and keeps the request running — if it lands, the real city swaps in behind the wheel. Silent mirrors cost 10 s instead of 42 |
| Cache | Every script is fetched with ?v=<hash> over the contents of all of them, so a deploy is never invisible |
| Tests | 87 Playwright suites — node tests/run.mjs, about fifty minutes |
Everything is plain <script> files sharing one global scope, deliberately not ES modules:
modules are blocked over file://, and opening the game straight off disk is the point. Load
order is fixed in index.html.
index.html markup style.css styling data/belgrade.js the offline city
js/i18n.js ten languages js/util.js palette, theme
js/geo.js network: Overpass, Nominatim js/log.js the session log
js/world.js OSM parsing, indexes, streaming js/terrain.js the heightfield
js/turf.js casinos, the bet, the spray can
js/entities.js cars, traffic, police, physics js/body3d.js the car as a cuboid
js/game.js state, shifts, missions, wanted js/io.js input, audio, canvas
js/render.js top-down view js/render3d.js chase view + the dispatcher
js/soft3d.js chase view without a GPU js/gl.js WebGL2 plumbing, ear clipping
js/carmesh.js the car mesh js/proctex.js every texture, from fractals
js/radio.js the dial js/main.js the loop, menus, debug hooks
tools/ buildcity.py, logfixture.py, stamp.mjs, glb2car.py, perkword.mjs, mirror.mjs
tests/ the suite, and the captured sessions it replays
Why the decisions are not in this file. Nearly every non-obvious line in this repo carries a comment saying what was tried, what it measured, and why it is the way it is. That is where the reasoning lives — next to the code it explains, where it cannot drift out of date.
The repo is called GoogleMapsGTA and the original ask was Google Maps. It uses OpenStreetMap instead, for two reasons: the Google Maps API needs a billed key, which cannot go in a public repo; and Google serves rendered tiles — pictures of a map, with no road centrelines or building polygons in them, so there would be nothing to collide against. Overpass returns real vector geometry, which is what the physics needs.
Map data © OpenStreetMap contributors (ODbL). Geocoding by Nominatim, geometry by Overpass — please respect their usage policies. Radio directory by Radio Browser.
A parody tribute. Not affiliated with, endorsed by, or connected to Rockstar Games or Google.