- scripts/build-art.mjs: все спрайты игры собираются из исходников, а не кладутся руками. Лица карт растеризуются из векторов, рубашка/стол/панели/кнопки нарисованы SVG-ом прямо в скрипте - 36 лиц 220x320 + рубашка, автоатлас 2048x2048, обрезка выключена (раскладка рассчитывает на точный размер карты) - девятипатчевые плитки 120x120 с рамкой 40 - фон стола 540x960, рисуется в 2x — градиенту детализация не нужна, а памяти под текстуру уходит вчетверо меньше - исходные векторы перенесены из local/ в art-src/cards - ATTRIBUTION.md: LGPL-3.0, атрибуция обязательна; там же написано, что менять, если такая лицензия не подходит для релиза Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
30 lines
1.5 KiB
Markdown
30 lines
1.5 KiB
Markdown
# Card face attribution
|
|
|
|
The 36 card faces in this folder are rendered from **Vector Playing Cards** by
|
|
**Chris Aguilar** (`totalnonsense.com/open-source-vector-playing-cards/`,
|
|
originally `code.google.com/p/vector-playing-cards/`).
|
|
|
|
- **Licence:** LGPL-3.0
|
|
- **Attribution is a requirement of the licence** and must appear in the shipped
|
|
game — a credits screen, an about box, or the store listing description.
|
|
- The unmodified vector sources are kept in [`art-src/cards`](../../../art-src/cards)
|
|
so the LGPL obligation to make the source form available is met, and so the
|
|
sprites can be regenerated: `npm run build:art`.
|
|
|
|
The court cards (J, Q, K) come from the set's alternate variants, which carry the
|
|
proper court illustrations; the plain variants are only a large suit pip.
|
|
|
|
Everything else in `assets/art` — the card back, the table surface, the panels
|
|
and the buttons — was authored for this project in
|
|
[`scripts/build-art.mjs`](../../../scripts/build-art.mjs) and carries no third
|
|
party licence.
|
|
|
|
## Note for whoever ships this
|
|
|
|
LGPL-3.0 is a copyleft licence. It is usable in a closed-source game as long as
|
|
the licensed part stays separable and replaceable and its source is available —
|
|
which is why the SVGs are in the repository rather than deleted after the build.
|
|
If that is not acceptable for this product, the 36 faces are the only thing that
|
|
has to be replaced; nothing in the code depends on their appearance, only on the
|
|
file names, which follow `<rank>_of_<suit>.png` (see `Card.assetName`).
|