Швидкий старт — п'ять речей, які варто спробувати просто зараз
Джерело: 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.