Участник:Voiko: различия между версиями

Материал из Celadon | Wiki Shiptest
Перейти к навигации Перейти к поиску
Нет описания правки
Метки: ручная отмена отменено
Нет описания правки
 
(не показано 8 промежуточных версий этого же участника)
Строка 1: Строка 1:
пу-пу-пу
{{В процессе создания|worker=Voiko}}
test
 
test4
= Руководство по созданию карт =
'''В рядах Империи Celadon новое пополнение? Отлично!''' Представляю к вашему вниманию универсальный гайд для повышения квалификации!
 
== Выбор программы ==
Прежде, чем начать мапить, нам потребуется взять на вооружение программу, с помощью которой ты сможешь создавать самые различные карты корабликов, руин, станций и не только.<br>
На выбор у нас имеются несколько программ:
[[File:Sdmm-logo.png|thumb|128px|'''"StrongDMM"''' - это один исполняемый файл, не требующий установки.]]
<ol>
<li> '''[https://github.com/SpaiR/StrongDMM?tab=readme-ov-file StrongDMM]''' - это самый '''наилучший вариант''' из всех возможных. Программа имеет удобный интерфейс и также  возможность работать с несколькими картами одновременно.</li>
<li> '''[https://fastdmm2.ss13.io/ Fastdmm2]''' - сайт, который позволяет редактировать карты без необходимости скачивания, есть возможность просто указать ссылку на GitHub. По большей части имеет не особо удобный интерфейс, данный вариант подойдёт больше для быстрого просмотра карт, чем для серьёзного маппинга.</li>
<li> '''Dream Maker''' - самый худший выбор для маппинга, интерфейс неудобный, в добавок отсутствует возможность полноценно редактировать все типы кораблей/руин. Просто забудь об этом варианте, ладно? Выкинь его из головы.</li>
</ol>
В данном гайде мы будем ориентироваться на функционал программы "StrongDMM", однако перед этим нам потребуется загрузить сердце нашего проекта, определится с выбором билда и загрузить его.<br>
Подразумевается, что вы уже ознакомлены с [[Запуск локального сервера|руководством по установке локального сервера]] и имеете на компьютере загруженный билд.<br>
'''Важно! НЕЛЬЗЯ, ЧТОБЫ НА ПУТИ ПРОГРАММЫ БЫЛА КИРИЛИЦА.'''
== Путеводитель по SDMM ==
Мы определились с программой и установили билд. Теперь смело открываем программу и первым делом нам требуется изменить Save Format на TGM, при работе с другим форматом вас будет ожидать целый легион ошибок, а нам это не нужно.
'''Заходим во вкладку File => Preferences и меняем Save Format на TGM'''. <br><br>
[[File:StrongDMM_Format.png]]<br><br>
<p>Далее нужно открыть рабочее пространство (environment), т.е. мы находим папку с нашим установленным билдом, открываем и выбираем главный файл с форматом .dme, название может отличаться в зависимости от билда.<br>
К примеру "shiptest.dme" или "baystation12.dme". '''Внимание!''' Карты созданные с другими ресурсами билда, могут некорректно работать в другом билде из-за разных ресурсов!</p><br>
[[File:StrongDMM_Open.png]]<br>
<p>После загрузки рабочего пространства будет возможность открыть любую из карт. Соответственно карты (_maps) отсортированы по папкам:</p>
<ol>
<li>_maps/configs - именно здесь происходит инициализация корабликов с помощью конфигов.</li>
<li>_maps/map_files - главные карты (ЦК).</li>
<li>_maps/outpost - различные карты аванпостов.</li>
<li>_maps/RandomRuins - различные руины, они также рассортированы по типам планет.</li>
<li>_maps/shuttles - космические корабли, внутри папки распределены по фракциям.</li>
<li>_maps/templates - шаблоны.</li>
</ol>
[[File:StrongDMM_Maps.png]]<br>
<p>Основное рабочее пространство состоит из нескольких окон:</p>
<ol>
<li>Режим курсора - именно здесь происходит инициализация корабликов с помощью конфигов.</li>
<li>Область карты (синий фон - область за пределами карты).</li>
<li>Все доступные в игре вещи, структуры и не только.</li>
<li>Префабы - варианты одного и того же объекта с измененными параметрами.</li>
<li>Параметры объекта.</li>
</ol>
[[File:StrongDMM_Interface.png]]<br><br>
<p>Все окна удобно настраиваются по вашему желанию.<br>
Для этого нужно удерживая нужное окно подвигать его по экрану. Всё интуитивно понятно.</p><br>
[[File:StrongDMM_Interface2.png]]<br>
<p>Скриншоты карт делаются самим StrongDMM:</p>
<ol>
<li>Открыть панель шестерни.</li>
<li>Создать скриншот.</li>
<li>Создать скриншот выбранной зоны.</li>
<li>Сохранить скриншот в буфер обмена.</li>
</ol>
[[File:StrongDMM_Screenshots.png]]
 
