尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗A recreation of Gwent as played in The Witcher 3: Wild Hunt (base game, Hearts of Stone, Blood and Wine and the next-gen update), against a computer opponent. It runs in any modern browser on PC and Android, installs as an app, and can be packaged as an Android APK.
On phones and tablets, including the Android app, the hints are plain buttons without the keys. A card is zoomed by pressing and holding it, and How to Play explains only the touch controls.
All graphics, sounds and music are the original Witcher 3 Gwent assets, in www/assets/:
| folder | contents | source |
|---|---|---|
cards/lg | full card faces (previews, zoom, carousels) | asundr/gwent-classic, checked against matt77hias/Gwent |
cards/sm | art-only textures for the board and hand, one per art variant | same |
cards/db | deck-builder faces (blank parchment, name drawn in the game font) | made from cards/lg by tools/make_deck_faces.py |
ui | board, notification emblems, gems, score tokens, icons, weather overlays, shields, card backs, end banners | gwent-classic |
sfx | sound effects | gwent-classic |
music | the five Gwent tracks from TW3's taverns and matches ("The Nightingale", "Back on the Path", "Another Round for Everyone", "A Story You Won't Believe", and the unreleased Gwent theme) | cut from a recording of the in-game Gwent music |
fonts | D-DIN Condensed | Datto D-DIN, SIL Open Font License |
Changes to the sources
tools/fix_leader_art.py).tools/make_board_sides.py), so the board reaches both edges of the screen.Font. TW3's interface font is PF DinText Cond Pro, which is commercial and therefore not bundled. If it is installed on your system the game uses it; otherwise it uses D-DIN Condensed, a free DIN condensed that is very close.
The assets are the property of CD PROJEKT RED. This is a non-commercial fan project. Don't sell it or put it behind a paywall.
Step-by-step instructions for players are in HOW_TO_INSTALL_AND_PLAY.md.
Every push to master runs two GitHub Actions workflows:
pages.yml publishes www/ on GitHub Pages.android.yml builds the release APK with Capacitor and publishes it as the latest release (gwent.apk). It
signs the APK with the keystore in the repository secrets GWENT_KEYSTORE_BASE64 and
GWENT_KEYSTORE_PASSWORD (alias gwent). Keep a copy of that keystore: Android only installs an update over
an existing app when both are signed with the same key.npm start # serves www/ at http://localhost:8080
npm install && npm run android:build # debug APK; needs JDK 21 and the Android SDK
npm test # rule scenario tests + several hundred AI-vs-AI games checked for invariants
npm run test:browser # complete matches played through the UI in Chromium, at desktop and phone sizes
test:browser needs npm i --no-save playwright-core, a Chromium build (CHROMIUM=/path/to/chromium) and the
game being served (npm start).
www/
index.html screens and board markup
css/style.css styling; the 1920×1080 stage (the size of the board art) is scaled to fit any screen,
and on wider screens the board and overlays reach the edges
js/cards.js card, leader and faction data, starter decks, deck rules
js/engine.js rules engine (pure, cloneable state)
js/ai.js computer opponent
js/ui.js board, card carousel, input, sound and music
js/deckbuilder.js deck builder (auto-saved decks per faction)
js/main.js app flow
assets/ original card art, UI, sound effects, music; bundled font
android/ the Android app (Capacitor), built by .github/workflows/android.yml
.github/workflows/ GitHub Pages and APK builds
tools/ scripts that produced the derived assets
tests/ rule tests, self-play and browser playtests