- README: с чего начать, какие команды есть, где что лежит - TECHNICAL.md: команда headless-сборки с её подводными камнями, настройки ASTC под Android/iOS, и честный раздел о том, что проверено, а что нет - PLAN.md: M8 и M9 помечены частичными — визуально игра не запускалась, браузер в этом окружении не поднимает главный цикл движка; там же список оставшихся хвостов Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
55 lines
2.3 KiB
Markdown
55 lines
2.3 KiB
Markdown
# Fool
|
|
|
|
A mobile card game: *durak*, one player against a bot. Built with
|
|
**Cocos Creator 3.8.8**, targeting Web, Android and iOS, portrait only.
|
|
|
|
## Getting around
|
|
|
|
| | |
|
|
|---|---|
|
|
| What the game is | [docs/GAMEPLAY.md](docs/GAMEPLAY.md) — the rules, and the bot's policy |
|
|
| How it is built | [docs/TECHNICAL.md](docs/TECHNICAL.md) — layers, folders, workflows |
|
|
| What is planned | [docs/PLAN.md](docs/PLAN.md) — milestones and their state |
|
|
| Why it is like that | [docs/DECISIONS.md](docs/DECISIONS.md) — choices the specs left open |
|
|
| Driving the editor | [docs/CODE_MODE_SETUP.md](docs/CODE_MODE_SETUP.md) |
|
|
|
|
## Working on it
|
|
|
|
```bash
|
|
npm install
|
|
npm test # the rules, the bot and the save format, headless
|
|
npm run typecheck # strict tsc over core/, modules/ and the tests
|
|
npm run check:core-purity # fails if the game logic reaches for the engine
|
|
npm run build:art # regenerate every sprite from source
|
|
npm run stats:bot # BasicBot self-play distribution — a tool, not a test
|
|
```
|
|
|
|
`npm test` needs no editor and no device. That is deliberate: the rules live in a
|
|
pure TypeScript core with no `cc` import, driven as a deterministic state
|
|
machine, so the entire rule set is verifiable in a couple of seconds. The soak
|
|
specs play several thousand complete matches and re-check every state invariant
|
|
after every single action.
|
|
|
|
To see it, open the project in Cocos Creator and press Preview, or build and
|
|
serve it — see *Builds* in [docs/TECHNICAL.md](docs/TECHNICAL.md).
|
|
|
|
## Layout
|
|
|
|
```
|
|
assets/scripts/core/ the rules, the bot — no engine dependency
|
|
assets/scripts/modules/ savegame
|
|
assets/scripts/app/ bootstrap and services
|
|
assets/scripts/ui/ scenes, screens, card rendering
|
|
assets/resources/cards/ 36 faces + back, packed into one atlas
|
|
art-src/cards/ vector sources for the faces
|
|
tests/ vitest specs and the state invariant checker
|
|
scripts/ art build and the architecture guard
|
|
```
|
|
|
|
## Credits
|
|
|
|
Card faces are from **Vector Playing Cards** by **Chris Aguilar**, LGPL-3.0.
|
|
Attribution is required by that licence — see
|
|
[assets/resources/cards/ATTRIBUTION.md](assets/resources/cards/ATTRIBUTION.md),
|
|
which also explains what to change if that licence does not suit the release.
|