== Маппинг ==
'''A.T.O.M. - Area - Turf - Object - Mob'''<br>
В маппинге, в основном мы рассматриваем 4 типа:
 
1. [https://www.byond.com/docs/ref/#/area '''Зоны''']. Покрывают область и карты и говорят коду что это за территория и её свойства. От зоны работает вся электроника, зону запитывает АЦП и т.д. Свойства у зон бывают самые различные. От звуков и сообщений в чате до запрета телепортации.
 
2. [https://www.byond.com/docs/ref/#/turf '''Турфы''']. Пол и стены. Полы определяют какой в тайле будет газ, температура, скорость, гравитация, а стены понятно, надеюсь, что делают. Нельзя в один тайл (условная игровая клетка) поставить и пол и стену. Под стеной при разборе всегда будет базовый пол, если в коде не прописано иного.
 
3. [https://www.byond.com/docs/ref/#/obj '''Предметы'''] . Всё, что не было указано ранее. В том числе, но не заканчивая ими: лендмарки (точки спавна), простые предметы (столы, стулья), декали (и прочий декор типо мелковых рисунков), рандом спавнеры, машинерия (от лампочки, до консолей и всех труб), провода, и прочее.
 
4. [https://www.byond.com/docs/ref/#/mob '''Мобы''']. Все НПС. С мобами можно по-разному играться задавая им <s>скорость</s>, здоровье, урон и <s>лутдпроп (для продвинутых).</s>
 
=== Список переменных ===
У каждого типа есть список переменных. Перечислять все переменные, которые меняются у объектов можно долго, но главные указаны здесь:
 
[https://www.byond.com/docs/ref/#/%7Bnotes%7D/pixel-movement '''pix_x''' ; '''pix_y'''] - Задают смещение от центра тайла. Вся настенная машинерия ставится над/под/слева/справа от нужного расположения на стене и поднимается в нужную сторону на 28-32 пикселя. (1 тайл - 32х32 пикселя)
 
[https://www.byond.com/docs/ref/#/atom/var/dir '''dir'''] - Направление.
2- на игрока 1- от игрока 4- вправо 8- влево. Если направлений больше, то и другие значения до 16.
 
'''anchored''' - Закрепление. Объект нельзя потянуть или сдвинуть если TRUE
 
'''Id''' и '''id_tag''' - Кнопочная машинерия. Для кнопки задается ''id'', для объекта ''id tag'' определяет поведение для дверей(болты, открыть, доступ и т.д)<br>
Если вам нужно, чтобы кнопка(id) открывала дверь/поддур и тд с 1 ''id_tag'' - прописывайте в ''id'' так ''“ВАШ ID_TAG”''<br>
Если Вам нужно, чтобы кнопка(id) открывала дверь/поддур и тд с множеством ''id_tag'' - прописывайте в id так ''list(“ID_TAG1”,”ID_TAG2”)''. Вписывать можно сколько вашей душе угодно, главное соблюдайте синтаксис.
 
'''req_access (list)''' - Проверка на доступ любая машинерия и двери. Таблица доступов есть в руководстве по маппингу. Несколько доступов пишутся через запятую без пробелов. Если вы хотите привязать мультидоступ, то прописывайте его через запятую, например: req_access = list(1,19,43)
 
[https://www.byond.com/docs/ref/#/atom/var/icon '''Icon'''] и [https://www.byond.com/docs/ref/#/atom/var/icon_state '''icon_state'''] - Первый указывает путь до дми файла с кучей иконок, второй указывает какая именно иконка из кучи в этом файле будет показываться.
 
=== Каждое новое помещение начинается с зоны ===
Зона это основной способ взаимодействия тайлов с кодом игры. Будет ли в зоне электричество от апц, либо же она будет запитана магией, будет ли в ней гравитация, какой в ней будет эмбиент(звук окружения), машинерия и как она будет работать в ней и т.д.
 
Зоны на станциях не должны повторяться. Дело в том, что зона не обязательно должна располагаться близко, чтобы передавать всю информацию внутри себя. Если разместить одну и ту же зону на разных концах карты, то пожарная сигнализация будет срабатывать в обоих, даже если вторая вообще не имеет атмосферы. Это работает даже на разных Z уровнях!
 
Помните, что настраивать и изменять свойства зоны необходимо исключительно в коде!
 
= Проверка перед публикацией =
<ol>
<li>Полы с воздухом или без него, как и должно быть? (обычный или безвоздушный)</li>
<li>[APC] - Есть ли в этой зоне ЛКП?</li>
<li>[Air Alarm] - Есть ли в этой зоне воздушная сигнализация?</li>
<li>[Outpost Communications Console] - Есть ли в этой зоне консоль запросов?</li>
<li>[Light] - Есть ли на территории освещение?</li>
<li>[Light Switch] - Есть ли в этом помещении выключатель света?</li>
<li>[Intercom] - Достаточно ли в этом зоне интеркомов?</li>
<li>[Camera] - Достаточно ли в этом зоне камер видеонаблюдения?</li>
<li>[Vent Scrubber] - Подключена ли зона к вентиляционному очистителю?</li>
<li>[Vent Pump] - Подключена ли зона к вентиляционному насосу?</li>
<li>Все ли подключено правильно?</li>
<li>[Fire Alarm & Fire Doors] - Есть ли на территории пожарная сигнализация и противопожарные шлюзы?</li>
<li>Все ли двери работают правильно?</li>
<li>Правильно ли настроены доступы на дверях, кнопках и т. д.?</li>
<li>Все ли предметы размещены правильно? (не ниже вентиляционных отверстий, скрубберов, столов)?</li>
<li>Правильно ли работает система мусоропровода?</li>
<li>Проверьте наличие неуместных или наложенных частей труб (воздушных и отводящих).</li>
<li>Проверьте, нет ли неуместного или наложенного куска провода.</li>
<li>Определите, насколько сложно проникнуть в эту область и где находятся слабые места, и соответствующим образом сбалансируйте область (например, Хранилище должно быть сделано из усиленных конструкций и электрифицированных окон, Кухня не должна быть сделана из этих материалов, а из обычных стен)</li>
<li>Проверьте, не слишком ли много пустого пространства. Если да, уменьшите его и замените остальные туннелями для обслуживания.</li>
<li>Есть ли нерушимые турфы там, где их не должно быть?</li>
</ol>

Текущая версия от 01:29, 14 сентября 2024

Страница-заготовка. Контент страницы находится в разработке и недоступен

Использовать данный контент нельзя
Подрядчик: Voiko

Руководство по созданию карт

В рядах Империи Celadon новое пополнение? Отлично! Представляю к вашему вниманию универсальный гайд для повышения квалификации!

Выбор программы

Прежде, чем начать мапить, нам потребуется взять на вооружение программу, с помощью которой ты сможешь создавать самые различные карты корабликов, руин, станций и не только.
На выбор у нас имеются несколько программ:

"StrongDMM" - это один исполняемый файл, не требующий установки.
  1. StrongDMM - это самый наилучший вариант из всех возможных. Программа имеет удобный интерфейс и также возможность работать с несколькими картами одновременно.
  2. Fastdmm2 - сайт, который позволяет редактировать карты без необходимости скачивания, есть возможность просто указать ссылку на GitHub. По большей части имеет не особо удобный интерфейс, данный вариант подойдёт больше для быстрого просмотра карт, чем для серьёзного маппинга.
  3. Dream Maker - самый худший выбор для маппинга, интерфейс неудобный, в добавок отсутствует возможность полноценно редактировать все типы кораблей/руин. Просто забудь об этом варианте, ладно? Выкинь его из головы.

В данном гайде мы будем ориентироваться на функционал программы "StrongDMM", однако перед этим нам потребуется загрузить сердце нашего проекта, определится с выбором билда и загрузить его.
Подразумевается, что вы уже ознакомлены с руководством по установке локального сервера и имеете на компьютере загруженный билд.
Важно! НЕЛЬЗЯ, ЧТОБЫ НА ПУТИ ПРОГРАММЫ БЫЛА КИРИЛИЦА.

Путеводитель по SDMM

Мы определились с программой и установили билд. Теперь смело открываем программу и первым делом нам требуется изменить Save Format на TGM, при работе с другим форматом вас будет ожидать целый легион ошибок, а нам это не нужно. Заходим во вкладку File => Preferences и меняем Save Format на TGM.



Далее нужно открыть рабочее пространство (environment), т.е. мы находим папку с нашим установленным билдом, открываем и выбираем главный файл с форматом .dme, название может отличаться в зависимости от билда.
К примеру "shiptest.dme" или "baystation12.dme". Внимание! Карты созданные с другими ресурсами билда, могут некорректно работать в другом билде из-за разных ресурсов!



После загрузки рабочего пространства будет возможность открыть любую из карт. Соответственно карты (_maps) отсортированы по папкам:

  1. _maps/configs - именно здесь происходит инициализация корабликов с помощью конфигов.
  2. _maps/map_files - главные карты (ЦК).
  3. _maps/outpost - различные карты аванпостов.
  4. _maps/RandomRuins - различные руины, они также рассортированы по типам планет.
  5. _maps/shuttles - космические корабли, внутри папки распределены по фракциям.
  6. _maps/templates - шаблоны.


Основное рабочее пространство состоит из нескольких окон:

  1. Режим курсора - именно здесь происходит инициализация корабликов с помощью конфигов.
  2. Область карты (синий фон - область за пределами карты).
  3. Все доступные в игре вещи, структуры и не только.
  4. Префабы - варианты одного и того же объекта с измененными параметрами.
  5. Параметры объекта.



Все окна удобно настраиваются по вашему желанию.
Для этого нужно удерживая нужное окно подвигать его по экрану. Всё интуитивно понятно.



Скриншоты карт делаются самим StrongDMM:

  1. Открыть панель шестерни.
  2. Создать скриншот.
  3. Создать скриншот выбранной зоны.
  4. Сохранить скриншот в буфер обмена.

Маппинг

A.T.O.M. - Area - Turf - Object - Mob
В маппинге, в основном мы рассматриваем 4 типа:

1. Зоны. Покрывают область и карты и говорят коду что это за территория и её свойства. От зоны работает вся электроника, зону запитывает АЦП и т.д. Свойства у зон бывают самые различные. От звуков и сообщений в чате до запрета телепортации.

2. Турфы. Пол и стены. Полы определяют какой в тайле будет газ, температура, скорость, гравитация, а стены понятно, надеюсь, что делают. Нельзя в один тайл (условная игровая клетка) поставить и пол и стену. Под стеной при разборе всегда будет базовый пол, если в коде не прописано иного.

3. Предметы . Всё, что не было указано ранее. В том числе, но не заканчивая ими: лендмарки (точки спавна), простые предметы (столы, стулья), декали (и прочий декор типо мелковых рисунков), рандом спавнеры, машинерия (от лампочки, до консолей и всех труб), провода, и прочее.

4. Мобы. Все НПС. С мобами можно по-разному играться задавая им скорость, здоровье, урон и лутдпроп (для продвинутых).

Список переменных

У каждого типа есть список переменных. Перечислять все переменные, которые меняются у объектов можно долго, но главные указаны здесь:

pix_x ; pix_y - Задают смещение от центра тайла. Вся настенная машинерия ставится над/под/слева/справа от нужного расположения на стене и поднимается в нужную сторону на 28-32 пикселя. (1 тайл - 32х32 пикселя)

dir - Направление. 2- на игрока 1- от игрока 4- вправо 8- влево. Если направлений больше, то и другие значения до 16.

anchored - Закрепление. Объект нельзя потянуть или сдвинуть если TRUE

Id и id_tag - Кнопочная машинерия. Для кнопки задается id, для объекта id tag определяет поведение для дверей(болты, открыть, доступ и т.д)
Если вам нужно, чтобы кнопка(id) открывала дверь/поддур и тд с 1 id_tag - прописывайте в id так “ВАШ ID_TAG”
Если Вам нужно, чтобы кнопка(id) открывала дверь/поддур и тд с множеством id_tag - прописывайте в id так list(“ID_TAG1”,”ID_TAG2”). Вписывать можно сколько вашей душе угодно, главное соблюдайте синтаксис.

req_access (list) - Проверка на доступ любая машинерия и двери. Таблица доступов есть в руководстве по маппингу. Несколько доступов пишутся через запятую без пробелов. Если вы хотите привязать мультидоступ, то прописывайте его через запятую, например: req_access = list(1,19,43)

Icon и icon_state - Первый указывает путь до дми файла с кучей иконок, второй указывает какая именно иконка из кучи в этом файле будет показываться.

Каждое новое помещение начинается с зоны

Зона это основной способ взаимодействия тайлов с кодом игры. Будет ли в зоне электричество от апц, либо же она будет запитана магией, будет ли в ней гравитация, какой в ней будет эмбиент(звук окружения), машинерия и как она будет работать в ней и т.д.

Зоны на станциях не должны повторяться. Дело в том, что зона не обязательно должна располагаться близко, чтобы передавать всю информацию внутри себя. Если разместить одну и ту же зону на разных концах карты, то пожарная сигнализация будет срабатывать в обоих, даже если вторая вообще не имеет атмосферы. Это работает даже на разных Z уровнях!

Помните, что настраивать и изменять свойства зоны необходимо исключительно в коде!

Проверка перед публикацией

  1. Полы с воздухом или без него, как и должно быть? (обычный или безвоздушный)
  2. [APC] - Есть ли в этой зоне ЛКП?
  3. [Air Alarm] - Есть ли в этой зоне воздушная сигнализация?
  4. [Outpost Communications Console] - Есть ли в этой зоне консоль запросов?
  5. [Light] - Есть ли на территории освещение?
  6. [Light Switch] - Есть ли в этом помещении выключатель света?
  7. [Intercom] - Достаточно ли в этом зоне интеркомов?
  8. [Camera] - Достаточно ли в этом зоне камер видеонаблюдения?
  9. [Vent Scrubber] - Подключена ли зона к вентиляционному очистителю?
  10. [Vent Pump] - Подключена ли зона к вентиляционному насосу?
  11. Все ли подключено правильно?
  12. [Fire Alarm & Fire Doors] - Есть ли на территории пожарная сигнализация и противопожарные шлюзы?
  13. Все ли двери работают правильно?
  14. Правильно ли настроены доступы на дверях, кнопках и т. д.?
  15. Все ли предметы размещены правильно? (не ниже вентиляционных отверстий, скрубберов, столов)?
  16. Правильно ли работает система мусоропровода?
  17. Проверьте наличие неуместных или наложенных частей труб (воздушных и отводящих).
  18. Проверьте, нет ли неуместного или наложенного куска провода.
  19. Определите, насколько сложно проникнуть в эту область и где находятся слабые места, и соответствующим образом сбалансируйте область (например, Хранилище должно быть сделано из усиленных конструкций и электрифицированных окон, Кухня не должна быть сделана из этих материалов, а из обычных стен)
  20. Проверьте, не слишком ли много пустого пространства. Если да, уменьшите его и замените остальные туннелями для обслуживания.
  21. Есть ли нерушимые турфы там, где их не должно быть?