RoboWar3D – приложение, предназначенное для проведения моделирования битвы роботов (эмуляция) и отображения этого процесса (3D визуализация).
При запуске RoboWar3D читает файлы конфигурации, содержащие параметры модели, визуализации и т.д. Основные файлы конфигурации: config.txt, game.txt, config3D.txt.
Задает значения параметров модели (Environment). Представляет из себя последовательность пар <Имя параметра> <Значение параметра>, при этом имена параметров аналогичны именам членов класса Environment.
Можно задавать значения всех параметров, кроме bases_count, field_width и field_height. Эти параметры задаются отдельно, с помощью файла game.txt.
Содержит описание игры, которая будет запущена. В файле могут присутствовать следующие команды:
Если имя карты имеет вид rndXxYxBC, то будет сгенерирована карта размерностью X*Y, с числом баз равным BC; расстановка баз будет произведена случайным образом, каждая команда роботов получит по одной базе на начало игры, остальные базы будут сделаны нейтральными. Параметры Y и BC могут быть опущены, в этом случае будет считаться X=Y, BC=(X+Y)/8 + 1. Примеры имен: rnd50x50x10, rnd80x80, rnd100.
В противном случае имя карты считается относительным/полным путем к файлу карты. Файл карты имеет следующий формат: <Количество баз> <Описание баз> <Количество роботов> <Описание роботов>. Описание баз – последовательность триплетов x y team, по одному на базу, где (x, y) - координаты базы, team – команда (-1 для нейтральной база). Если карта предусматривает наличие готовых роботов, то они задаются в описании роботов, аналогично заданию баз.
В game.txt может быть задано несколько команд роботов с одним и тем же скриптом (интеллектом). Должно быть больше одной команды роботов, чтобы игра состоялась. Максимальное число команд на одной карте – 10. Конструкция задания карты должна быть одна и находиться после описания команд.
Содержит параметры 3D визуализатора, в виде последовательности пар <Имя параметра> <Значение параметра>. Возможные параметры:
Параметр | Значение |
show_minimap | Режим отображения миникарты. 0 – не показывать, 1 – показывать без фона, 2 – показывать с фоном |
show_score | Режим отображения таблицы с информацией о командах. 0 – не показывать, 1 – показывать без фона, 2 – показывать с фоном |
show_info | Режим отображения вспомогательной информации. 0 – не показывать, 1 – показывать |
frames_per_anim | Число кадров для анимации. Чем больше, тем плавнее анимация |
refresh_delay | Задержка визуализации, в миллисекундах. Чем больше, тем медленнее будет идти визуализация |
show_particles | Режим отображения эффектов частиц. 0 – не показывать, 1 – показывать |
enable_music | Включить (1) или выключить (0) музыку |
Значения всех этих параметров можно также изменять непосредственно в самом визуализаторе.
Утилита scheck предназначена для проверки скриптов роботов.
Использование утилиты: scheck.exe <Имя скрипта>, при этом в директории Scripts должен находится файл скрипта с именем <Имя скрипта>.as. Если скрипт не содержит синтаксических ошибок, утилита сообщит об этом, в противном случае будет выведена информация об ошибках. Утилита проверяет только правильность текста скриптов, но не правильность их работы.
Можно проверять несколько скриптов сразу в виде: scheck.exe <Имя скрипта 1> <Имя скрипта 2> ... <Имя скрипта n>.