ps5upload
탈옥된 PS5에 게임·앱·홈브류를 전송하고 컴퓨터·휴대폰·브라우저로 콘솔을 관리합니다
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A photorealistic 3D game of Plakoto, the Greek pinning 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.
Plakoto-<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.
.vbg files to share a game (every move of an imported file is re-checked by
the rules engine)..vbs).test/strategy-stats.mjs and checked by
test/strategy-check.mjs.From bkgm.com ("Plakoto") and Wikipedia ("Plakoto"):
src/engine.js is the authority: its header lists the rules, and test/rules.mjs checks them with
hand-worked edge cases. 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, that every play the computer can choose replays click by
click through the same turn API the board uses, and that game results (mother, tie, mars) agree.
PLAKOTO_ENGINE=<path> points it at a modified engine: one-rule mutants (no anchors, pinned checkers
moving, no release, no waiver, no tie, ...) are all caught.
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:8833, with caching disabled for development
node test/rules.mjs # rules engine, edge cases, random full games, file formats (~4 s)
node test/legality.mjs # every legal play vs an independent brute-force rules implementation (~5 min)
node test/legality.mjs 12 200 # the same, a quick pass (~1 min)
node test/lessons.mjs # the guided lessons vs the engine (instant)
node test/strategy-check.mjs # the strategy guide's figures re-measured, EN/EL parity (~30 s)
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: ~3 min a game)
node test/make-puzzles.mjs 8 10 150 40 # regenerate src/puzzles.js (worker threads, ~40 min)
node test/strategy-stats.mjs 3000 4 # the figures quoted in the strategy guide
test/browser-harness.mjs plays whole games through the page in a browser and checks the 3D board
against the engine after every turn (instructions in its header).
| 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 with pins, 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 (pinned stacks), 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 nine guided lessons as pure data: positions, rule text, goals and answers. |
src/puzzles.js | The puzzles, generated by test/make-puzzles.mjs. |
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, the legality audit, self-play matches, the tuner, puzzles 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: immersive landscape, 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.