BeamNG.Earth
A 1:1 scale streamed Earth for BeamNG.drive: real elevation and satellite imagery, floating origin, LOD streaming from a companion server
翻译准备中
逼真的 3D Fevga(希腊 tavli)对战电脑:五个难度级别、教练、回放和策略指南。可在浏览器中或 Android 离线模式下玩。
AI 翻译
Photorealistic 3D Fevga (Greek tavli) against the computer: five levels, a coach, replays and a strategy guide. Plays in the browser or offline on Android.
游戏JavaScript · HTMLGitHub @mvichosfm在线运营者未确认
试用过了吗? 点一下就好,无需登录。
正在加载完整 README。 以下为已保存的摘录。
A photorealistic 3D game of Fevga, the Greek running game of tavli (backgammon), played against the
computer. Five difficulty levels from Beginner to Expert, plus a level-10 coach, Mr. Makis, who plays
the best move he can find on your board and explains why.
• Play in the browser:
• Android: download Fevga- .apk from the latest release and open it on
your phone (you will be asked to allow installing apps from your browser or file manager). It runs fully
offline.查看完整 README ↗A photorealistic 3D game of Fevga, the Greek running game of tavli (backgammon), played against the computer. Five difficulty levels from Beginner to Expert, plus a level-10 coach, Mr. Makis, who plays the best move he can find on your board and explains why.
Fevga-<version>.apk from the latest release and open it on
your phone (you will be asked to allow installing apps from your browser or file manager). It runs fully
offline.No accounts, no ads, no tracking, no network calls: the game is a static page and everything it remembers (settings, scores, saved games) stays in your browser or on your phone.
test/lessons.mjs
proves every position, answer and rule claim against the engine..vbg files to
share a game (every move of an imported file is re-checked by the rules engine)..vbs).src/engine.js is the authority: its header lists the rules, and test/rules.mjs checks them.
test/legality.mjs re-implements the rules independently (absolute board, brute force over every die
order) and checks, for every roll in thousands of positions, that the moves the game offers are exactly
the legal ones: nothing legal missing, nothing illegal allowed. Every play the computer chooses from, and
every play it actually makes, is also replayed click by click through the same turn API the board uses.
The game has no build step. Serve the folder over HTTP (ES modules and the AI web worker do not load from
file://):
python serve.py # http://127.0.0.1:8831, with caching disabled for development
Any static server works too, e.g. python -m http.server 8831.
node test/rules.mjs # rules engine, random full games, file formats (instant)
node test/legality.mjs # every legal play vs an independent brute-force rules implementation (~4 min)
node test/lessons.mjs # the guided lessons vs the engine (instant)
node test/strategy-check.mjs # the strategy guide's claims vs the engine (instant)
node test/selfplay.mjs 200 1-2 2-3 3-4 4-5 # each level against the one below
node test/makis.mjs 40 120 # Mr. Makis against the Expert (slow: ~1 min a game)
node test/make-puzzles.mjs 8 8 150 40 # regenerate src/puzzles.js (worker threads, ~40 min)
node test/strategy-stats.mjs 3000 4 # the figures quoted in the strategy guide
| Path | What |
|---|---|
index.html | Page shell, HUD, sheets, styles; the import map points three at vendor/. |
src/engine.js | Pure rules and AI (no DOM): legality, the interactive turn API, full-turn enumeration, evaluation, the five levels and Mr. Makis's analysis. |
src/ai-worker.js | Runs the computer's choice and Mr. Makis off the main thread. |
src/main.js | Renderer, board and checker geometry, animation, input, turn flow, HUD, settings. |
src/records.js | Game records, move notation, .vbg / .vbs file formats with validated import. |
src/textures.js, src/themes.js | Procedural wood and marble textures; the ten board styles. |
src/lessons.js | The eight guided lessons as pure data: positions, rule text, goals and answers. |
src/effects.js | Visual effects: the computer's last-move trails and the win confetti. |
src/sound.js | Synthesised sounds (no audio files). |
strategy.html | The strategy guide (standalone page, English and Greek). |
vendor/ | three.js r170 and three of its example modules (see THIRD-PARTY-NOTICES.md). |
app/ | Capacitor wrapper that packages the game as an Android app. |
test/ | Rules tests, self-play matches, the evaluation tuner and the guide's statistics. |
Requirements: Node 18+, JDK 21 and the Android SDK (platform 35, build-tools 35).
cd app
npm install
node sync-web.mjs # copies index.html, strategy.html, src/ and vendor/ into app/www
npx cap add android # first time only; afterwards: npx cap sync android
node make-icons.mjs # draws the launcher icons and splash into the Android project
node patch-android.mjs # MainActivity: keeps the phone's font size from scaling the HUD
cd android
./gradlew assembleDebug # -> app/build/outputs/apk/debug/app-debug.apk
In the app the strategy guide opens as a full-screen sheet over the game, and file exports are not
available (Android's WebView does not download files); importing .vbg / .vbs files works.
MIT. three.js is MIT-licensed as well; see THIRD-PARTY-NOTICES.md.