Go to file
MpakobecEx edd6a7506c Keep card names in English, translate only effect text
Dropped nameRu from the translation workflow and from content validation warnings. Progress now counts cards whose text is filled; vanilla cards without text count as done.
2026-10-20 21:40:45 +05:00
content Keep card names in English, translate only effect text 2026-10-20 21:40:45 +05:00
server Keep card names in English, translate only effect text 2026-10-20 21:40:45 +05:00
tools Server skeleton, content pipeline and 94-card catalog 2026-10-20 21:27:45 +05:00
.gitattributes Base version: design docs, card catalog, implementation checklist 2026-10-20 21:15:00 +05:00
.gitignore Base version: design docs, card catalog, implementation checklist 2026-10-20 21:15:00 +05:00
DEVELOPMENT_CHECKLIST.md Keep card names in English, translate only effect text 2026-10-20 21:40:45 +05:00
IMPLEMENTATION_CHECKLIST.md Card text tokenization, keyword catalog and RU translation workflow 2026-10-20 21:35:55 +05:00
README.md Keep card names in English, translate only effect text 2026-10-20 21:40:45 +05:00
global.json Server skeleton, content pipeline and 94-card catalog 2026-10-20 21:27:45 +05:00
plan.md Base version: design docs, card catalog, implementation checklist 2026-10-20 21:15:00 +05:00

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                            импорт из первоисточника

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. Имена карт не переводятся и остаются английскими.

# создать файл переводов или обновить шаблоны, сохранив введённые переводы
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 — каталог карт с разбором состава сетов.