Руководство по созданию карт для игры SoundRTS

Дата публикации:2009
Twitter Facebook Vkontakte

Публикация подготовлена по материалам официального руководства по созданию карт для игры SoundRTS.

Введение

Данное руководство содержит информацию по созданию игровых многопользовательских карт для звуковой игры SoundRTS.

Существует два способа добавления новых карт:

  • 1.      Если вы имеете доступ к системной папке игры, которая, в зависимости от версии, может называться "SoundRTS" или "SoundRTS test", то вы можете размещать свои многопользовательские карты в папке "...\SoundRTS/SoundRTS test\maps\custom\multi\".
    Изначально по этому адресу уже располагается файл multiplayer_example.txt, содержащий пример многопользовательской карты. Вы можете редактировать и использовать его в качестве шаблона при создании ваших собственных карт. Также вы можете изменять стандартные карты игры, редактируя их файлы в папке "...\SoundRTS/SoundRTS test\maps\official\multi". Однако не пытайтесь добавить в данную директорию новые карты, так как они будут проигнорированы.
  • 2.      Если вы не имеете возможности работать в режиме администратора, и редактирования содержимого папки Program Files вам запрещено, то вы можете сохранить свои рабочие карты в папку "C:\Documents and Settings\(имя пользователя)\Application Data\SoundRTS/SoundRTS test\maps\custom\multi\". Данные папки создаются при первом запуске игры. Также при отсутствии администраторских прав можно редактировать карты и первым способом, однако для этого игру следует устанавливать в доступную вам папку, то есть минуя директорию Program Files.          

Как редактировать карты

Для редактирования карты надо открыть её файл в обычном текстовом редакторе и вносить изменения в нижнем регистре. Для проверки карты следует запустить SoundRTS и начать игру с компьютером. Данные о картах обновляются в процессе самой игры, поэтому для тестирования изменений, внесённых во время работы программы, не обязательно каждый раз перезагружать SoundRTS.

В процессе проверки отредактированной карты работу облегчит режим чит-кода, во время которого все клетки на карте будут открыты, а не затемнены как при обычной игре. Данный режим активируется одновременным нажатием клавиш Shift+Control+F2.

Имейте в виду, что режим чит-кода доступен лишь тогда, когда вы являетесь единственным человеком на карте.

Как найти и удалить ошибку

Если после редактирования карта не загружается, то это значит, что в процессе редактирования была допущена ошибка. При этом информация об ошибке будет записана в файл maperror.txt. Данный файл помещается в вашу временную системную папку. Как правило, она располагается по адресу: "C:\Documents and Settings\(имя пользователя)\Local Settings\Temp\". Также возможен вариант, при котором данный файл с описанием причины ошибки будет помещён непосредственно в системную папку самой игры.

Помимо файла maperror.txt, некоторая информация об ошибке, но в закодированном виде, ббудет содержаться в файле SoundRTS-local-server.log. Оба этих файла будут находиться в одной и той же директории.

Если же после просмотра указанных справочных файлов вам всё равно не ясна причина ошибки, то вы можете связаться с разработчиком игры по адресу soundmud at gmail dot com.

Комментарии

Строки, которые начинаются с символа ;, являются комментариями. Данные комментарии игнорируются системой во время обработки карты.  Весь текст в строке, начинающейся с точки с запятой, разценивается системой как комментарий.

Название (title)

Строка "title 4018 5000" означает: "Название карты состоит из звука No4018, за которым идёт звук No5000".

Задание (Objective)

Строка "objective 145 88" означает: "Задание карты состоит из звука No145, за которым идёт звук No88".

Размер клетки (square_width)

Строка "square_width 12" означает: "Ширина квадратной клетки равняется 12 метров". Изменять данный параметр не рекомендуется, так как в противном случаи вы можете слышать звук от объекта, находящегося на значительном расстоянии от вас.

Количество строк (Nb_lines) и количество столбцов (nb_columns)

Строка "nb_lines 7" означает: "Поле имеет 7 строк".
Строка "nb_columns 7" означает: "Поле имеет 7 столбцов".
Количество столбцов не может быть больше двадцати шести, количество же строк не ограничено. Однако рекомендуется также не превышать максимальное число столбцов, так как при количестве строк, превышающем число 26, система может работать не корректно.

Предупреждение:
В некоторых картах, которые были созданы уже давно, может встречаться строка "nb_rows 7". Этот оператор является устаревшим и не обязательным.  Он несёт тот же смысл, что и строка "nb_columns 7".

Пути с запада на восток (West_east_paths) и пути с юга на север (south_north_paths)

Строка "west_east_paths a1 c1 d1 f1" означает: "По направлению с запада на восток (слева на право) имеется прямой путь из a1 в b1, из c1 в e1 и из f1 до восточного (правого) края карты".

Строка "south_north_paths a1 a3 a4 a6" означает: "По направлению с юга на север (снизу вверх) имеется прямой путь из a1 в a2, из a4 в a5 и из a6 до северного (верхнего) края карты, а из a3 прямой путь на север или юг (вверх или вниз) отсутствует".

