Pure rules library with no Orleans or database. Command in, events out. Deterministic RNG stored in GameState. Covers setup with starting vanguard and mulligan, six phases, ride, call, attack, guard, drive check, damage check with triggers, retirement and win at six damage. 8 engine tests, 30 total. Sentinel, boost and card abilities are the next step. |
||
|---|---|---|
| content | ||
| docs | ||
| server | ||
| tools | ||
| .gitattributes | ||
| .gitignore | ||
| DEVELOPMENT_CHECKLIST.md | ||
| IMPLEMENTATION_CHECKLIST.md | ||
| README.md | ||
| global.json | ||
| plan.md | ||
README.md
Vanguard Re:Master
Фанатский ремастер Cardfight!! Vanguard базовой эры (2011): формат Classic, сет BT01 и два триал-дека TD01/TD02.
Fan-made project. Not affiliated with Bushiroad. All card names and art belong to their respective owners.
Статус
| Блок | Состояние |
|---|---|
| Документация и решения | готово |
| Каталог карт (94 / 124 принта) | готово |
| Контент-пайплайн и валидатор | готово |
| Игровое ядро (правила) | каркас: фазы, райд, призыв, бой, драйв, урон |
| Сервер, клиент, лаунчер | не начато |
Требования
- .NET SDK 10 (LTS). Версия зафиксирована в
global.json. - Python 3 — только для переимпорта карт из первоисточника.
Быстрый старт
# проверить целостность контента
dotnet run --project server/src/Vanguard.Cli -- validate
# сводка по кланам, триггерам и редкостям
dotnet run --project server/src/Vanguard.Cli -- stats
# тесты
dotnet test server/Vanguard.slnx
Ожидаемый вывод валидатора:
Карт: 94 Принтов: 124
[Warning] card.no-ru-name: Без русского названия: 94 карт (...).
OK: ошибок 0, предупреждений 1
Структура
/server/src/Vanguard.Rules ядро правил: карты, колоды, состояние игры
/server/src/Vanguard.Content загрузка и проверка YAML-контента
/server/src/Vanguard.Shared общие контракты (netstandard2.1, для Unity)
/server/src/Vanguard.Cli консольные команды
/server/tests тесты правил и контента
/content/sets карты в YAML
/content/keywords.yaml ключевые слова и иконки
/content/translations/ru.yaml русские тексты
/tools импорт и сид переводов
/docs правила перевода и прочие документы
Vanguard.Rules — чистая библиотека без Orleans, БД и сети. Это позволяет прогонять
матчи в консоли и проверять правила до появления клиента.
Контент
Первоисточник — официальный карт-лист en.cf-vanguard.com; триггеры и редкости
выгружены из вики. Пересобрать YAML:
python tools/import_cards.py
Валидатор проверяет инварианты, которые легко нарушить вручную:
- у grade 0 щит 5000 только у Draw-триггера, иначе 10000;
- Sentinel всегда со щитом 0;
- параллельный принт (
BT01/S01…S12) ссылается на существующий базовый принт той же карты; - в колоде ровно 50 карт, ≤4 копий по имени (а не по принту), ≤4 Sentinel, ≤4 Heal.
Тексты карт и иконки
Ключевые слова ([AUTO], [Counter-Blast 3], (VC/RC), <Kagero>) заменяются
на иконки при отрисовке. Чтобы перевод не ломал разметку, тексты хранятся в виде
шаблонов с токенами:
{auto}:{cb:2} When this unit is placed on {vc}, you may pay the cost...
Список токенов и их иконок — content/keywords.yaml.
Русские тексты — content/translations/ru.yaml: заполняется только textRu.
Поле nameRu существует, но пока содержит английское название — на случай,
если позже решим переименовать карты.
Правила перевода и спорные термины — docs/translation-rules.md.
Черновой перевод всех 66 текстов уже залит; его правит человек, после чего правила уточняются под фактические правки.
# создать файл переводов или обновить шаблоны, сохранив введённые переводы
dotnet run --project server/src/Vanguard.Cli -- translations build
# проверить заполнение и целостность токенов
dotnet run --project server/src/Vanguard.Cli -- translations check
Проверка ловит: незаполненные тексты, потерянные или лишние токены, токены, которых нет в справочнике. Карты без эффекта считаются готовыми сразу — им переводить нечего.
Документация
plan.md— исходный дизайн-документ.DEVELOPMENT_CHECKLIST.md— решения, механики, экономика, риски.IMPLEMENTATION_CHECKLIST.md— план реализации по блокам и гейтам.content/cards-mvp.md— каталог карт с разбором состава сетов.