Усі сторінки форматів ↓
Посібники й довідка

Швидкий старт — п'ять речей, які варто спробувати просто зараз

Джерело: 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 показуються як дерева секцій, що згортаються.

Навіщо це: кожна інша команда в цьому посібнику — вузька підмножина того, що вміє оглядач. Почніть звідси, а до CLI переходьте, коли захочете щось автоматизувати скриптом.


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" забирає кожен вихідний файл скрипту. Каталог призначення створюється за потреби.

Якщо ви навіть не знаєте, в якому архіві лежить файл, спитайте механізм пошуку:

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, а про те, як TA: Kingdoms поширює палітри через PCX-носії розміром 1×1, — pcx.md.


Що далі?

  • Змодифікуйте юніт — пройдіть посібник із моддингу, щоб приблизно за 20 хвилин випустити власний варіант Arm Flash.
  • Розберіться в зоопарку файлів — почніть із покажчика довідника форматів.
  • Напишіть інструмент — кожен формат має API на Go. Врізка «Спробуйте самі» на сторінці кожного формату показує шлях імпорту formats/<x>.
  • Підключіть ШІ-асистентів — kbot mcp надає доступ до всього переліченого вище для Claude Code, Claude Desktop, Cursor тощо через MCP. Див. розділ про MCP у README.