Мосты с запада на восток (West_east_bridges) и мосты с юга на север (south_north_bridges)

Принципы создания данного элемента карты аналогичны принципам, которые указывают прямые пути.

Золотые месторождения (Goldmines) и леса (woods)

Строка "goldmines 150 a2 b7 g6 f1" означает: "На клетках a2 b7 g6 f1 находятся золотые месторождения объёмом в 150 единиц. "
Строка "woods 150 f3 e5 a4 d7" означает: "На клетках f3 e5 a4 d7 находятся леса объёмом 150 единиц".

Количество земледельческих полей (Nb_meadows_by_square)

Строка "nb_meadows_by_square 2" означает: "Автоматически добавить в каждую игровую клетку по два поля для земледелия".

Добавление земледельческих полей (Additional_meadows)

Строка "additional_meadows a2 b7 g6 f1" означает: "В клетках a2 b7 g6 f1 находится по одному дополнительному полю для земледелия".  Строка "additional_meadows a2 a2 g6" означает: "В клетке a2 находится два, а в клетке g6 находится одно дополнительное поле для земледелия".

Удаление земледельческих полей (Remove_meadows)

Данный оператор является обратным оператору Additional_meadows. При его помощи, в определённых клетках уменьшается количество земледельческих полей. Работа с ним аналогична работе по добавлению таких полей.

Минимальное и максимальное число игроков на карте (Nb_players_min) и (nb_players_max)

Строка "nb_players_min 2" означает: "Для начала игры на карте требуется минимум два игрока".

Строка "nb_players_max 4" означает: "Количество игроков на карте не может быть больше четырёх".

Общий лимит единиц еды (Global_food_limit)

Этот оператор поддерживается лишь новыми версиями игры, начиная с девятой бета версии. Строка "global_food_limit 200" означает: "Суммарное количество единиц еды всех игроков не может превышать число 200". Данное ограничение действует даже тогда, когда потенциальная производительность ферм превышает установленный лимит. Данный лимит делится на абсолютно всех игроков на карте поровну. При лимите равном 200 единиц и количестве игроков равном 4, лимит каждого игрока составит 200/4, то есть 50 единиц еды на каждого.

Стартовое местоположение игроков (Starting_squares), начальное количество юнитов (starting_units) и ресурсов (starting_resources)

Данные операторы задают указанные параметры для всех игроков на карте.  Строка "starting_squares a2 b7 g6 f1" означает:" Стартовые позиции игроков находятся в клетках a2 b7 g6 f1". Все начальные постройки и юниты также будут располагаться в данных клетках карты.

Строка "starting_units townhall farm peasant" означает: "Каждый игрок в начале игры имеет один центр поселений, одну ферму и одного крестьянина". Строка "starting_units townhall 2 farm peasant" означает: "Каждый игрок в начале игры имеет один центр поселений, две фермы и одного крестьянина".

Строка "starting_resources 10 15" означает: "Каждый игрок начинает игру с десятью единицами золота и с пятнадцатью единицами дерева".

Список существующих юнитов

  • Крестьянин - peasant,
  • солдат - footman,
  • лучник - archer,
  • рыцарь - knight,
  • катапульта - catapult,
  • дракон - dragon,
  • маг - mage,
  • Летающая машина- flyingmachine.

Список существующих построек

  • Ферма - farm,
  • казармы - barracks,
  • лесопилка - lumbermill,
  • кузница - blacksmith,
  • центр поселений -  townhall,
  • Конюшня - stables,
  • Мастерская - workshop,
  • логовище драконов - dragonslair,
  • башня магов - magestower.

Оператор случайного выбора (#random_choice, #end_choice and #end_random_choice)

Этот оператор поддерживается лишь новыми версиями игры, начиная с девятой бета версии. Данный оператор предпроцессора выбирает случайным образом между двумя и более вариантами параметров. Каждый скрипт случайного выбора состоит из нуля или более строк. В рамках одной карты возможно многократное использования оператора #random_choice, но они не должны быть вложенными. Данный оператор может быть использован, например, для добавления на карту дополнительных ресурсов, которые будут располагаться случайным образом, по одному из прописанных сценариев, при каждой новой загрузке карты. Например:
строка 1 - "#random_choice",
строка 2 - "goldmines 500 e2 c6 b3 f5",
строка 3 - "#end_choice",
строка 4 - "goldmines 500 d2 d6 b4 f4",
строка 5 - "#end_choice",
строка 6 - "goldmines 500 c2 e6 b5 f3",
строка 7 - "#end_random_choice".

Данные семь строк означают: "При загрузке карты дополнительные месторождения золота объёмом в 500 единиц будут располагаться либо на клетках e2 c6 b3 f5, либо на клетках d2 d6 b4 f4, либо же на клетках c2 e6 b5 f3".

Данный оператор поможет сделать карту более ресурсно сбалансированной и добавит в неё элемент неожиданности. Имейте в виду, что данный оператор не применим к названию карты и параметру количества игроков, так как предпроцессор загружается лишь после выполнения этих задач.



Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения.
Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2019