Структура ресурсов очень простая - звуки, графика и файл описания текстур (строго файл texture.txt) находятся в единой папке assets/НАЗВАНИЕ_РЕСУРСНОГО_ПАКЕТА - это «ресурсный пакет», который подключается к картам уровня и находится в своей изолированной папке; «карты» находятся также в единой изолированной папке maps и представляют из себя набор текстовых файлов в строго определеном формате (пример - файл template.txt).
Ресурсный пакет состоит из:
- Звуковых файлов строго в формате .WAV;
- Файла заставки уровня в формате .BMP (файл строго startup.bmp);
- Текстурного атласа строго в texture.png с альфа-каналом;
- Описание текстурного атласа строго в texture.txt по заданному формату;
Примечание: Для создания нового ресурсного пакета при помощи ИИ необходимо перерисовать текстурный атлас строго следуя разметке файла texture.txt - просто закиньте в ИИ этот файл и просите строго следовать разметке.
Кликните, чтобы раскрыть эталонный файл-шаблон описания текстурного атласа, который можно скормить ИИ/AI при перерисовке текстур.
# Ресурсный набор игровых объектов
# ЕСЛИ ЗАХОЧЕШЬ УСТАНОВИТЬ СВОЙ НАБОР ГРАФИКИ, ТО НАДО ОБНОВИТЬ ТЕКСТУРУ И ЭТОТ ФАЙЛ
# ПРОСИ НЕЙРОСЕТЬ (ИИ/AI) ПЕРЕНАСТРОИТЬ КООРДИНАТЫ СПРАЙТОВ ПОД НОВУЮ ТЕКСТУРУ
#
# Текстура со спрайтами должна быть строго в файле texture.png и иметь alpha-канал прозрачности
#
# Здесь описывается размещение всех спрайтов в текстурном атласе
# NAME ROTATED(INT) X(INT) Y(INT) W(INT) H(INT) CX CY
###########################################################################
# Боковая плашка со статистикой
STATS; 0; 369; 0; 31; 240; 0.0; 0.0
# Пустой блок компьютерного танка на плашке статистики
EMPTY; 0; 369; 0; 8; 8; 0.0; 0.0
# Компьютерный танк на плашке статистики
ENEMY; 0; 320; 192; 8; 8; 0.0; 0.0
# Цифры от 0 до 9
0; 0; 329; 184; 7; 7; 0.0; 0.0
1; 0; 338; 184; 7; 7; 0.0; 0.0
2; 0; 345; 184; 7; 7; 0.0; 0.0
3; 0; 353; 184; 7; 7; 0.0; 0.0
4; 0; 361; 184; 7; 7; 0.0; 0.0
5; 0; 329; 192; 7; 7; 0.0; 0.0
6; 0; 337; 192; 7; 7; 0.0; 0.0
7; 0; 345; 192; 7; 7; 0.0; 0.0
8; 0; 353; 192; 7; 7; 0.0; 0.0
9; 0; 361; 192; 7; 7; 0.0; 0.0
# Иконка игрока на боковой плашке статистики
PLR; 0; 385; 136; 7; 7; 0.0; 0.0
TICON; 0; 377; 144; 7; 8; 0.0; 0.0
# Флаг на боковой плашке статистики
FLAG; 0; 376; 184; 16; 15; 0.0; 0.0
# Фраза "СТАДИЯ" (STAGE)
STAGE; 0; 328; 176; 40; 8; 0.0; 0.0
# Конец игры
GOVER; 0; 288; 184; 32; 16; 0.0; 0.0
# Пауза
PAUSE; 0; 288; 176; 40; 8; 0.0; 0.0
###########################################################################
# Игровые танки разных модификаций, их положение и анимация
# Структура названия спрайта танка
# A - танк; 0..3 - цвет танка; 0..7 - модель танка; N,S,W,E - направление башни; 0..1 - стадия анимации 0 или 1
# Пример A12N1 - серебрянный танк, модели 2, направление башни на север, нечетный кадр анимации
# Золотой танк
A00N0; 0; 0; 0; 16; 16; 0.0; 0.0
A00N1; 0; 16; 0; 16; 16; 0.0; 0.0
A00W0; 0; 32; 0; 16; 16; 0.0; 0.0
A00W1; 0; 48; 0; 16; 16; 0.0; 0.0
A00S0; 0; 64; 0; 16; 16; 0.0; 0.0
A00S1; 0; 80; 0; 16; 16; 0.0; 0.0
A00E0; 0; 96; 0; 16; 16; 0.0; 0.0
A00E1; 0; 112; 0; 16; 16; 0.0; 0.0
#
A01N0; 0; 0; 16; 16; 16; 0.0; 0.0
A01N1; 0; 16; 16; 16; 16; 0.0; 0.0
A01W0; 0; 32; 16; 16; 16; 0.0; 0.0
A01W1; 0; 48; 16; 16; 16; 0.0; 0.0
A01S0; 0; 64; 16; 16; 16; 0.0; 0.0
A01S1; 0; 80; 16; 16; 16; 0.0; 0.0
A01E0; 0; 96; 16; 16; 16; 0.0; 0.0
A01E1; 0; 112; 16; 16; 16; 0.0; 0.0
#
A02N0; 0; 0; 32; 16; 16; 0.0; 0.0
A02N1; 0; 16; 32; 16; 16; 0.0; 0.0
A02W0; 0; 32; 32; 16; 16; 0.0; 0.0
A02W1; 0; 48; 32; 16; 16; 0.0; 0.0
A02S0; 0; 64; 32; 16; 16; 0.0; 0.0
A02S1; 0; 80; 32; 16; 16; 0.0; 0.0
A02E0; 0; 96; 32; 16; 16; 0.0; 0.0
A02E1; 0; 112; 32; 16; 16; 0.0; 0.0
#
A03N0; 0; 0; 48; 16; 16; 0.0; 0.0
A03N1; 0; 16; 48; 16; 16; 0.0; 0.0
A03W0; 0; 32; 48; 16; 16; 0.0; 0.0
A03W1; 0; 48; 48; 16; 16; 0.0; 0.0
A03S0; 0; 64; 48; 16; 16; 0.0; 0.0
A03S1; 0; 80; 48; 16; 16; 0.0; 0.0
A03E0; 0; 96; 48; 16; 16; 0.0; 0.0
A03E1; 0; 112; 48; 16; 16; 0.0; 0.0
#
A04N0; 0; 0; 64; 16; 16; 0.0; 0.0
A04N1; 0; 16; 64; 16; 16; 0.0; 0.0
A04W0; 0; 32; 64; 16; 16; 0.0; 0.0
A04W1; 0; 48; 64; 16; 16; 0.0; 0.0
A04S0; 0; 64; 64; 16; 16; 0.0; 0.0
A04S1; 0; 80; 64; 16; 16; 0.0; 0.0
A04E0; 0; 96; 64; 16; 16; 0.0; 0.0
A04E1; 0; 112; 64; 16; 16; 0.0; 0.0
#
A05N0; 0; 0; 80; 16; 16; 0.0; 0.0
A05N1; 0; 16; 80; 16; 16; 0.0; 0.0
A05W0; 0; 32; 80; 16; 16; 0.0; 0.0
A05W1; 0; 48; 80; 16; 16; 0.0; 0.0
A05S0; 0; 64; 80; 16; 16; 0.0; 0.0
A05S1; 0; 80; 80; 16; 16; 0.0; 0.0
A05E0; 0; 96; 80; 16; 16; 0.0; 0.0
A05E1; 0; 112; 80; 16; 16; 0.0; 0.0
#
A06N0; 0; 0; 96; 16; 16; 0.0; 0.0
A06N1; 0; 16; 96; 16; 16; 0.0; 0.0
A06W0; 0; 32; 96; 16; 16; 0.0; 0.0
A06W1; 0; 48; 96; 16; 16; 0.0; 0.0
A06S0; 0; 64; 96; 16; 16; 0.0; 0.0
A06S1; 0; 80; 96; 16; 16; 0.0; 0.0
A06E0; 0; 96; 96; 16; 16; 0.0; 0.0
A06E1; 0; 112; 96; 16; 16; 0.0; 0.0
#
A07N0; 0; 0; 112; 16; 16; 0.0; 0.0
A07N1; 0; 16; 112; 16; 16; 0.0; 0.0
A07W0; 0; 32; 112; 16; 16; 0.0; 0.0
A07W1; 0; 48; 112; 16; 16; 0.0; 0.0
A07S0; 0; 64; 112; 16; 16; 0.0; 0.0
A07S1; 0; 80; 112; 16; 16; 0.0; 0.0
A07E0; 0; 96; 112; 16; 16; 0.0; 0.0
A07E1; 0; 112; 112; 16; 16; 0.0; 0.0
###########################################################################
# Серебряный танк
A10N0; 0; 128; 0; 16; 16; 0.0; 0.0
A10N1; 0; 144; 0; 16; 16; 0.0; 0.0
A10W0; 0; 160; 0; 16; 16; 0.0; 0.0
A10W1; 0; 176; 0; 16; 16; 0.0; 0.0
A10S0; 0; 192; 0; 16; 16; 0.0; 0.0
A10S1; 0; 208; 0; 16; 16; 0.0; 0.0
A10E0; 0; 224; 0; 16; 16; 0.0; 0.0
A10E1; 0; 240; 0; 16; 16; 0.0; 0.0
#
A11N0; 0; 128; 16; 16; 16; 0.0; 0.0
A11N1; 0; 144; 16; 16; 16; 0.0; 0.0
A11W0; 0; 160; 16; 16; 16; 0.0; 0.0
A11W1; 0; 176; 16; 16; 16; 0.0; 0.0
A11S0; 0; 192; 16; 16; 16; 0.0; 0.0
A11S1; 0; 208; 16; 16; 16; 0.0; 0.0
A11E0; 0; 224; 16; 16; 16; 0.0; 0.0
A11E1; 0; 240; 16; 16; 16; 0.0; 0.0
#
A12N0; 0; 128; 32; 16; 16; 0.0; 0.0
A12N1; 0; 144; 32; 16; 16; 0.0; 0.0
A12W0; 0; 160; 32; 16; 16; 0.0; 0.0
A12W1; 0; 176; 32; 16; 16; 0.0; 0.0
A12S0; 0; 192; 32; 16; 16; 0.0; 0.0
A12S1; 0; 208; 32; 16; 16; 0.0; 0.0
A12E0; 0; 224; 32; 16; 16; 0.0; 0.0
A12E1; 0; 240; 32; 16; 16; 0.0; 0.0
#
A13N0; 0; 128; 48; 16; 16; 0.0; 0.0
A13N1; 0; 144; 48; 16; 16; 0.0; 0.0
A13W0; 0; 160; 48; 16; 16; 0.0; 0.0
A13W1; 0; 176; 48; 16; 16; 0.0; 0.0
A13S0; 0; 192; 48; 16; 16; 0.0; 0.0
A13S1; 0; 208; 48; 16; 16; 0.0; 0.0
A13E0; 0; 224; 48; 16; 16; 0.0; 0.0
A13E1; 0; 240; 48; 16; 16; 0.0; 0.0
#
A14N0; 0; 128; 64; 16; 16; 0.0; 0.0
A14N1; 0; 144; 64; 16; 16; 0.0; 0.0
A14W0; 0; 160; 64; 16; 16; 0.0; 0.0
A14W1; 0; 176; 64; 16; 16; 0.0; 0.0
A14S0; 0; 192; 64; 16; 16; 0.0; 0.0
A14S1; 0; 208; 64; 16; 16; 0.0; 0.0
A14E0; 0; 224; 64; 16; 16; 0.0; 0.0
A14E1; 0; 240; 64; 16; 16; 0.0; 0.0
#
A15N0; 0; 128; 80; 16; 16; 0.0; 0.0
A15N1; 0; 144; 80; 16; 16; 0.0; 0.0
A15W0; 0; 160; 80; 16; 16; 0.0; 0.0
A15W1; 0; 176; 80; 16; 16; 0.0; 0.0
A15S0; 0; 192; 80; 16; 16; 0.0; 0.0
A15S1; 0; 208; 80; 16; 16; 0.0; 0.0
A15E0; 0; 224; 80; 16; 16; 0.0; 0.0
A15E1; 0; 240; 80; 16; 16; 0.0; 0.0
#
A16N0; 0; 128; 96; 16; 16; 0.0; 0.0
A16N1; 0; 144; 96; 16; 16; 0.0; 0.0
A16W0; 0; 160; 96; 16; 16; 0.0; 0.0
A16W1; 0; 176; 96; 16; 16; 0.0; 0.0
A16S0; 0; 192; 96; 16; 16; 0.0; 0.0
A16S1; 0; 208; 96; 16; 16; 0.0; 0.0
A16E0; 0; 224; 96; 16; 16; 0.0; 0.0
A16E1; 0; 240; 96; 16; 16; 0.0; 0.0
#
A17N0; 0; 128; 112; 16; 16; 0.0; 0.0
A17N1; 0; 144; 112; 16; 16; 0.0; 0.0
A17W0; 0; 160; 112; 16; 16; 0.0; 0.0
A17W1; 0; 176; 112; 16; 16; 0.0; 0.0
A17S0; 0; 192; 112; 16; 16; 0.0; 0.0
A17S1; 0; 208; 112; 16; 16; 0.0; 0.0
A17E0; 0; 224; 112; 16; 16; 0.0; 0.0
A17E1; 0; 240; 112; 16; 16; 0.0; 0.0
###########################################################################
# Зеленый танк
A20N0; 0; 0; 128; 16; 16; 0.0; 0.0
A20N1; 0; 16; 128; 16; 16; 0.0; 0.0
A20W0; 0; 32; 128; 16; 16; 0.0; 0.0
A20W1; 0; 48; 128; 16; 16; 0.0; 0.0
A20S0; 0; 64; 128; 16; 16; 0.0; 0.0
A20S1; 0; 80; 128; 16; 16; 0.0; 0.0
A20E0; 0; 96; 128; 16; 16; 0.0; 0.0
A20E1; 0; 112; 128; 16; 16; 0.0; 0.0
#
A21N0; 0; 0; 144; 16; 16; 0.0; 0.0
A21N1; 0; 16; 144; 16; 16; 0.0; 0.0
A21W0; 0; 32; 144; 16; 16; 0.0; 0.0
A21W1; 0; 48; 144; 16; 16; 0.0; 0.0
A21S0; 0; 64; 144; 16; 16; 0.0; 0.0
A21S1; 0; 80; 144; 16; 16; 0.0; 0.0
A21E0; 0; 96; 144; 16; 16; 0.0; 0.0
A21E1; 0; 112; 144; 16; 16; 0.0; 0.0
#
A22N0; 0; 0; 160; 16; 16; 0.0; 0.0
A22N1; 0; 16; 160; 16; 16; 0.0; 0.0
A22W0; 0; 32; 160; 16; 16; 0.0; 0.0
A22W1; 0; 48; 160; 16; 16; 0.0; 0.0
A22S0; 0; 64; 160; 16; 16; 0.0; 0.0
A22S1; 0; 80; 160; 16; 16; 0.0; 0.0
A22E0; 0; 96; 160; 16; 16; 0.0; 0.0
A22E1; 0; 112; 160; 16; 16; 0.0; 0.0
#
A23N0; 0; 0; 176; 16; 16; 0.0; 0.0
A23N1; 0; 16; 176; 16; 16; 0.0; 0.0
A23W0; 0; 32; 176; 16; 16; 0.0; 0.0
A23W1; 0; 48; 176; 16; 16; 0.0; 0.0
A23S0; 0; 64; 176; 16; 16; 0.0; 0.0
A23S1; 0; 80; 176; 16; 16; 0.0; 0.0
A23E0; 0; 96; 176; 16; 16; 0.0; 0.0
A23E1; 0; 112; 176; 16; 16; 0.0; 0.0
#
A24N0; 0; 0; 192; 16; 16; 0.0; 0.0
A24N1; 0; 16; 192; 16; 16; 0.0; 0.0
A24W0; 0; 32; 192; 16; 16; 0.0; 0.0
A24W1; 0; 48; 192; 16; 16; 0.0; 0.0
A24S0; 0; 64; 192; 16; 16; 0.0; 0.0
A24S1; 0; 80; 192; 16; 16; 0.0; 0.0
A24E0; 0; 96; 192; 16; 16; 0.0; 0.0
A24E1; 0; 112; 192; 16; 16; 0.0; 0.0
#
A25N0; 0; 0; 208; 16; 16; 0.0; 0.0
A25N1; 0; 16; 208; 16; 16; 0.0; 0.0
A25W0; 0; 32; 208; 16; 16; 0.0; 0.0
A25W1; 0; 48; 208; 16; 16; 0.0; 0.0
A25S0; 0; 64; 208; 16; 16; 0.0; 0.0
A25S1; 0; 80; 208; 16; 16; 0.0; 0.0
A25E0; 0; 96; 208; 16; 16; 0.0; 0.0
A25E1; 0; 112; 208; 16; 16; 0.0; 0.0
#
A26N0; 0; 0; 224; 16; 16; 0.0; 0.0
A26N1; 0; 16; 224; 16; 16; 0.0; 0.0
A26W0; 0; 32; 224; 16; 16; 0.0; 0.0
A26W1; 0; 48; 224; 16; 16; 0.0; 0.0
A26S0; 0; 64; 224; 16; 16; 0.0; 0.0
A26S1; 0; 80; 224; 16; 16; 0.0; 0.0
A26E0; 0; 96; 224; 16; 16; 0.0; 0.0
A26E1; 0; 112; 224; 16; 16; 0.0; 0.0
#
A27N0; 0; 0; 240; 16; 16; 0.0; 0.0
A27N1; 0; 16; 240; 16; 16; 0.0; 0.0
A27W0; 0; 32; 240; 16; 16; 0.0; 0.0
A27W1; 0; 48; 240; 16; 16; 0.0; 0.0
A27S0; 0; 64; 240; 16; 16; 0.0; 0.0
A27S1; 0; 80; 240; 16; 16; 0.0; 0.0
A27E0; 0; 96; 240; 16; 16; 0.0; 0.0
A27E1; 0; 112; 240; 16; 16; 0.0; 0.0
###########################################################################
# Малиновый танк
A30N0; 0; 128; 128; 16; 16; 0.0; 0.0
A30N1; 0; 144; 128; 16; 16; 0.0; 0.0
A30W0; 0; 160; 128; 16; 16; 0.0; 0.0
A30W1; 0; 176; 128; 16; 16; 0.0; 0.0
A30S0; 0; 192; 128; 16; 16; 0.0; 0.0
A30S1; 0; 208; 128; 16; 16; 0.0; 0.0
A30E0; 0; 224; 128; 16; 16; 0.0; 0.0
A30E1; 0; 240; 128; 16; 16; 0.0; 0.0
#
A31N0; 0; 128; 144; 16; 16; 0.0; 0.0
A31N1; 0; 144; 144; 16; 16; 0.0; 0.0
A31W0; 0; 160; 144; 16; 16; 0.0; 0.0
A31W1; 0; 176; 144; 16; 16; 0.0; 0.0
A31S0; 0; 192; 144; 16; 16; 0.0; 0.0
A31S1; 0; 208; 144; 16; 16; 0.0; 0.0
A31E0; 0; 224; 144; 16; 16; 0.0; 0.0
A31E1; 0; 240; 144; 16; 16; 0.0; 0.0
#
A32N0; 0; 128; 160; 16; 16; 0.0; 0.0
A32N1; 0; 144; 160; 16; 16; 0.0; 0.0
A32W0; 0; 160; 160; 16; 16; 0.0; 0.0
A32W1; 0; 176; 160; 16; 16; 0.0; 0.0
A32S0; 0; 192; 160; 16; 16; 0.0; 0.0
A32S1; 0; 208; 160; 16; 16; 0.0; 0.0
A32E0; 0; 224; 160; 16; 16; 0.0; 0.0
A32E1; 0; 240; 160; 16; 16; 0.0; 0.0
#
A33N0; 0; 128; 176; 16; 16; 0.0; 0.0
A33N1; 0; 144; 176; 16; 16; 0.0; 0.0
A33W0; 0; 160; 176; 16; 16; 0.0; 0.0
A33W1; 0; 176; 176; 16; 16; 0.0; 0.0
A33S0; 0; 192; 176; 16; 16; 0.0; 0.0
A33S1; 0; 208; 176; 16; 16; 0.0; 0.0
A33E0; 0; 224; 176; 16; 16; 0.0; 0.0
A33E1; 0; 240; 176; 16; 16; 0.0; 0.0
#
A34N0; 0; 128; 192; 16; 16; 0.0; 0.0
A34N1; 0; 144; 192; 16; 16; 0.0; 0.0
A34W0; 0; 160; 192; 16; 16; 0.0; 0.0
A34W1; 0; 176; 192; 16; 16; 0.0; 0.0
A34S0; 0; 192; 192; 16; 16; 0.0; 0.0
A34S1; 0; 208; 192; 16; 16; 0.0; 0.0
A34E0; 0; 224; 192; 16; 16; 0.0; 0.0
A34E1; 0; 240; 192; 16; 16; 0.0; 0.0
#
A35N0; 0; 128; 208; 16; 16; 0.0; 0.0
A35N1; 0; 144; 208; 16; 16; 0.0; 0.0
A35W0; 0; 160; 208; 16; 16; 0.0; 0.0
A35W1; 0; 176; 208; 16; 16; 0.0; 0.0
A35S0; 0; 192; 208; 16; 16; 0.0; 0.0
A35S1; 0; 208; 208; 16; 16; 0.0; 0.0
A35E0; 0; 224; 208; 16; 16; 0.0; 0.0
A35E1; 0; 240; 208; 16; 16; 0.0; 0.0
#
A36N0; 0; 128; 224; 16; 16; 0.0; 0.0
A36N1; 0; 144; 224; 16; 16; 0.0; 0.0
A36W0; 0; 160; 224; 16; 16; 0.0; 0.0
A36W1; 0; 176; 224; 16; 16; 0.0; 0.0
A36S0; 0; 192; 224; 16; 16; 0.0; 0.0
A36S1; 0; 208; 224; 16; 16; 0.0; 0.0
A36E0; 0; 224; 224; 16; 16; 0.0; 0.0
A36E1; 0; 240; 224; 16; 16; 0.0; 0.0
#
A37N0; 0; 128; 240; 16; 16; 0.0; 0.0
A37N1; 0; 144; 240; 16; 16; 0.0; 0.0
A37W0; 0; 160; 240; 16; 16; 0.0; 0.0
A37W1; 0; 176; 240; 16; 16; 0.0; 0.0
A37S0; 0; 192; 240; 16; 16; 0.0; 0.0
A37S1; 0; 208; 240; 16; 16; 0.0; 0.0
A37E0; 0; 224; 240; 16; 16; 0.0; 0.0
A37E1; 0; 240; 240; 16; 16; 0.0; 0.0
###########################################################################
# Броня
H0; 0; 256; 144; 16; 16; 0.0; 0.0
H1; 0; 272; 144; 16; 16; 0.0; 0.0
###########################################################################
# Выстрел
SN; 0; 323; 102; 3; 4; 0.0; 0.0
SW; 0; 330; 102; 4; 3; 0.0; 0.0
SS; 0; 339; 102; 3; 4; 0.0; 0.0
SE; 0; 346; 102; 4; 3; 0.0; 0.0
###########################################################################
# Малый взрыв
NS0; 0; 259; 130; 12; 12; 0.0; 0.0
NS1; 0; 272; 129; 15; 15; 0.0; 0.0
NS2; 0; 288; 129; 16; 16; 0.0; 0.0
# Большой взрыв
NB0; 0; 306; 129; 29; 29; 0.0; 0.0
NB1; 0; 338; 128; 30; 30; 0.0; 0.0
###########################################################################
# Защищаемый и разрушенный флаг
Z; 0; 304; 32; 16; 16; 0.0; 0.0
Z0; 0; 304; 32; 16; 16; 0.0; 0.0
Z1; 0; 320; 32; 16; 16; 0.0; 0.0
###########################################################################
# Очки счета
K100; 0; 290; 164; 14; 7; 0.0; 0.0
K200; 0; 305; 164; 14; 7; 0.0; 0.0
K300; 0; 321; 164; 14; 7; 0.0; 0.0
K400; 0; 337; 164; 14; 7; 0.0; 0.0
K500; 0; 353; 164; 14; 7; 0.0; 0.0
###########################################################################
# Бонусы
# Щит
PSHLD; 0; 256; 112; 16; 16; 0.0; 0.0
# Заморозка
PFREZ; 0; 272; 112; 16; 16; 0.0; 0.0
# Лопата
PLPTA; 0; 288; 112; 16; 16; 0.0; 0.0
# Что-то случайное
PRND; 0; 304; 112; 16; 16; 0.0; 0.0
# Бомба
PBOMB; 0; 320; 112; 16; 16; 0.0; 0.0
# Танк
PTANK; 0; 336; 112; 16; 16; 0.0; 0.0
# Пистолет
PGUN; 0; 352; 112; 16; 16; 0.0; 0.0
###########################################################################
# Респаун
R0 0; 259; 99; 9; 9; 0.0; 0.0
R1 0; 274; 98; 11; 11; 0.0; 0.0
R2 0; 289; 97; 13; 13; 0.0; 0.0
R3 0; 304; 96; 15; 15; 0.0; 0.0
###########################################################################
# Пусто
.; 0; 336; 0; 8; 8; 0.0; 0.0
###########################################################################
# Кирпичи
B; 0; 256; 0; 16; 16; 0.0; 0.0
BR; 0; 272; 0; 16; 16; 0.0; 0.0
BD; 0; 288; 0; 16; 16; 0.0; 0.0
BL; 0; 304; 0; 16; 16; 0.0; 0.0
BU; 0; 320; 0; 16; 16; 0.0; 0.0
b; 0; 256; 64; 8; 8; 0.0; 0.0
br; 0; 264; 64; 8; 8; 0.0; 0.0
bd; 0; 272; 64; 8; 8; 0.0; 0.0
bl; 0; 280; 64; 8; 8; 0.0; 0.0
bu; 0; 288; 64; 8; 8; 0.0; 0.0
###########################################################################
# Бетон
C; 0; 256; 16; 16; 16; 0.0; 0.0
CR; 0; 272; 16; 16; 16; 0.0; 0.0
CB; 0; 288; 16; 16; 16; 0.0; 0.0
CL; 0; 304; 16; 16; 16; 0.0; 0.0
CT; 0; 320; 16; 16; 16; 0.0; 0.0
c; 0; 256; 72; 8; 8; 0.0; 0.0
###########################################################################
# Вода
Q; 0; 256; 32; 16; 16; 0.0; 0.0
#Q0; 0; 256; 32; 16; 16; 0.0; 0.0
#Q1; 0; 256; 48; 16; 16; 0.0; 0.0
#Q2; 0; 272; 48; 16; 16; 0.0; 0.0
q0; 0; 256; 80; 8; 8; 0.0; 0.0
q1; 0; 264; 80; 8; 8; 0.0; 0.0
q2; 0; 272; 80; 8; 8; 0.0; 0.0
###########################################################################
# Лес
F; 0; 272; 32; 16; 16; 0.0; 0.0
f; 0; 264; 72; 8; 8; 0.0; 0.0
###########################################################################
# Лед
I; 0; 288; 32; 16; 16; 0.0; 0.0
i; 0; 272; 72; 8; 8; 0.0; 0.0
Карты уровней и основные замечания:
- Файл должен быть строго в кодировке UTF-8 BOM;
- Должны быть заполнены все поля файла без пропусков;
- Возможное количество сетевых игроков определяется строго описанием в карте уровня (поле !PLAYERS);
- Игроки и компьютер могут играть в одной команде;
- Игра считается оконченной если уничтожен орел, уничтожены все игроки или на поле осталась одна команда.
Примечание: Для создания новой карты уровня достаточно загрузить в ИИ файл шаблона template.txt и попросить сгенерировать по этому файлу новый уровень или серию уровней - все подсказки для ИИ уже присутствуют в файле-шаблоне.
Кликните, чтобы раскрыть эталонный файл-шаблон карты уровня, который можно скормить ИИ/AI при создании новых уровней.
# ФАЙЛ ДОЛЖЕН БЫТЬ СТРОГО В КОДИРОВКЕ 65001
# ШАБЛОН УРОВНЯ. ПРОСТО ЗАКИДЫВАЙ В НЕЙРОСЕТЬ (ИИ/AI) И ПРОСИ СГЕНЕРИРОВАТЬ НОВЫЙ УРОВЕНЬ
# __________ __ __ .__ _________ .__ __
# \______ \_____ _/ |__/ |_| | ____ \_ ___ \|__|/ |_ ___.__.
# | | _/\__ \\ __\ __\ | _/ __ \ / \ \/| \ __< | |
# | | \ / __ \| | | | | |_\ ___/ \ \___| || | \___ |
# |______ /(____ /__| |__| |____/\___ > \______ /__||__| / ____|
# \/ \/ \/ \/ \/
#
################################################################################
# ПОДСКАЗКА ДЛЯ РАЗРАБОТЧИКА / ВАЛИДАТОРА КАРТЫ
#
# 1. РЕСУРСЫ (!DATAPACK, !TEXTURE, !AUDIO): Ресурсы, используемые на уровне. Настриваются отдельно.
#
# 2. СЕТКА (!WORLD, !MAP):
# - Размер задается строго в !WORLD (Ширина; Высота;).
# - Если строка в !MAP короче Ширины, парсер дополняет её точками ('.').
# - Символы: . (пусто), Z (флаг), B (кирпич), C (бетон), F (лес), Q (вода), I (лед).
# - Цифры 0-9 — точки респауна игроков и компьютера.
#
# 3. РАЗРУШАЕМОСТЬ (!RUIN): Порядок значений строгий: [Прочность B]; [Прочность C];
#
# 4. МОДЕЛИ ПОВЕДЕНИЯ (AI):
# - RND — танк движется к случайной точке карты, затем выбирает новую и т.д.
# - KILL — танк строго охотится за танком игрока чужой команды.
# - FLAG — танк целенаправленно движется к флагу 'Z' для его уничтожения.
#
# 5. КОМАНДЫ (TEAM):
# - Объекты (и танки компьютера, и игроки) с одинаковым ID команды находятся
# в одном союзе. Огонь по своим заблокирован (не могут уничтожить друг друга).
#
# 6. ТАНКИ ПРОТИВНИКА (!COMPUTER):
# - Все колонки строго разделены точкой с запятой (;). Пробелы игнорируются.
# - Текст после последней ';' в строке — это сообщений (не более 64 символов), которое появляется в центре экрана когда танк входит в игру.
# - Колонки по порядку:
# 1. HOME (Точки спауна через запятую, например: 2,3,4 - любое количество в соответствии с нумерацией на карте)
# 2. TANK (Модель XY, где X=0..3 серия, Y=0..7 тип)
# 3. DIR (Направление: N, S, E, W)
# 4. AI (Поведение: RND, KILL, FLAG)
# 5. TIMING (Задержка появления)
# 6. HEALTH (Очки жизни)
# 7. SPEED (Макс. скорость)
# 8. ACCEL (Ускорение)
# 9. RELOAD (Перезарядка)
# 10. SHOT (Скорость пули)
# 11. DAMAGE (Урон)
# 12. POINTS (Очки за уничтожение)
# 13. TEAM (ID команды)
#
# 7. ИГРОКИ (!PLAYERS):
# - Логика парсинга аналогична !COMPUTER (разделение через ';', игнор пробелов).
# - На карте поддерживается до 10 игроков (точки респауна в соответствии с нумерацией на карте).
################################################################################
# Ресурсы ##############################################################
# Название ресурсного пакета - название каталога в папке assets
!DATAPACK
template
# Текстура
!TEXTURE
# FILE - файл тектуры
# ATLAS - атлас текстуры
# FILE ATLAS
texture.png; texture.txt;
# Звуки
!AUDIO
# START - звук начала стадии
# RUNNING - звук движущихся танков
# SHOT - звук выстрела
# BOOM - звук малого взрыва
# BLAST - звук большого взрыва
# BONUS - звук подборки бонуса
# GAMEOVER - звук неудачного окончания игры
# SUCCESS - звук успешного завершения стадии
# START RUNNING SHOT BOOM BLAST BONUS GAMEOVER SUCCESS
start.wav; running0.wav; shot.wav; boom.wav; blast.wav; bonus.wav; gameover.wav; success.wav;
########################################################################
# Название уровня (небольшой текст в одно предложение ~60 символов)
!HEAD
Штурм цитадели
# Описание уровня (многострочный текст; 3-5 вводных предложений; каждая строка ~60 символов)
!NOTICE
Монолитный лабиринт, где твои снаряды бесполезны против стен.
Вся карта из неуязвимого бетона. Узкие проходы, укрыться негде.
Придется разменивать ХП лицом или выманивать ботов на рикошеты.
Каждая ошибка — минус катка.
!WORLD
# ЗНАЧЕНИЯ ИДУТ СТРОГО В ОДНУ СТРОКУ
# WIDTH HEIGHT - комфортный диапазон значений (13..20)
13; 14;
!MAP
# Карта мира (оптимально 13x14, но можно незначительно больше)
# . - пустое поле
# 0..9 - точки респауна игроков и компьютера 1 - 10
# Z - флаг (условие победы компьютера)
# B - кирпичный блок (блок имеет несколько стадий разрушения)
# С - бетонный блок (блок имеет повышенную прочность)
# F - лесной массив (лес скрывает танки)
# Q - вода (танки не могут пересекать блоки воды)
# I - лед (танки скользят на льду)
2.....3.....4
..BBBBBBBBB..
..FC..B..CF..
..FB..B..CF..
..FC..B..CF..
..FC..B..BF..
..FCCC.CCCF..
.............
.QQQQQQQQQQQ.
.IIIIIIIIIII.
.............
.............
.....BBB.....
..0..BZB..1..
# Разрушаемость окружения
!RUIN
# B - кирпичный блок (блок имеет несколько стадий разрушения)
# С - бетонный блок (блок имеет повышенную прочность)
# ЗНАЧЕНИЯ ИДУТ СТРОГО В ОДНУ СТРОКУ
# B C
20; 1000;
# Скорость появления бонусов (в секундах) на карте
!BONUS
# TIMING - интервал появления бонусов на поле (в секундах)
# TIMELIFE - время видимости бонуса (в секундах)
# ЗНАЧЕНИЯ ИДУТ СТРОГО В ОДНУ СТРОКУ
# TIMING TIMELIFE
10; 8;
# Лимит количества танков противника, находящегося на поле
!LIMIT
5
# Время (в секундах) до начала появления противника
!START
10
# Количество танков противников, их ТТХ и тайминг появления в точках респауна
# HOME - точка респауна
# TANK - модель танка XY, где X=0-3, Y=0-7:
# Серии танков:
# X=0 - золотая серия танков
# X=1 - серебрянная серия танков
# X=2 - зеленная серия танков
# X=3 - малиновая серия танков
# Типы танков:
# Y=0 - малый танк
# ...
# Y=7 - большой танк
# DIR - начальное направление движения N, S, E, W
# AI - модель поведения на поле:
# RND - случаное перемещение по полю
# KILL - нападение на игрока
# FLAG - уничтожение флага
# TIMING - время задержки до появления следующего танка на поле (в секундах)
# HEALTH - очки жизни (рекомендуемые значение 1-100)
# SPEED - максимальная скорость (рекомендуемые значение 0.1-10) (точек за кадр)
# ACCEL - ускорение (рекомендуемые значение 0.1-3.0) (точек за кадр)
# RELOAD - скорость перезарядки (в секундах) (рекомендуемые значение 0.1-5)
# SHOT - скорость выстрела (рекомендуемые значение 8-15)
# DAMAGE - очки ущерба жизни противника (рекомендуемые значение 1-100)
# TEAM - команда (значение 0-9) - танки из одной команды не могут друг друга уничтожить
!COMPUTER
# ЗНАЧЕНИЯ ИДУТ СТРОГО В ОДНУ СТРОКУ
# HOME TANK DIR AI TIMING HEALTH SPEED ACCEL RELOAD SHOT DAMAGE POINTS TEAM
2,3,4; 11; S; KILL; 0; 100; 3; 0.25; 1.0; 8; 25; 200; 1; Скоростной танк
2,3,4; 12; S; RND; 0; 100; 1; 0.25; 1.0; 8; 25; 200; 2; Стандартный танк
2,3,4; 13; S; RND; 5; 100; 1; 0.25; 1.0; 8; 25; 200; 2;
2,3,4; 14; S; RND; 0; 100; 1; 0.25; 1.0; 8; 25; 200; 2;
2,3,4; 15; S; RND; 0; 100; 1; 0.25; 1.0; 8; 25; 200; 3;
2,3,4; 16; S; RND; 5; 100; 1; 0.25; 1.0; 8; 25; 200; 3;
2,3,4; 17; S; RND; 0; 100; 1; 0.25; 1.0; 8; 25; 200; 3;
2,3,4; 20; S; KILL; 0; 100; 1; 0.25; 1.0; 8; 25; 300; 4;
2,3,4; 21; S; KILL; 5; 100; 1; 0.25; 1.0; 8; 25; 300; 4;
2,3,4; 22; S; KILL; 0; 100; 1; 0.25; 1.0; 8; 25; 300; 4;
2,3,4; 23; S; KILL; 0; 100; 1; 0.25; 1.0; 8; 25; 300; 4;
2,3,4; 24; S; KILL; 5; 100; 1; 0.25; 0.75; 8; 25; 300; 5;
2,3,4; 25; S; KILL; 0; 100; 1; 0.25; 0.75; 8; 25; 300; 5;
2,3,4; 26; S; KILL; 0; 100; 1; 0.25; 0.75; 8; 25; 300; 5;
2,3,4; 27; S; FLAG; 5; 100; 1; 0.25; 0.75; 8; 25; 400; 5;
2,3,4; 30; S; FLAG; 0; 100; 1; 0.25; 0.75; 8; 25; 400; 6;
2,3,4; 31; S; FLAG; 0; 100; 1; 0.25; 0.5; 8; 25; 400; 6;
2,3,4; 32; S; FLAG; 5; 100; 1; 0.25; 0.5; 8; 25; 400; 6;
2,3,4; 33; S; FLAG; 0; 100; 1; 0.25; 0.25; 8; 25; 400; 7;
2,3,4; 34; S; KILL; 0; 1000; 2; 0.25; 0.20; 8; 100; 400; 7; БОСС 1!!!
2,3,4; 35; S; KILL; 0; 1000; 2; 0.25; 0.15; 8; 100; 400; 8; БОСС 2!!!
2,3,4; 36; S; KILL; 0; 1000; 2; 0.25; 0.10; 8; 100; 500; 8; БОСС 3!!!
2,3,4; 37; S; KILL; 0; 1000; 2; 0.25; 0.05; 8; 100; 500; 9; БОСС 4!!!
!PLAYERS
# ЗНАЧЕНИЯ ИДУТ СТРОГО В ОДНУ СТРОКУ
# HOME TANK DIR LIVES HEALTH SPEED ACCEL RELOAD SHOT DAMAGE POINTS TEAM
0; 00 N; 9; 100; 5; 0.75; 0.5; 15; 30; 500; 0; Игрок 1
1; 10 N; 9; 100; 5; 0.75; 0.5; 15; 30; 500; 0; Игрок 2