Быстрый старт — пять вещей, которые можно попробовать прямо сейчас
Источник: coreprime/kbot @ 0ab97bf · Редактировать на GitHub
На прошлой неделе купили TA на GoG, а пять минут назад установили kbot? Не знаете, с чего начать? Попробуйте эти пять команд: каждая занимает меньше минуты и показывает какой-нибудь другой формат.
Во всех примерах предполагается, что ваша установка TA зарегистрирована как контекст kbot (см.
kbot ctx):kbot ctx add /path/to/total-annihilation --alias ta --game totala
1. Просмотр всех файлов игры в веб-браузере
kbot mount --server
Открывается по адресу http://localhost:8090. Пощёлкайте по файлам: TNT, GAF, PCX, 3DO и FNT можно просматривать, не выходя из браузера. Скрипты COB показываются с подсветкой синтаксиса и в просмотрщике потока управления. Файлы TDF/FBI/OTA отображаются как сворачиваемые деревья секций.
Зачем это нужно: любая другая команда из этого руководства — лишь узкая часть того, что умеет обозреватель. Начните с него, а к командной строке переходите, когда захочется что-нибудь автоматизировать скриптом.
2. Отрисовка карты из кампании
kbot tnt preview "maps/sub hunting.tnt" -t /tmp/sub-hunting.png
open /tmp/sub-hunting.png # macOS — use `xdg-open` on Linux
Команда накладывает спрайты объектов (деревья, камни, месторождения
металла) поверх мозаики тайлов и рисует пронумерованные метки стартовых
позиций из парного файла .ota. Получившийся PNG размером 1,7 МБ куда
подробнее встроенной миникарты 252×252.
Подробности формата — в tnt.md: там расписан каждый байт.
3. Что юнит делает на самом деле
Декомпилируйте его скомпилированный байткод обратно в читаемый исходник BOS:
kbot cob decompile scripts/armkrog.cob | head -80
…это скрипт анимации Крогота (Krogoth). Цикл ходьбы, отдача оружия, анимация гибели — всё там. Для подробностей на уровне опкодов дизассемблируйте:
kbot cob disassemble scripts/armkrog.cob -s Walk -a
Флаг -a рисует ASCII-стрелки между парными инструкциями JUMP /
JUMP_IF_FALSE, так что структура циклов видна с первого взгляда.
См. cob.md, в том числе полный справочник
опкодов и
таблицу портов get_unit_value.
4. Извлечение одного файла из любого архива
Не распаковывая всю игру:
kbot hpi extract totala1.hpi -p "units/ARMCOM.FBI" -t /tmp/out
cat /tmp/out/units/ARMCOM.FBI | head
-p принимает шаблоны glob: -p "units/*.fbi" извлекает все файлы FBI,
-p "*.bos" — все исходники скриптов. Каталог назначения создаётся, если
его ещё нет.
Если вы даже не знаете, в каком архиве лежит файл, спросите механизм разрешения путей (resolver):
kbot mcp --game-data $(kbot ctx path) & # if MCP is configured
# or use the web UI's search box
См. hpi.md, в том числе полный побайтовый разбор дампа небольшого архива.
5. Выгрузка канонической палитры TA в PNG на память
kbot pal swatch palettes/palette.pal -o /tmp/ta-palette.png --cell 24
open /tmp/ta-palette.png
Сетка 16 × 16 со всеми цветами игры. Удобна как быстрая шпаргалка, когда вы работаете над скином юнита или подбираете индекс цвета для HUD. Заштрихованная клетка в левом верхнем углу — индекс 0 (чёрный). Штриховка нужна только для того, чтобы её было заметно: на рельефе и фонах игра рисует этот цвет обычным чёрным, а спрайты задают собственный прозрачный ключевой цвет для каждого кадра.
См. pal.md, а также pcx.md о том, как TA: Kingdoms распространяет палитры через PCX-носители размером 1×1.
Что дальше?
- Сделайте мод юнита — пройдите руководство по моддингу и примерно за 20 минут выпустите собственный вариант юнита «Вспышка» (Arm Flash).
- Разберитесь в зоопарке файлов — начните с оглавления справочника форматов.
- Напишите свой инструмент — у каждого формата есть Go API. Во врезке
«Попробуйте сами» на странице каждого формата указан путь импорта
formats/<x>. - Подключите ИИ-ассистентов —
kbot mcpоткрывает всё перечисленное выше для Claude Code, Claude Desktop, Cursor и других через MCP. См. раздел о MCP в README.