Открыть меню
Переключить меню настроек
Открыть персональное меню
Вы не представились системе
Ваш IP-адрес будет виден всем, если вы внесёте какие-либо изменения.
мНет описания правки
 
(не показано 36 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{В процессе создания|worker=Voiko}}
{{В процессе создания|worker=Voiko}}


https://wiki.celadon.pro/Участник:Voiko/Tayo
= Руководство по созданию спрайтов =
 
'''Спрайтеры''' - люди, занимающиеся внешним видом игры, делают в основном текстурки для игры. Их главная цель - сделать хорошо, а плохо - не сделать, пиксель арт не стремится сделать достоверную репрезентацию чего-то в игре, его цель - показать объект так, чтобы было ясно что это он и красиво его нарисовать. Обычно спрайты рисуются в разрешении '''32x32''' пикселя, но бывают и исключения, например спрайты мегафауны имеют большее разрешение.
https://wiki.celadon.pro/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Voiko/Separatist
 
https://wiki.celadon.pro/Участник:Voiko/Elysium
 
https://wiki.celadon.pro/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Voiko/SolarFederation
 
= Руководство по созданию карт =
'''В рядах Империи Celadon новое пополнение? Отлично!''' Представляю к вашему вниманию универсальный гайд для повышения квалификации!


== Терминология ==
Перед процессом спрайтингом нам предстоит немного ознакомиться с основными терминами.
<ol>
<li>'''Билд''' - папка, которую вы скачали с нашего репозитория, хранит в себе кодовую структуру и конечно же DMI файлики с нашими спрайтами.</li>
<li>'''DMI (Атлас)''' - формат файла .dmi, также может называться как '''Атлас'''. Грубо говоря это файл, который имеет в себе спрайты от одного до целого множества. Обычно именно их вы встретите в билде.</li>
<li>'''Спрайт''' (стейт) - спрайтшит, в котором может быть анимация и несколько направлений спрайта. .</li>
<li>'''VSC (Visual Studio Code)''' - программа, в которой мы можем просматривать код и спрайты, а также делать изменения. (Для редактирования спрайтов программа не годится, только для просмотра).</li>
<li>'''Dream Maker''' - стандартная программа, появляется при установке BYOND, через которую вы можете открыть атлас, импортировать или экспортировать файлы, а также редактировать сам спрайт. Будьте осторожны. При открытии спрайтов могут сгенерироваться изменения в коде, которые могут помешать запуску билда. </li>
</ol>
== Выбор программы ==
== Выбор программы ==
Прежде, чем начать мапить, нам потребуется взять на вооружение программу, с помощью которой ты сможешь создавать самые различные карты корабликов, руин, станций и не только.<br>
Рисовать спрайты можно где вашей душе угодно. Можно конечно всё делать сразу в встроенном редакторе byond, но лучше использовать что-то другое, ибо он устаревший и достаточно неудобен, а ещё может сломать вам билд. Большинство спрайтеров пользуются '''Aseprite''' - удобной программой специально для пиксель арта.
На выбор у нас имеются несколько программ:
<br>
[[File:Sdmm-logo.png|thumb|128px|'''"StrongDMM"''' - это один исполняемый файл, не требующий установки.]]
[[File:Aseprite_Logo.png|thumb|128px]]
[[File:Aseprite.png|thumb|128px|'''"Aseprite"''' - стандартная программа для редактирования DMI файлов.]]
Прежде, чем начать спрайтить, нам потребуется взять на вооружение программу, с помощью которой ты сможешь создавать самые различные спрайты объектов, мобов, снаряжения и не только.<br>
На выбор у нас имеются программы:
<ol>  
<ol>  
<li> '''[https://github.com/SpaiR/StrongDMM?tab=readme-ov-file StrongDMM]''' - это самый '''наилучший вариант''' из всех возможных. Программа имеет удобный интерфейс и также  возможность работать с несколькими картами одновременно.</li>
<li> '''[https://www.aseprite.org/ Aseprite]''' - отличный выбор, используется очень часто. Вы можете получить его бесплатно, скомпилировав [https://github.com/aseprite/aseprite исходный код], или купить. Отдельно можно установить [https://github.com/spacestation13/aseprite-dmi плагин] для поддержки DMI.</li>
<li> '''[https://fastdmm2.ss13.io/ Fastdmm2]''' - сайт, который позволяет редактировать карты без необходимости скачивания, есть возможность просто указать ссылку на GitHub. По большей части имеет не особо удобный интерфейс, данный вариант подойдёт больше для быстрого просмотра карт, чем для серьёзного маппинга.</li>
<li> '''[https://www.piskelapp.com/ Piskel]''' - бесплатный сайт, который позволяет редактировать спрайты без необходимости скачивания. Простенький интерфейс, с отсутствием поддержки DMI файлов/атласов.</li>
<li> '''Dream Maker''' - самый худший выбор для маппинга, интерфейс неудобный, в добавок отсутствует возможность полноценно редактировать все типы кораблей/руин. Просто забудь об этом варианте, ладно? Выкинь его из головы.</li>  
<li> '''[https://www.gimp.org/ GIMP]''' - бесплатный вариант, не особо модный, требует скачивания. Имеет интерфейс немного лучше, чем обычный Paint. Поддержка DMI отсутствует.</li>
<li> '''[https://www.adobe.com/ua/products/photoshop.html Adobe Photoshop]''' - платный вариант, но возможно для кого-то покажется удобным инструментом для редактирования PNG картинок. Поддержка DMI отсутствует.</li>  
</ol>
</ol>
В данном гайде мы будем ориентироваться на функционал программы "StrongDMM", однако перед этим нам потребуется загрузить сердце нашего проекта, определится с выбором билда и загрузить его.<br>
В данном гайде мы будем ориентироваться на функционал программы "Aseprite", однако перед этим нам потребуется загрузить сердце нашего проекта, определится с выбором билда и загрузить его.<br>
Подразумевается, что вы уже ознакомлены с [[Запуск локального сервера|руководством по установке локального сервера]] и имеете на компьютере загруженный билд.<br>
Подразумевается, что вы уже ознакомлены с [[Запуск локального сервера|руководством по установке локального сервера]] и имеете на компьютере загруженный билд.<br>
'''Важно! НЕЛЬЗЯ, ЧТОБЫ НА ПУТИ ПРОГРАММЫ БЫЛА КИРИЛИЦА.'''
'''Важно! НЕЛЬЗЯ, ЧТОБЫ НА ПУТИ ПРОГРАММЫ БЫЛА КИРИЛИЦА.'''
== Путеводитель по SDMM ==
<br>
Мы определились с программой и установили билд. Теперь смело открываем программу и первым делом нам требуется изменить Save Format на TGM, при работе с другим форматом вас будет ожидать целый легион ошибок, а нам это не нужно.
Также стоит заметить, что если вы используете программу, не созданную специально для пиксель арта, вам необходимо будет выбрать режим интерполяции “По соседним пикселям” чтобы ваш спрайт не превратился в мыло.<br>
'''Заходим во вкладку File => Preferences и меняем Save Format на TGM'''. <br><br>
[[File:sprite_settings1.png|384px]]<br>
[[File:StrongDMM_Format.png]]<br><br>
[[File:sprite_settings2.png|384px]]
<p>Далее нужно открыть рабочее пространство (environment), т.е. мы находим папку с нашим установленным билдом, открываем и выбираем главный файл с форматом .dme, название может отличаться в зависимости от билда.<br>
 
К примеру "shiptest.dme" или "baystation12.dme". '''Внимание!''' Карты созданные с другими ресурсами билда, могут некорректно работать в другом билде из-за разных ресурсов!</p><br>
===Инструкция по установке расширений для Aseprite===
[[File:StrongDMM_Open.png]]<br>
[[File:StrongDMM_Maps.png|thumb|640px]]
<p>Все изменения обязательно проводите в модульной папке - '''_maps/_mod_celadon'''! Всё остальное, что находится в папке '''_maps''', отключено или может создать проблем.</p>
<p>После загрузки рабочего пространства будет возможность открыть любую из карт. Соответственно карты (_maps/_mod_celadon) отсортированы по папкам:</p>
<ol>
<ol>
<li>'''_maps/_mod_celadon/configs''' - именно здесь происходит инициализация корабликов с помощью конфигов.</li>
<li>Запускаем Aseprite - '''Edit (Menu)''' - '''Preferences'''</li>
<li>'''_maps/_mod_celadon/map_files''' - главные карты (ЦК).</li>
<li>Выбираем раздел '''Extensions''' - '''Add Extension''' - Прикрепляем файл '''Asesprite-DMI-Windows'''.</li>
<li>'''_maps/_mod_celadon/outpost''' - различные карты аванпостов.</li>
<li>'''_maps/_mod_celadon/RandomRuins''' - различные руины, они также рассортированы по типам планет.</li>
<li>'''_maps/_mod_celadon/shuttles''' - космические корабли, внутри папки распределены по фракциям.</li>
<li>'''_maps/_mod_celadon/templates''' - шаблоны.</li>
</ol>
</ol>
<p>Основное рабочее пространство состоит из нескольких окон:</p>
Если вдруг не работает расширение - выбираем его в этой же менюшке и нажимаем Enable.
<ol>
<br>[[File:Aseprite_instruction1.webp|737px]]
<li>Режим курсора - именно здесь происходит инициализация корабликов с помощью конфигов.</li>
====Работа расширения====
<li>Область карты (синий фон - область за пределами карты).</li>
При перетаскивании DMI файла в окно Aseprite (обычное открытие не работает из-за отсутствия поддержки), открывается окно со всеми иконками.
<li>Все доступные в игре вещи, структуры и не только.</li>
<ol>'''В расширении можно:'''
<li>Префабы - варианты одного и того же объекта с измененными параметрами.</li>
<li>Создавать/изменять спрайт в стейте</li>
<li>Поиск предметов по типу.</li>
<li>Менять данные</li>
<li>Параметры объекта. Подробнее об этом будет ниже.</li>
<li>Сохранять (работает как обычное сохранение) </li>
<li>Экспортировать в формат .dmi.</li>
</ol>
</ol>
[[File:StrongDMM_Interface.png]]<br><br>
[[File:Aseprite_instruction2.webp|737px]]
<p>Все окна удобно настраиваются по вашему желанию.<br>
===Полезные расширения для Aseprite===
Для этого нужно удерживая нужное окно подвигать его по экрану. Всё интуитивно понятно.</p><br>
<ul>
[[File:StrongDMM_Interface2.png]]<br>
<li>[https://github.com/lufog/aseprite-language-russian Перевод для Aseprite] - расширение, что переводит интерфейс на русский язык.</li>
<p>Скриншоты карт делаются самим StrongDMM:</p>
<li>[https://github.com/spacestation13/aseprite-dmi Поддержка DMI] - обязательный плагин, предоставляет возможность работать с DMI файлами.</li>
<li>[https://github.com/Seefaaa/aseprite-dmi Поддержка DMI №2] - резервный плагин, предоставляет возможность работать с DMI файлами. Не требует установки, если уже установлен плагин выше.</li>
</ul>
 
== Основы ==
В ''BYOND'' для спрайтов используются файлы формата '''.dmi''' - спрайт-лист (изображение, хранящее большое количество спрайтов). DMI файлы хранят в себе состояния (стейты), их направления, анимации и скорость её воспроизведения.<br>
Все спрайты в игре разбиты по разным файлам и разделены по файлам по категориям. Так намного проще ориентироваться в них и заниматься поиском нужного спрайта.<br>
'''Обычно спрайты отсортированы по своему назначению:'''
<ul>
<li>'''icons/obj''' - спрайты различных объектов</li>
<li>'''icons/mod''' - спрайты живых существ, одежды на куклах, спрайты предметов в руках и тд.</li>
<li>'''icons/turf''' - спрайты всех стен и полов.</li>
<li>'''icons/effects''' - спрайты для различных эффектов: от атак, щитов, крови на полу до оверлеев светa.</li>
</ul>
 
==== Создание DMI файла ====
<ol>
<ol>
<li>Открыть панель шестерни.</li>
<li>Открываем DreamMaker (/BYOND/bin/dreammaker.exe)</li>
<li>Создать скриншот.</li>
<li>В меню file выбираем “New Enviroment”</li>
<li>Создать скриншот выбранной зоны.</li>
<li>Если у вас уже есть Enviroment - переходите к 4 шагу</li>
<li>Сохранить скриншот в буфер обмена.</li>
<li>В открывшемся окне выбираем папку под работу с dmi и название файла .dme</li>
</ol>
</ol>
[[File:StrongDMM_Screenshots.png]]
<br>
[[File:sprite_settings3.png]]
<br>
В меню '''file -> New''' создаём новый файл (после создания .dme окошко сразу откроется), в поле Type выбираем Icon File, ниже укажите папку и название нового файла.
После создания .dmi файла, естественно, его надо заполнить. Сделать это можно несколькими способами:
Создайте новый стейт, зайдя в меню “'''Graphic -> New State'''” / нажав на синий плюс в верхнем левом углу / нажав ПКМ где угодно в открытом DMI файле.
<br>
[[File:sprite_settings4.png]]
<br>
Зайдя в меню Graphic -> import выберите ваш спрайт. Если выбранный файл не будет указаного в файле разрешении (обычно 32х32), то программа порежет ваш спрайт на куски.
<br>
Чтобы переименовать стейт нажмите дважды на его название (или no name, если он новый). Название стейта должно быть написано на латинице, маленькими буквами и разделением слов через нижнее подчёркивание.
<br>
'''Не забывайте часто сохранять ваш файл, ибо Dreammaker очень сильно любит вылетать в самый неподходящий момент.'''
==== Пример использования DMI файлов в коде  ====
[[File:sprite_settings5.png|717px]]
<br>
Здесь, для спрайта предмета в игре, мы берём стейт под названием “'''gauze'''” из файла '''items.dmi''', в то время для спрайтов в левой и правой руке у персонажей мы указываем два разных файла '''items_lefthand''' и '''items_righthand''', откуда мы берём стейты с названием “'''gauze'''”, что мы указали в '''item_state'''.
== Работа с ДМИ, фишки приколы фейлы ==
DMI файлы состоят из '''стейтов''' - наборов спрайтов, аля спрайт-лист. В каждом файле спрайты сгруппированы в '''icon state''', по русски в стейты. В стейт можно добавить анимацию и до восьми направлений, то есть в него можно добавить до восьми отдельных спрайтов.
<br>
[[File:sprite_settings6.png|717px]]
<br>
На пике выше - два стейта: corgi и corgi_dead. Первый отвечает за спрайты корги, когда он жив, corgi_dead, соответственно, когда мёртв.
Посмотреть стейты в ДМИ файле можно просто открыв его в DreamMaker. В нём вы можете редактировать стейты внутри, количество их направлений и анимации.
=== Анимация ===
Стейты в DMI файлах можно анимировать, редактируя отдельные кадры в анимации. DreamMaker предоставляет несколько опций настройки анимации:
<br>
'''1. Количество кадров''' - чтобы изменить количество кадров в анимации нажимайте на стрелки на строке с '''frames''', или нажмите на пустой кадр после существующего.
<br>
[[File:sprite_settings7.gif|512px]]
<br>
'''2. Длительность кадра (Delay)''' - каждому кадру можно указать то, сколько миллисекунд (0.1 секунды) он будет длиться. Изменить это значение можно нажав на строку '''Delay''' под нужным кадром. На примере ниже на каждом кадре указано значение в 1 (0.1 секунды) и 10 (1 секунда).
<br>
[[File:sprite_settings9.gif|512px]]
<br>
[[File:sprite_settings8.gif|512px]]
<br>
'''3. Настройка воспроизведения анимации''' - изначально для стейта включено зацикливание анимации. Вы можете включить опцию Rewind (перемотка), чтобы анимация, после достижения последнего кадра, воспроизводилась обратно. Также вы можете указать количество повторов анимации, выбрав опцию times. При этом в окне демонстрации анимации она будет циклична.
<br>
[[File:sprite_settings10.gif|512px]]
 
===Направления===
Спрайтам можно задать несколько направлений. В игре они будут показываться в зависимости от того, в какую сторону обращён объект. Спрайт может иметь одно направление, четыре (↓, ↑, →, ←) или восемь (↓, ↑, →, ←, ↘, ↙, ↗, ↖). Выбрать количество направлений можно нажимая кнопки со стрелками над настройками анимации.
<br>
[[File:sprite_settings11.png|512px]]
<br>
У '''предметов''' используется одно направление, у '''мобов''', в основном - четыре, с некоторыми исключениями. Восемь направлений используются очень редко, например - спрайт турели.
===Стейты перемещения===
В окне редактирования имени стейта можно включить поставить галочку напротив Movement State. Эта опция позволяет игре использовать выбранный стейт при движении объекта. При этом имя стейта перемещения должно совпадать с именем основного стейта.
<br>
[[File:sprite_settings12.png|512px]]
<br>
[[File:sprite_settings13.gif|512px]]
===Добавление спрайтов в стейты===
Добавлять спрайты в стейты лучше всего вручную: копирование спрайта 32х32 в рабочей программе и вставка во встроенном редакторе спрайтов DreamMaker. Также если вы хотите попробовать что-то быстрее, но с дополнительными шагами, можете почитать гайд тут.
 
== Документация ==
Также для удобства предоставляем список материалов, с которыми можно ознакомиться для повышения собственной квалификации.
<ul>
<li>[http://gas13.ru/v3/tutorials/ru_sywtbapa_almighty_grass_tile.php Gas13] - Базовый гайд на русском языке, рекомендуется ознакомиться для начинающих спрайтеров. </li>
<li>[https://gamin.me/posts/4849 Gamin.me ] - Pixel Art для начинающих, на русском.</li>
<li>[https://hackmd.io/@Partheo/spriting Hackmd.oi/@Partheo] - Очень хороший гайд на английском, в целом по сске.</li>
<li>[https://wiki.taucetistation.org/Guide_to_Spriting Гайд по спрайтингу с Tau Ceti Station Wiki]</li>
<li>[https://tgstation13.org/wiki/Guide_to_spriting Гайд по спрайтингу с TGStation13 Wiki]</li>
</ul>


== Хоткеи ==
== Хоткеи ==
<ol>
Основные сочетания клавиш для работы.
<li>Передвигать карту на '''СКМ (нажатие колёсика)''', зум на колёсико.</li>
{| class="wikitable" style="width:100%; text-align:left; border:3px solid rgba(80,80,80,0.4); border-radius:12px; overflow:hidden;"
<li>'''CTRL+1''' - переключает слой зон.</li>
 
<li>'''CTRL+2''' - переключает слой покрытий (turf).</li>
! style="width:220px; background-color:#a5b4d1; color:#000000; text-align:center;" |Категория
<li>'''CTRL+3''' - переключает слой объектов.</li>
! style="width:220px; background-color:#a5b4d1; color:#000000;" |Хоткей
<li>'''CTRL+4''' - переключает слой мобов.</li>
! style="background-color:#a5b4d1; color:#000000;" |Описание
<li>Удерживание '''S + ЛКМ''' – пипетка.</li>
 
<li>Удерживание '''D + ЛКМ''' - удалить подсвеченный красным объект.</li>
|-
<li>Удерживание '''R + ЛКМ''' - замена тайла выбранным объектом.</li>
! rowspan="6" style="background-color:#f2b3b3; color:#000; text-align:center;" |Навигация и холст
<li>'''CTRL + N''' - новое рабочее пространство(environment).</li>
|Ctrl + колесо мыши
<li>'''CTRL + O''' - открыть карту.</li>
|Зум
<li>'''CTRL + Q''' - выход из программы.</li>
|-
<li>'''CTRL + Z''' - отменить последнее действие.</li>
|1 / 2 / 3 / 4 / 5
<li>'''CTRL + SHIFT + Z''' - вернуть последнее отмененное действие.</li>
|Быстрый масштаб
<li>'''CTRL + C''' - копирование; '''CTRL + V''' - вставить; '''CTRL + X''' - вырезать; '''DEL''' - очистить (как правило, речь идет о выбранной области через 3 режим, при этом, очищается области по периметру выделенной зеленым).</li>
|-
<li>'''CTRL + D''' - отменить выделение.</li>
|H
<li>'''CTRL + S''' - сохраняет карту.</li>
|Рука (перемещение холста)
<li>'''CTRL + F''' - открыть строку поиска объекта.</li>
|-
<li>'''F5''' - обновить слой</li>
|Ctrl + 0
<li>'''+''' - приблизить масштаб</li>
|Подогнать под экран
<li>'''-''' - отдалить масштаб</li>
|-
</ol>
|Tab
== Маппинг ==
|Скрыть интерфейс
'''A.T.O.M. - Area - Turf - Object - Mob'''<br>
|-
В маппинге, в основном мы рассматриваем 4 типа:
|Shift + Tab
|Скрыть панели
 
|-
! rowspan="11" style="background-color:#f2d2b3; color:#000; text-align:center;" |Основные инструменты
|B
|Brush (Кисть)
|-
|E
|Eraser (Ластик)
|-
|G
|Paint Bucket (Заливка)
|-
|I
|Eyedropper (Пипетка)
|-
|M
|Marquee (Выделение прямоугольником)
|-
|L
|Lasso (Свободное выделение)
|-
|U
|Shape Tool (Фигуры)
|-
|P
|Pencil (Карандаш)
|-
|C
|Contour / Polygon
|-
|K
|Ink (режимы рисования)
|-
|S
|Spray


1. [https://www.byond.com/docs/ref/#/area '''Зоны''']. Покрывают область и карты и говорят коду что это за территория и её свойства. От зоны работает вся электроника, зону запитывает АЦП и т.д. Свойства у зон бывают самые различные. От звуков и сообщений в чате до запрета телепортации.
|-
! rowspan="4" style="background-color:#f2e7b3; color:#000; text-align:center;" |Работа с цветом
|X
|Поменять местами foreground/background
|-
|D
|Сброс цветов (черный/белый)
|-
|Alt + клик
|Пипетка
|-
|Shift + I
|Color Picker (альтернативный)


2. [https://www.byond.com/docs/ref/#/turf '''Турфы''']. Пол и стены. Полы определяют какой в тайле будет газ, температура, скорость, гравитация, а стены понятно, надеюсь, что делают. Нельзя в один тайл (условная игровая клетка) поставить и пол и стену. Под стеной при разборе всегда будет базовый пол, если в коде не прописано иного.
|-
! rowspan="6" style="background-color:#b3f2c2; color:#000; text-align:center;" |Выделение
|Ctrl + A
|Выделить всё
|-
|Ctrl + D
|Снять выделение
|-
|Ctrl + Shift + I
|Инвертировать выделение
|-
|Alt + drag
|Перемещение выделения
|-
|Shift
|Добавить к выделению
|-
|Alt
|Убрать из выделения


3. [https://www.byond.com/docs/ref/#/obj '''Предметы'''] . Всё, что не было указано ранее. В том числе, но не заканчивая ими: лендмарки (точки спавна), простые предметы (столы, стулья), декали (и прочий декор типо мелковых рисунков), рандом спавнеры, машинерия (от лампочки, до консолей и всех труб), провода, и прочее.
|-
! rowspan="7" style="background-color:#b3d2f2; color:#000; text-align:center;" |Слои и кадры
|N
|Новый слой
|-
|Shift + N
|Новый слой сверху
|-
|Ctrl + Shift + N
|Новый слой с настройками
|-
|Delete
|Удалить слой/содержимое
|-
|Page Up / Page Down
|Переключение кадров
|-
|Alt + N
|Новый кадр
|-
|Alt + Delete
|Очистить слой


4. [https://www.byond.com/docs/ref/#/mob '''Мобы''']. Все НПС. С мобами можно по-разному играться задавая им <s>скорость</s>, здоровье, урон и <s>лутдпроп (для продвинутых).</s>
|-
! rowspan="7" style="background-color:#d0b3f2; color:#000; text-align:center;" |Редактирование
|Ctrl + Z
|Отмена
|-
|Ctrl + Y
|Повтор
|-
|Ctrl + X
|Вырезать
|-
|Ctrl + C
|Копировать
|-
|Ctrl + V
|Вставить
|-
|Ctrl + B
|Вставить в место
|-
|Ctrl + T
|Трансформация


=== Список переменных ===
|-
У каждого типа есть список переменных. Перечислять все переменные, которые меняются у объектов можно долго, но главные указаны здесь:
! rowspan="3" style="background-color:#f2b3e1; color:#000; text-align:center;" |Трансформации
|Ctrl + T
|Свободная трансформация
|-
|Shift
|Сохранять пропорции
|-
|Alt
|Масштаб из центра


[https://www.byond.com/docs/ref/#/%7Bnotes%7D/pixel-movement '''pix_x''' | '''pix_y'''] - Задают смещение от центра тайла. Вся настенная машинерия ставится над/под/слева/справа от нужного расположения на стене и поднимается в нужную сторону на 28-32 пикселя. (1 тайл - 32х32 пикселя)
|-
! rowspan="5" style="background-color:#f2e0b3; color:#000; text-align:center;" |Дополнительно
|F
|Flip (отразить)
|-
|Shift + F
|Отразить по вертикали
|-
|Ctrl + Shift + F
|Отразить по горизонтали
|-
|Ctrl + U
|Hue/Saturation
|-
|Ctrl + L
|Levels


[[File: Directions.png|thumb|256px|Наглядный пример направлений]]
|-
[https://www.byond.com/docs/ref/#/atom/var/dir '''dir'''] - Направление.
! rowspan="2" style="background-color:#b3f2cf; color:#000; text-align:center;" |Тайлы и пиксель-арт
2 - на игрока 1 - от игрока 4 - вправо 8 - влево. Если направлений больше, то и другие значения до 16.
|Ctrl + Shift + T
|Tile Mode
|-
|Shift + B
|Pixel Perfect (идеальные линии)


'''anchored''' - Закрепление. Объект нельзя потянуть или сдвинуть если TRUE
|-
! rowspan="4" style="background-color:#d6d6d6; color:#000; text-align:center;" |Полезные скрытые фишки
|Пробел / СКМ (зажать)
|Временно инструмент "рука"
|-
|Ctrl (зажать)
|Временно пипетка
|-
|Shift (при рисовании)
|Рисование прямых линий
|-
|Ctrl + drag
|Перемещение содержимого


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


'''req_access (list)''' - Проверка на доступ любая машинерия и двери. Таблица доступов есть в руководстве по маппингу. Несколько доступов пишутся через запятую без пробелов. Если вы хотите привязать мультидоступ, то прописывайте его через запятую, например: req_access = list(1,19,43)
* '''Область''' – нас это не будет интересовать, так как вы не увидите ее в игре и достаточно wip-графики,
* '''Моб''' – люди, обезьяны, киборги, инопланетяне и другая живность на станции / кораблях / планетах,
* '''Объекты''' – машины, двери, предметы и все остальное в игре,
* '''Турф''' – стены, полы и пространство


[https://www.byond.com/docs/ref/#/atom/var/icon '''Icon'''] и [https://www.byond.com/docs/ref/#/atom/var/icon_state '''icon_state'''] - Первый указывает путь до дми файла с кучей иконок, второй указывает какая именно иконка из кучи в этом файле будет показываться.
== Требуемые спрайты по категориям объектов ==
Теперь расскажу вам, какие спрайты нужны различным типам предметов:


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


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


Помните, что настраивать и изменять свойства зоны необходимо исключительно в коде!
==== Мобы с конечностями ====
=== Подробнее про Variables ===
[[File:sdmm_variables.png|thumb|256px|Область управления переменными]]
Данная область позволит вам творить самые настоящие тёмные колдунства при наличии хотя бы минимальных знаний понимания работы кода/переменных.
Зона Variables состоит из двух вкладок: Instance и Prefab.
'''Instance''' - Позволяет смотреть и менять параметры у одного объекта на карте.
'''Prefab''' - Также позволяет проверять параметры, однако менять параметры будет у всех таких же объектов на карте.
У вас также имеется возможность использовать некоторые параметры, чтобы показать только изменённые переменные.
<ol>
<li>'''Ctrl+1''' - '''Show modified only''' - Покажет только те переменные, что уже были изменены.</li>
<li>'''Ctrl+2''' - '''Show types''' - Покажет переменные не только объекта, но и также его родителей.</li>
<li>'''Ctrl+3''' - '''Show pins''' - Позволит закрепить необходимую переменную, чтобы не потерять её из виду. Она будет показываться в самом верху.</li>
<li>'''Ctrl+4''' - '''Show tmp, const, and static''' - Наши тёмные маги ещё не познали такую сильную магию. Об этом параметре особо ничего не известно. </li>
</ol>
== Создание кораблей и руин ==
<span>Все текущие корабли находятся в папке '''_maps/_mod_celadon/shuttles''' и имеют сортировку по фракциями, а также там имеется отдельная папка для субшаттлов - '''_maps/_mod_celadon/shuttles/subshuttles'''. В этих папках хранятся сами карты, однако инициализация кораблей происходит благодаря папке '''_maps/_mod_celadon/configs'''.</span>


=== Конфиг корабля ===
* Человек и человеческий вид состоят из конечностей – головы, груди, двух рук и двух ног.
[[File:example_ship_config.png|thumb]]
* Файлы находятся в icon/mob/human_parts.dmi для конечностей, имеющих заданный цвет, и в icon/mob/human_parts_greyscale.dmi для конечностей, которые можно перекрасить и начать использовать оттенки серого.
<p>В папке с конфигами вы можете ознакомиться со структурой и перенести её в ваш новый файл. <br>
* Конечности имеют 4 кадра, как и полноценные иконки.
Вы также можете изучить саму [https://github.com/CeladonSS13/Shiptest/blob/beta-dev/_maps/ship_config_schema.json '''структуру'''] и пример [https://github.com/CeladonSS13/Shiptest/blob/beta-dev/_maps/example_ship_config.json '''конфигурационного файла'''].</p>
* Конечности также используются в качестве иконок предметов на случай расчленения.
<p>Пройдёмся по переменным:</p>
* Именование следующее:
<ol>
** [race]_l/r_arm/leg для рук и ног.
<li>'''map_name''' - Полное название корабля. Именно с таким названием игроки увидят ваш корабль в общем списке в лобби.</li>
** [race]_chest(_m/f) для торса (м/ж для мужских/женских вариантов, необязательно)
<li>'''map_short_name''' - Краткое название карты. Обозначает класс корабля. Будет отображаться в манифесте. Не может содержать пробелы. Кроме букв доступны только дефис и нижнее подчёркивание.</li>
** [race]_head(_m/f) для головы (м/ж для мужского/женского вариантов, необязательно)
<li>'''description''' - Описание корабля. Будет отображаться при выборе корабля в лобби. Содержит в себе лор корабля.</li>
* Дополнительные части тела, такие как хвосты ящерицы, помещаются в mutant_bodyparts.dmi.
<li>'''map_path''' - Путь к файлу карты корабля. Например: "_maps\shuttles\inteq\inteq_colossus.dmm"</li>
<li>'''enabled''' - Если "true" - доступно для покупки игроками. Если "false" - только для щитспавна.</li>
<li>'''limit''' - Допустимое количество для покупки корабля игроками.</li>
<li>'''space_spawn''' - По умолчанию корабль спавнится на аванпосту. Если "true", то корабль заспавнится в космосе.</li>
<li>'''prefix''' - Указывается префикс фракции. Доступные префиксы можно найти на [https://wiki.celadon.pro/index.php/Префиксы этой странице].</li>
<li>'''faction''' -  Путь к датуму фракции. Доступные фракции находятся в этом файле: [https://github.com/CeladonSS13/Shiptest/blob/beta-dev/mod_celadon/faction/code/faction.dm mod_celadon/faction/code/faction.dm], если нет необходимой - можно найти в другом файле: [https://github.com/CeladonSS13/Shiptest/blob/beta-dev/code/modules/faction/faction_datum.dm code/modules/faction/faction_datum.dm].</li>
<li>'''tags''' - Указываются теги корабля. Их можно найти в этом файле: [https://github.com/CeladonSS13/Shiptest/blob/beta-dev/_maps/ship_tags_descriptions_guide.txt _maps/ship_tags_descriptions_guide.txt]. На данный момент не используется. В будущем планируется использовать для сортировки кораблей.</li>
<li>'''namelists''' - Указываются кодовые названия списков, из которых корабль будет генерировать название корабля при его создании. Ознакомиться с доступными списками и названиями можно в этом файле:[https://github.com/CeladonSS13/Shiptest/blob/beta-dev/strings/ship_names.json strings/ship_names.json].</li>
<li>'''job_slots''' - Состоит из 3 частей. Название (название профессии при заходе на корабль), outfit (путь к снаряжению в коде), slots (количество доступных профессий). Доступный список снаряжений можно найти по пути [https://github.com/CeladonSS13/Shiptest/tree/beta-dev/mod_celadon/outfit/code mod_celadon/outfit/code], они имеют примерно такую структуру: ''/datum/outfit/job/фракция/профессия''.</li>
</ol>


=== Создание субшаттла ===
=== Турфы ===
[[File:guide_subshuttle.png|thumb|256px|Пример датума субшаттла]]
Субшаттлы инициализируются не так, как обычные корабли, им не нужен конфиг. Они недоступны для покупки в общем списке лобби, но могут быть использованы в качестве дополнительного корабля внутри самого корабля или для отправки к примеру ЕРТ отряда с помощью администрации. Они создаются в отдельном файле: [https://github.com/CeladonSS13/Shiptest/blob/beta-dev/mod_celadon/maps/code/subshuttles.dm mod_celadon/maps/code/subshuttles.dm].


Путь к картам субкораблей: '''_maps/_mod_celadon/shuttles/subshuttles'''.
* Полы находятся в файле icon/turf/floors.dmi.  
=== Создание руины ===
* Стены находятся в файле icon/turf/walls.dmi.  
<p>Руинки - это дополнительные локации, которые спавнятся на планетах. На одной планете может быть максимум одна руина.</p>
* Стены и полы шаттла находятся в файле icon/turf/shuttle.dmi.  
<p>При создании руины старайтесь использовать флору и фауну, которые предназначены для выбранной вами планеты.</p>
* Космические плитки находятся в файле icon/turf/space.dmi.  
<p>Чтобы инициализировать руину вам потребуется закинуть карту в папку с руинами для необходимой планеты по пути: '''_maps/_mod_celadon/RandomRuins/'''.</p>
<p>Затем перейдите к файлу '''mod_celadon/maps/code/ruins/ruin.dm''' и пропишите датум, по примеру других руин в файле. Датум может иметь такие параметры:</p>
<ol>
<li>'''Datum''' - ''[Обязательно]'' /datum/map_template/ruin/Планета/Название</li>
<li>'''name''' - ''[Обязательно]'' Полное название вашей руины</li>
<li>'''id''' - ''[Обязательно]'' Уникальное и краткое название руины, без нижних подчёркиваний. Используется функционирования для чёрного листа.</li>
<li>'''suffix''' - ''[Обязательно]'' Название вашего файла. Пример: anima_heirophant.dmm</li>
<li>'''description''' - ''[Обязательно]'' Описание вашей руины, лёгкий лор. Используется для страницы с информацией о руинах (в разработке). </li>
<li>'''cost''' - Влияет на вероятность спавна вашей руины. Чем выше стоимость, тем реже она может встретиться.</li>
<li>'''allow_duplicates''' - Если значение "False", то на весь раунд сможет появится только одна руинка.</li>
<li>'''ruin_tags''' - Используется для краткого описания руины. Теги можно найти здесь: [https://github.com/CeladonSS13/Shiptest/blob/beta-dev/code/__DEFINES/ruins.dm code/__DEFINES/ruins.dm].</li>
<li>'''never_spawn_with''' - Не заспавнит руинку, если уже имеется указанная руина из вашего списка.</li>
</ol>
<p>После создания датума перейдите к текстовому файлу '''map_catalogue_key.txt''' по пути: '''_maps/_mod_celadon/map_catalogue.txt''' и оставьте запись о руинке с размерами, тегами и путями.</p>


=== Важная дополнительная информация ===
=== Объекты ===
<p>Обязательное правило для создания корабля и субшатла, чтобы он не был квадратным иначе, как бы вы не старались при постановке док портов, вы не сможете задать нужное вам направление.</p>
<p>[Wideband] На корабля обязательно должно присутствовать средство связи с другими кораблями.</p>
<p>Если вы хотите, чтобы ваша карта была добавлена на [https://map.celadon.pro вебкарту], то нужно обращаться непосредственно к хосту Celadon`a - Voiko.</p>
<p>Максимальные размеры руин: '''121x75'''. Максимальный размер корабля равен максимальному размеру ангара '''56x40'''.</p>
<p>Список кодов доступа (access) к шлюзам и так далее находится в файле [https://github.com/CeladonSS13/Shiptest/blob/beta-dev/code_DEFINES/access.dm code/_DEFINES/access.dm].</p>
<p>При создании атмосферы на шипе не используйте стационарные танки с газами.</p>


= Проверка перед публикацией =
* Спрайты объектов находятся в папке icon/obj.
<ol>
* Спрайты предметов разбросаны по всей папке.
<li>Полы с воздухом или без него, как и должно быть? (обычный или безвоздушный)</li>
* Спрайты предметов по большей части требуют наличия собственных спрайтов. Их можно найти в разделах icon/mob/items_lefthand.dmi и icon/mob/items_righthand.dmi.
<li>[APC] - Есть ли в этой зоне ЛКП?</li>
* Спрайты одежды находятся в папке icon/obj/clothing.
<li>[Air Alarm] - Есть ли в этой зоне воздушная сигнализация?</li>
* Спрайты одежды на мобах можно найти в папке icon/mob.
<li>[Outpost Communications Console] - Есть ли в этой зоне консоль запросов?</li>
* Спрайты одежды по большей части требуют спрайтов, находящихся в руках. Их можно найти в разделах icon/mob/items_lefthand.dmi и icon/mob/items_righthand.dmi.
<li>[Light] - Есть ли на территории освещение?</li>
* Спрайты техники находятся в папке images/obj/machines. Хотя значительная их часть находится в папке icon/obj.
<li>[Light Switch] - Есть ли в этом помещении выключатель света?</li>
* Спрайты дверей расположены в папке icon/obj/door.
<li>[Intercom] - Достаточно ли в этом зоне интеркомов?</li>
* Обычный спрайт двери требует Door_closed, Door_locked, Door_opening, Door_deny, Door_Closing, Door_open, Door_spark, o_door_opening, o_door_Closing, Panel_open, Welded и Elights. Предлагаю осмотреть door.dmi
<li>[Camera] - Достаточно ли в этом зоне камер видеонаблюдения?</li>
* Укреплённым дверям требуются только спрайты открытия и закрытия, а также спрайты, когда они открыты и закрыты.
<li>[Vent Scrubber] - Подключена ли зона к вентиляционному очистителю?</li>
<li>[Vent Pump] - Подключена ли зона к вентиляционному насосу?</li>
<li>[Fire Alarm & Fire Doors] - Есть ли на территории пожарная сигнализация и противопожарные шлюзы?</li>
<li>[Holopad] - Имеется ли голопад на вашем судне?</li>
<li>Все ли подключено правильно?</li>
<li>Все ли двери работают правильно?</li>
<li>Правильно ли настроены доступы на дверях, кнопках и т. д.?</li>
<li>Все ли предметы размещены правильно? (не ниже вентиляционных отверстий, скрубберов, столов)?</li>
<li>Правильно ли работает система мусоропровода?</li>
<li>Проверьте наличие неуместных или наложенных частей труб (воздушных и отводящих).</li>
<li>Проверьте, нет ли неуместного или наложенного куска провода.</li>
<li>Определите, насколько сложно проникнуть в эту область и где находятся слабые места, и соответствующим образом сбалансируйте область (например, Хранилище должно быть сделано из усиленных конструкций и электрифицированных окон, Кухня не должна быть сделана из этих материалов, а из обычных стен)</li>
<li>Проверьте, не слишком ли много пустого пространства. Если да, уменьшите его и замените остальные туннелями для обслуживания.</li>
<li>Есть ли нерушимые турфы там, где их не должно быть?</li>
</ol>

Текущая версия от 17:51, 23 апреля 2026

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

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

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

Спрайтеры - люди, занимающиеся внешним видом игры, делают в основном текстурки для игры. Их главная цель - сделать хорошо, а плохо - не сделать, пиксель арт не стремится сделать достоверную репрезентацию чего-то в игре, его цель - показать объект так, чтобы было ясно что это он и красиво его нарисовать. Обычно спрайты рисуются в разрешении 32x32 пикселя, но бывают и исключения, например спрайты мегафауны имеют большее разрешение.

Терминология

Перед процессом спрайтингом нам предстоит немного ознакомиться с основными терминами.

  1. Билд - папка, которую вы скачали с нашего репозитория, хранит в себе кодовую структуру и конечно же DMI файлики с нашими спрайтами.
  2. DMI (Атлас) - формат файла .dmi, также может называться как Атлас. Грубо говоря это файл, который имеет в себе спрайты от одного до целого множества. Обычно именно их вы встретите в билде.
  3. Спрайт (стейт) - спрайтшит, в котором может быть анимация и несколько направлений спрайта. .
  4. VSC (Visual Studio Code) - программа, в которой мы можем просматривать код и спрайты, а также делать изменения. (Для редактирования спрайтов программа не годится, только для просмотра).
  5. Dream Maker - стандартная программа, появляется при установке BYOND, через которую вы можете открыть атлас, импортировать или экспортировать файлы, а также редактировать сам спрайт. Будьте осторожны. При открытии спрайтов могут сгенерироваться изменения в коде, которые могут помешать запуску билда.

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

Рисовать спрайты можно где вашей душе угодно. Можно конечно всё делать сразу в встроенном редакторе byond, но лучше использовать что-то другое, ибо он устаревший и достаточно неудобен, а ещё может сломать вам билд. Большинство спрайтеров пользуются Aseprite - удобной программой специально для пиксель арта.

"Aseprite" - стандартная программа для редактирования DMI файлов.

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

  1. Aseprite - отличный выбор, используется очень часто. Вы можете получить его бесплатно, скомпилировав исходный код, или купить. Отдельно можно установить плагин для поддержки DMI.
  2. Piskel - бесплатный сайт, который позволяет редактировать спрайты без необходимости скачивания. Простенький интерфейс, с отсутствием поддержки DMI файлов/атласов.
  3. GIMP - бесплатный вариант, не особо модный, требует скачивания. Имеет интерфейс немного лучше, чем обычный Paint. Поддержка DMI отсутствует.
  4. Adobe Photoshop - платный вариант, но возможно для кого-то покажется удобным инструментом для редактирования PNG картинок. Поддержка DMI отсутствует.

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

Инструкция по установке расширений для Aseprite

  1. Запускаем Aseprite - Edit (Menu) - Preferences
  2. Выбираем раздел Extensions - Add Extension - Прикрепляем файл Asesprite-DMI-Windows.

Если вдруг не работает расширение - выбираем его в этой же менюшке и нажимаем Enable.

Работа расширения

При перетаскивании DMI файла в окно Aseprite (обычное открытие не работает из-за отсутствия поддержки), открывается окно со всеми иконками.

    В расширении можно:
  1. Создавать/изменять спрайт в стейте
  2. Менять данные
  3. Сохранять (работает как обычное сохранение)
  4. Экспортировать в формат .dmi.

Полезные расширения для Aseprite

  • Перевод для Aseprite - расширение, что переводит интерфейс на русский язык.
  • Поддержка DMI - обязательный плагин, предоставляет возможность работать с DMI файлами.
  • Поддержка DMI №2 - резервный плагин, предоставляет возможность работать с DMI файлами. Не требует установки, если уже установлен плагин выше.

Основы

В BYOND для спрайтов используются файлы формата .dmi - спрайт-лист (изображение, хранящее большое количество спрайтов). DMI файлы хранят в себе состояния (стейты), их направления, анимации и скорость её воспроизведения.
Все спрайты в игре разбиты по разным файлам и разделены по файлам по категориям. Так намного проще ориентироваться в них и заниматься поиском нужного спрайта.
Обычно спрайты отсортированы по своему назначению:

  • icons/obj - спрайты различных объектов
  • icons/mod - спрайты живых существ, одежды на куклах, спрайты предметов в руках и тд.
  • icons/turf - спрайты всех стен и полов.
  • icons/effects - спрайты для различных эффектов: от атак, щитов, крови на полу до оверлеев светa.

Создание DMI файла

  1. Открываем DreamMaker (/BYOND/bin/dreammaker.exe)
  2. В меню file выбираем “New Enviroment”
  3. Если у вас уже есть Enviroment - переходите к 4 шагу
  4. В открывшемся окне выбираем папку под работу с dmi и название файла .dme



В меню file -> New создаём новый файл (после создания .dme окошко сразу откроется), в поле Type выбираем Icon File, ниже укажите папку и название нового файла. После создания .dmi файла, естественно, его надо заполнить. Сделать это можно несколькими способами: Создайте новый стейт, зайдя в меню “Graphic -> New State” / нажав на синий плюс в верхнем левом углу / нажав ПКМ где угодно в открытом DMI файле.

Зайдя в меню Graphic -> import выберите ваш спрайт. Если выбранный файл не будет указаного в файле разрешении (обычно 32х32), то программа порежет ваш спрайт на куски.
Чтобы переименовать стейт нажмите дважды на его название (или no name, если он новый). Название стейта должно быть написано на латинице, маленькими буквами и разделением слов через нижнее подчёркивание.
Не забывайте часто сохранять ваш файл, ибо Dreammaker очень сильно любит вылетать в самый неподходящий момент.

Пример использования DMI файлов в коде


Здесь, для спрайта предмета в игре, мы берём стейт под названием “gauze” из файла items.dmi, в то время для спрайтов в левой и правой руке у персонажей мы указываем два разных файла items_lefthand и items_righthand, откуда мы берём стейты с названием “gauze”, что мы указали в item_state.

Работа с ДМИ, фишки приколы фейлы

DMI файлы состоят из стейтов - наборов спрайтов, аля спрайт-лист. В каждом файле спрайты сгруппированы в icon state, по русски в стейты. В стейт можно добавить анимацию и до восьми направлений, то есть в него можно добавить до восьми отдельных спрайтов.

На пике выше - два стейта: corgi и corgi_dead. Первый отвечает за спрайты корги, когда он жив, corgi_dead, соответственно, когда мёртв. Посмотреть стейты в ДМИ файле можно просто открыв его в DreamMaker. В нём вы можете редактировать стейты внутри, количество их направлений и анимации.

Анимация

Стейты в DMI файлах можно анимировать, редактируя отдельные кадры в анимации. DreamMaker предоставляет несколько опций настройки анимации:
1. Количество кадров - чтобы изменить количество кадров в анимации нажимайте на стрелки на строке с frames, или нажмите на пустой кадр после существующего.

2. Длительность кадра (Delay) - каждому кадру можно указать то, сколько миллисекунд (0.1 секунды) он будет длиться. Изменить это значение можно нажав на строку Delay под нужным кадром. На примере ниже на каждом кадре указано значение в 1 (0.1 секунды) и 10 (1 секунда).


3. Настройка воспроизведения анимации - изначально для стейта включено зацикливание анимации. Вы можете включить опцию Rewind (перемотка), чтобы анимация, после достижения последнего кадра, воспроизводилась обратно. Также вы можете указать количество повторов анимации, выбрав опцию times. При этом в окне демонстрации анимации она будет циклична.

Направления

Спрайтам можно задать несколько направлений. В игре они будут показываться в зависимости от того, в какую сторону обращён объект. Спрайт может иметь одно направление, четыре (↓, ↑, →, ←) или восемь (↓, ↑, →, ←, ↘, ↙, ↗, ↖). Выбрать количество направлений можно нажимая кнопки со стрелками над настройками анимации.

У предметов используется одно направление, у мобов, в основном - четыре, с некоторыми исключениями. Восемь направлений используются очень редко, например - спрайт турели.

Стейты перемещения

В окне редактирования имени стейта можно включить поставить галочку напротив Movement State. Эта опция позволяет игре использовать выбранный стейт при движении объекта. При этом имя стейта перемещения должно совпадать с именем основного стейта.

Добавление спрайтов в стейты

Добавлять спрайты в стейты лучше всего вручную: копирование спрайта 32х32 в рабочей программе и вставка во встроенном редакторе спрайтов DreamMaker. Также если вы хотите попробовать что-то быстрее, но с дополнительными шагами, можете почитать гайд тут.

Документация

Также для удобства предоставляем список материалов, с которыми можно ознакомиться для повышения собственной квалификации.

Хоткеи

Основные сочетания клавиш для работы.

Категория Хоткей Описание
Навигация и холст Ctrl + колесо мыши Зум
1 / 2 / 3 / 4 / 5 Быстрый масштаб
H Рука (перемещение холста)
Ctrl + 0 Подогнать под экран
Tab Скрыть интерфейс
Shift + Tab Скрыть панели
Основные инструменты B Brush (Кисть)
E Eraser (Ластик)
G Paint Bucket (Заливка)
I Eyedropper (Пипетка)
M Marquee (Выделение прямоугольником)
L Lasso (Свободное выделение)
U Shape Tool (Фигуры)
P Pencil (Карандаш)
C Contour / Polygon
K Ink (режимы рисования)
S Spray
Работа с цветом X Поменять местами foreground/background
D Сброс цветов (черный/белый)
Alt + клик Пипетка
Shift + I Color Picker (альтернативный)
Выделение Ctrl + A Выделить всё
Ctrl + D Снять выделение
Ctrl + Shift + I Инвертировать выделение
Alt + drag Перемещение выделения
Shift Добавить к выделению
Alt Убрать из выделения
Слои и кадры N Новый слой
Shift + N Новый слой сверху
Ctrl + Shift + N Новый слой с настройками
Delete Удалить слой/содержимое
Page Up / Page Down Переключение кадров
Alt + N Новый кадр
Alt + Delete Очистить слой
Редактирование Ctrl + Z Отмена
Ctrl + Y Повтор
Ctrl + X Вырезать
Ctrl + C Копировать
Ctrl + V Вставить
Ctrl + B Вставить в место
Ctrl + T Трансформация
Трансформации Ctrl + T Свободная трансформация
Shift Сохранять пропорции
Alt Масштаб из центра
Дополнительно F Flip (отразить)
Shift + F Отразить по вертикали
Ctrl + Shift + F Отразить по горизонтали
Ctrl + U Hue/Saturation
Ctrl + L Levels
Тайлы и пиксель-арт Ctrl + Shift + T Tile Mode
Shift + B Pixel Perfect (идеальные линии)
Полезные скрытые фишки Пробел / СКМ (зажать) Временно инструмент "рука"
Ctrl (зажать) Временно пипетка
Shift (при рисовании) Рисование прямых линий
Ctrl + drag Перемещение содержимого

Обзор объекта

В игре 4 типа объектов:

  • Область – нас это не будет интересовать, так как вы не увидите ее в игре и достаточно wip-графики,
  • Моб – люди, обезьяны, киборги, инопланетяне и другая живность на станции / кораблях / планетах,
  • Объекты – машины, двери, предметы и все остальное в игре,
  • Турф – стены, полы и пространство

Требуемые спрайты по категориям объектов

Теперь расскажу вам, какие спрайты нужны различным типам предметов:

Мобы

  • Спрайты мобов по большей части требуют четырех направлений.
  • Спрайты мобов требуют спрайтов мертвых мобов .
  • Если вы захотите, вы можете создать спрайт моба, который лежит.
  • Если вы создаете моба, который может носить одежду, вы можете использовать Pixel_y, Pixel_x для смены одежды при кодировании моба.

Мобы с конечностями

  • Человек и человеческий вид состоят из конечностей – головы, груди, двух рук и двух ног.
  • Файлы находятся в icon/mob/human_parts.dmi для конечностей, имеющих заданный цвет, и в icon/mob/human_parts_greyscale.dmi для конечностей, которые можно перекрасить и начать использовать оттенки серого.
  • Конечности имеют 4 кадра, как и полноценные иконки.
  • Конечности также используются в качестве иконок предметов на случай расчленения.
  • Именование следующее:
    • [race]_l/r_arm/leg для рук и ног.
    • [race]_chest(_m/f) для торса (м/ж для мужских/женских вариантов, необязательно)
    • [race]_head(_m/f) для головы (м/ж для мужского/женского вариантов, необязательно)
  • Дополнительные части тела, такие как хвосты ящерицы, помещаются в mutant_bodyparts.dmi.

Турфы

  • Полы находятся в файле icon/turf/floors.dmi.
  • Стены находятся в файле icon/turf/walls.dmi.
  • Стены и полы шаттла находятся в файле icon/turf/shuttle.dmi.
  • Космические плитки находятся в файле icon/turf/space.dmi.

Объекты

  • Спрайты объектов находятся в папке icon/obj.
  • Спрайты предметов разбросаны по всей папке.
  • Спрайты предметов по большей части требуют наличия собственных спрайтов. Их можно найти в разделах icon/mob/items_lefthand.dmi и icon/mob/items_righthand.dmi.
  • Спрайты одежды находятся в папке icon/obj/clothing.
  • Спрайты одежды на мобах можно найти в папке icon/mob.
  • Спрайты одежды по большей части требуют спрайтов, находящихся в руках. Их можно найти в разделах icon/mob/items_lefthand.dmi и icon/mob/items_righthand.dmi.
  • Спрайты техники находятся в папке images/obj/machines. Хотя значительная их часть находится в папке icon/obj.
  • Спрайты дверей расположены в папке icon/obj/door.
  • Обычный спрайт двери требует Door_closed, Door_locked, Door_opening, Door_deny, Door_Closing, Door_open, Door_spark, o_door_opening, o_door_Closing, Panel_open, Welded и Elights. Предлагаю осмотреть door.dmi
  • Укреплённым дверям требуются только спрайты открытия и закрытия, а также спрайты, когда они открыты и закрыты.