Створюйте мапи, моди, юніти й інструменти для Total Annihilation
Усе, що потрібно творцям для Total Annihilation і TA: Kingdoms: довідник усіх форматів файлів обох ігор, байт за байтом; kbot — набір інструментів, який читає та записує ці файли; і посібник із моддингу Open Annihilation про пакування мап, модів, мутаторів і комп'ютерних гравців.
Довідник форматів файлівусі формати обох ігор, від архівів до скриптів юнітівУвесь каталог ›
Кожна сторінка поєднує структуру формату на диску з командою kbot, яка показує цей формат у вашій власній інсталяції: що це за файл, його заголовок і вміст байт за байтом, порядок читання, розбір справжнього файлу Cavedog і підводні камені.
Контейнери й обгортки
Графіка й медіа
GAF
Анімації спрайтів з індексованими кольорами (курсори, вибухи, деталі юнітів, об'єкти мапи)
.gaf .tafTAF / TSF
Повнокольорові (16-бітний ARGB) анімації TA: Kingdoms — ефекти заклинань, вибухи, фони меню — а також їхня редагована текстова форма
.taf .tsfPCX
Растр ZSoft Paintbrush — портрети юнітів, панелі інтерфейсу та носії палітр у TA:K
.pcxPAL / ALP / LHT / SHD
Палітра на 256 кольорів (1 024 байти) і таблиці пошуку кольорів: .alp 256×256 (65 536 байтів), .shd / .lht 32×256 (8 192 байти)
.pal .alp .lht .shdFNT
Растровий шрифт змінної ширини, 1 біт на піксель
.fntSmacker / ZRB
Відео заставок (RAD Game Tools Smacker, перейменоване на .zrb)
.smk .zrbBink
Відео заставок TA: Kingdoms (RAD Bink 1) — наступник Smacker
.bikWAV / Звук
Звичайний WAV і трирівнева схема підключення звукових банків
.wavМапи й рельєф
SCT
Багаторазові секції мап, із яких зшивають мапи .tnt
.sctTNT
Повна мапа для гри (сітка тайлів + карта висот + мінімапа + список об'єктів)
.tntМапи TA:K
Конвеєр мап TA: Kingdoms — текстурований рельєф + рендер мінімапи, а також супровідний файл сценарію .crt (розставлені юніти, правила, тригери)
.tnt .ota .crt .kmpЮніти, скрипти, конфігурації
3DO
Ієрархічна 3D-сітка юніта чи об'єкта з гранями в індексованих кольорах палітри
.3doCOB / BOS
Стековий байткод анімації та скриптів, що керує кожним юнітом
.cob .bosTDF / FBI / OTA
Конфігураційні дерева в стилі INI — характеристики юнітів, зброя, метадані мап. Містить повний словник полів FBI.
.tdf .fbi .otaTDF у gamedata
Класи руху, дані сторін, прив'язки звуків, довідка зі зброї
gamedata/*.tdfПрофілі ШІ
Текстові ваги ШІ й ліміти юнітів за рівнем складності (профілі TAK не мають plan; див. примітку про TAK)
ai/*.txtІнтерфейс TA: Kingdoms
Посібники й довідка
Швидкий старт
П'ять команд для початку.
Моддинг юніта
Наскрізний посібник: видобути → змінити → перепакувати → перевірити (TA).
Підводні камені
Шпаргалка на одну сторінку з усіма підводними каменями з документації форматів.
Формати TA і TA:K
Таблиця на одну сторінку: що спільне, що схоже, а що є лише в одній грі.
Глосарій
Поширені терміни (piece, axis, sealevel, signal mask, …).
Набір інструментів kbotодин інструмент командного рядка для всіх форматівkbot на GitHub ›
kbot відкриває архіви HPI, UFO, CCX і GP3, рендерить мапи, секції, спрайти, палітри й шрифти, декомпілює та перевіряє скрипти COB, розбирає файли TDF і FBI та монтує всю інсталяцію як одну теку, яку можна переглядати. Щойно ви задасте контекст, кожна команда з довідника працюватиме саме так, як написано.
Установіть його через Go, а потім зареєструйте теку гри:
go install github.com/coreprime/kbot/cmd/kbot@latest
kbot ctx add ~/games/totala --alias ta --game totala
Моддинг Open Annihilationпосібник із моддингу на mods.coreprime.net (англійською)Посібник із моддингу (англійською) ›
Open Annihilation запускає мапи й моди, які ви створюєте. Пакет мап — це один файл .oamap, мод — один .oamod, мутатор — один .oamut, а комп'ютерний гравець — один .oabrain: zip-архів із маніфестом у корені. Гра сама перевіряє та встановлює пакет. Посібник із моддингу розбирає кожен із них розділ за розділом.
Будова пакета мап
Zip-архів .oamap, його маніфест oamap.yaml, індекс мап, який записує пакувальник, і як розмір та об'єкти мапи визначають, чи підходить вона для гри.
02Будова мода
Zip-архів .oamod і профіль oamod.yaml: ідентифікація, структура, обмеження, ключі даних, розширення скриптів і стандартні правила, які він вмикає.
03Створити мутатор
Невеликий .oamut поверх базової гри чи будь-якого мода: тека, маніфест, план, який повертає mutate, параметри, пісочниця і порядок, у якому застосовується набір мутаторів.
04Приклади на Lua
Шість робочих скриптів зі справжніх пакетів: одне правило, масштабування з обмеженнями, сторона, хук юнітів, що може відхилити гру, хук об'єктів і план файлів із накладанням тек.
05Перенести старий мутатор
KroggyComm 1.1 з архівів у пакет, а файл правил TA: Mutation — або залишений із sm, або переписаний на Lua.
06Перевірити, запакувати й опублікувати
oa-tool mutator check і pack, пробний запуск, що показує сторінка каталогу, значок і як запропонувати пакет Core Prime.
07Створити мозок
.oabrain, що грає за одне комп'ютерне місце: тека, кожен ключ маніфесту, теги, рівні, повна видимість, де виконується скрипт, ліміти і що стається, коли він зупиняється.
08Lua мозку
Маніфест і скрипт Steady Commander, хуки, що мозок може знати й робити, числа, випадкові значення, таймери та чат.
09Classic: розібраний приклад
Вбудований комп'ютерний гравець, написаний на Lua: його файли, таблиця завдань, одне завдання, нотатки про особливості, що лишається в рушії, і як довести, що накази ті самі.
10Навчені мережі
Навіщо мозку постачати .oann, цілочисельна арифметика, шари, запуск мережі, oa-tool brain net, обмеження і що показує Бібліотека.
11Перевірити, запакувати й опублікувати мозок
oa-tool brain pack і check, матч без інтерфейсу й трасування, перевірка в Бібліотеці та журнал місця, тип oabrain у каталозі і як запропонувати пакет Core Prime.
12Стандартні правила
Задокументовані правила, які може вмикати профіль, кожне зі своїм ключем, значеннями й поведінкою, з якої воно походить. Правила симуляції мають збігатися в усіх гравців.
13Розширення скриптів
Значення, які профіль може передати скриптам юнітів мода, як-от кількість знищених юнітом ворогів чи союзи його власника, і як COB-скрипт зчитує кожне з них.
14Версії та випуски
Версія — це довільний текст, її ніколи не впорядковують. packaging.revision зростає з кожним перепакуванням, а випуски нумерує каталог. Ніколи не використовуйте ту саму версію й ревізію для інших байтів.
15Публікація в Core Prime
Перевірка пакета, подання до бібліотеки вмісту, як випуск з'являється в каталозі й у Бібліотеці кожного гравця, і як запустити власний реєстр.