|
|
| Строка 1: |
Строка 1: |
| Здесь вы найдете краткое руководство, кто хочет освоить маппинг, но не имеет ни малейшего представления, с чего начать. | | Здесь вы найдете краткое руководство для тех, кто хочет освоить маппинг, но не имеет ни малейшего представления, с чего начать. |
|
| |
|
| Сам процесс маппинга очень прост - сложность составляет, скорее, знание билда и кода. Однако, вам, как мапперу, очень важно следовать простому, но правильному и удобному рабочему процессу. “Просто возьми ZIP-файл и работай в нем!” - такое нам не подойдет. Устраивайтесь поудобнее, сделайте себе чаю и слушайте внимательно. | | Сам процесс маппинга очень прост - сложность составляет, скорее, знание билда и кода. Однако, вам, как мапперу, очень важно следовать простому, но правильному и удобному рабочему процессу. “Просто возьми ZIP-файл и работай в нем!” - такое нам не подойдет. Устраивайтесь поудобнее, сделайте себе чаю и слушайте внимательно. |
|
| |
|
| ==Что нам понадобится== | | ==Что нам потребуется== |
|
| |
|
| Возможно, этот список покажется вам слишком длинным и трудоемким, но здесь указаны самые простые и современные программы. Вы не ошибетесь, выбрав их.
| | *Отправлять изменения на репозиторий. Гайды на эту тему вы сможете найти [[Git|тут]]. |
| | | *[https://github.com/SpaiR/StrongDMM StrongDMM] - лучший редактор карт за авторством нашего любимого SpaiR. Доступен для Windows, Linux, и MacOS. Никогда, слышите, НИКОГДА не используйте Dream Maker для маппинга. Вы только навредите себе и уничтожите любое желание маппить, которое могло у вас остаться. |
| * [https://git-scm.com/downloads Git] - нам не избежать его использования.
| |
| * [https://github.com/apps/desktop Github Desktop] - Вы можете использовать любой Git-клиент, которым вы уже умеете пользоваться (Bash или GitKraken). Но не забудьте создать на аккаунт на гитхабе.
| |
| * [https://github.com/SpaiR/StrongDMM StrongDMM] - лучший редактор карт за авторством нашего любимого SpaiR. Доступен для Windows, Linux, и MacOS. Никогда, слышите, НИКОГДА не используйте Dream Maker для маппинга. Вы только навредите себе и уничтожите любое желание маппить, которое могло у вас остаться. | |
| * [https://code.visualstudio.com/ Visual Studio Code] - это опционально, но очень рекомендуется, потому что вам потребуется тестировать свои изменения на локальном сервере, а также иногда трогать код. | | * [https://code.visualstudio.com/ Visual Studio Code] - это опционально, но очень рекомендуется, потому что вам потребуется тестировать свои изменения на локальном сервере, а также иногда трогать код. |
|
| |
|
| | == Открываем карту == |
| | Пришло время запустить '''StrongDMM'''! Откройте "File" и нажмите “Open...”. В главной папке вашего репо выберите <code>taucetistation.dme</code> - это то, с помощью чего StrongDMM (или любая другая программа) способен находить, собирать и анализировать atoms - составляющие каждого тайла каждой карты. Это важный шаг, и убедитесь, что у вас всегда есть файл .DME (Dream Maker Environment) в своем репозитории. |
| | [[Файл:StrongDMMGuide1.png|без|мини|300x300пкс]] |
| | Теперь, когда вы находитесь в подходящей среде, доступные карты отобразятся в центральном окошке. Если вы хотите начать с чистого листа, вы также можете создать новую карту (File>New map). |
| | [[Файл:StrongDMMGuide2.png|без|мини|500x500пкс]] |
|
| |
|
| Пришло время загрузить '''StrongDMM'''! Откройте "File" и нажмите “Open Environment...”. The Environment - это то, с помощью чего StrongDMM (или любая другая программа) способен находить, собирать и анализировать atoms - составляющие каждого тайла каждой карты. Это важный шаг, и убедитесь, что вы всегда используете файл .DM (Dream Maker Environment) в своем репозитории, чтобы все было как можно проще. Просто установите tgstation.dme.
| | == Знакомство с интерфейсом == |
| | | .DMM расшифровывается как Dream Maker Map. Именно поэтому он составляет 37,5% от названия используемой нами программы - StrongDMM. Открыв карту, вы должны увидеть что-то вроде этого: |
| ==Git ready to suffer== | | [[Файл:StrongDMMGuide3.png|без|мини|400x400пкс]] |
| В этой главе описан способ вносить в билд свои изменения с помощью Github Desktop, но если вам больше по душе консольный гит - вы можете прочитать [[Git/Git-console|этот гайд]], пропустить данную главу и сразу перейдя в [[Guide to Mapping#Устанавливаем хуки|следующую]].
| | Это... выглядит любопытно? Для перемещения по карте используйте средний клик или зажатый пробел. Вы также можете использовать колесо прокрутки для увеличения и уменьшения масштаба. Клавиши со стрелками также поддерживаются. |
| | | [[Файл:StrongDMMGuide4.png|без|мини|400x400пкс]] |
| | | Красотища… Давайте поговорим об этих разноцветных формах. Это области (areas), и они нужны для того, чтобы игра понимала, что в какой части карты находится (Например - клоун пробрался в капитанскую?), и мы используем их для многих целей в коде. Бриг- это область, отличная от бара, поэтому важно следить, чтобы области были правильно выставлены. Эти цвета, как правило, немного отвлекают во время работы, поэтому вы можете нажать {{Key|Ctrl}}+ {{Key|1}}, чтобы избавиться от них. Однако, когда закончите работу над картой - убедитесь, что вы определили их правильно. |
| Итак, начнем. Во-первых, вам понадобится [https://git-scm.com/book/ru/v2/GitHub-%d0%92%d0%bd%d0%b5%d1%81%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81%d0%be%d0%b1%d1%81%d1%82%d0%b2%d0%b5%d0%bd%d0%bd%d0%be%d0%b3%d0%be-%d0%b2%d0%ba%d0%bb%d0%b0%d0%b4%d0%b0-%d0%b2-%d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d1%8b форк]. Форк будет вашей собственной копией нашего репозитория, с которой вы можете делать все, что пожелаете! Просто нажмите эту кнопку на https://github.com/TauCetiStation/TauCetiClassic:
| | [[Файл:StrongDMMGuide5.png|без|мини|400x400пкс]] |
| [[Файл:How_to_fork.png|без|мини|400x400пкс]] | | Намного приятнее. Области (areas) - это один из четырех различных "слоев", которые мы используем в BYOND. Остальные три - это turfs(стены и пол), objs (для объектов) и mob (для существ / животных/ и-так-далее). Их прародителем является atom. Вы можете перейти на вкладку View или нажать соответствующие горячие клавиши, чтобы быстро отфильтровать их. |
| | | [[Файл:StrongDMMGuide6.png|без|мини]] |
| | | Краткий экскурс: У вас может быть только одна область (area) и один турф (turf) на тайл. Но на нем может быть столько объектов и мобов, сколько вы пожелаете. Есть два типа турфов: открытые и закрытые. Если коротко, то открытые - это полы, а закрытые - это стены. Здесь код выполняет основную работу за нас, но важно понимать разницу. Давайте увеличим масштаб и рассмотрим более детально: |
| Как только вы его сделаете, у вас должно появиться что-то подобное в вашем базовом профиле на GitHub.:
| | [[Файл:StrongDMMGuide7.png|без|мини|400x400пкс]] |
| [[Файл:How_to_fork2.png|без|мини]]
| | О да, [[Captain's Quarters|кабинет капитана]]. Я щелкнул {{Key|ПКМ}} вон на том шлюзе в центре. В открывшемся меню (выделено красным) вы можете увидеть несколько вариантов работы с этим тайлом, а также список всех объектов, турфа и области тайла. Вся эта информация хранится в ключах карты. Мило! |
| | |
| Отлично! Итак, я надеюсь, вы уже скачали [https://github.com/apps/desktop Github Desktop]? Следующая часть будет простой: нажмите эту удобную кнопку под “Code” прямо здесь:
| |
| [[Файл:How_to_fork3.png|без|мини]]
| |
| | |
| Вы увидите экран, который выглядит примерно так. Просто убедитесь, что у вас есть чистая папка, в которую Git сможет клонировать себя, и нажмите “Clone”: | |
| [[Файл:How_to_fork4.png|без|мини|400x400пкс]] | |
| | |
| Итак, на следующем экране вам нужно нажать “Contribute to the parent project”. Это важно, потому что это немного облегчит вашу жизнь на последующих этапах (На этапе Пул Реквеста):
| |
| [[Файл:How_to_fork5.png|без|мини|400x400пкс]]
| |
| | |
| Круто, теперь у вас есть копия нашего билда! Однако, прежде чем делать какие-либо изменения, вам нужно сделать одну важную вещь:
| |
| [[Файл:How_to_fork6.png|без|мини|400x400пкс]]
| |
| | |
| Создать новую ветку! Это супер важно, потому что нам нужно, чтобы главная “master” ветка на вашем форке была как можно более "чистой", без ваших изменений. Для каждого отдельного проекта, над которым вы работаете и для которого отправляете запрос на обновление, вы создадите отдельную ветку. Не стесняйтесь называть ее как хотите! В конце концов, это ваша ветка.
| |
| [[Файл:How_to_fork7.png|без|мини|400x400пкс]]
| |
| | |
| Вы также можете увидеть экран с надписью “base it off the current branch” или “base it off the upstream/master”. Это зависит от того, чего вы хотите, но если вы хотите начать новый ПР с чистого листа, всегда нажимайте “base it off the upstream/master”.
| |
| [[Файл:How_to_fork8.png|без|мини|403x403пкс]]
| |
| | |
| Вот, как все должно выглядеть. Вы отлично справляетесь, так держать!
| |
| | |
| == Устанавливаем хуки ==
| |
| '''Этот шаг очень важен!'''
| |
| | |
| Наш репозиторий довольно большой, и в нем одновременно работают большое количество людей, над большим количеством проектов, зачастую на одних и тех же файлах одновременно. Как следствие, в файлах могут возникать конфликты. Но у нас есть отличный набор инструментов, которые помогут нам справиться с этими конфликтами, и установка этих Git-хуков на данный момент - одна из лучших вещей, которые вы можете сделать.
| |
| | |
| Во-первых, в корневом каталоге вашего репозитория перейдите в <code>/tools/_git-hooks</code> и запустите <code>_install.sh</code>. Это автоматически настроит ваши Git-хуки, что избавит вас от многих трудностей. Этот хук будет "объединять" ваши изменения, когда вы редактируете карты. Удостоверьтесь, также, что у вас стоит Java, она нужна для хуков.
| |
| | |
| ==Делаем изменения==
| |
| Теперь вы можете делать все, что вашей душе угодно - будь то изменения кода, [[Guide to Mapping|маппинг]], [[Soundmaking|новые звуки]] или [[Guide to Spriting|спрайты]]. Главное, помните - после того, как сделаете изменения, не забывайте их протестировать, закомпилировав код и запустив [[Server Startup|локальный сервер]].
| |
| | |
| ==Отправляем Commit==
| |
| Пришло время отправлять изменения на главный репозиторий. Зайдите обратно в GitHub Desktop и проверьте, что в файлах нет лишних изменений, которые вы не хотите отправлять. Если вы хотите избавиться от чего-то - просто щелкните правой кнопкой мыши на файл, который хотите удалить, и нажмите “Discard changes”.
| |
| [[Файл:How to commit1.png|без|мини|400x400пкс]]
| |
| Допустим, я доволен тем, что сделал - что тогда? Меню коммита! Постарайтесь давать вашим коммитам адекватные названия, в формате "Removes clown" или "Tweaks the dorm room".
| |
| [[Файл:How to commit2.png|без|мини|400x400пкс]] | |
| Отлично. Теперь нажмем “Commit to (здесь название вашей ветки)”. Если там написано “Commit to master/main”, не нажимайте эту кнопку, потому что вы испортите свою главную ветку вашего репозитория.
| |
| | |
| Поздравляю, вы “коммитнули” свои изменения! Что делать, если вам что-то в них не понравилось, и вы поняли, что допустили опечатку, или просто захотите вернуться? Вы всегда можете просто сделать другие изменения и снова сделать коммит, но вы также можете перейти на вкладку "История" и нажать эту кнопку:
| |
| [[Файл:How to commit3.png|без|мини|400x400пкс]] | |
| “Undo commit” просто отменит ваш коммит, и тогда вы сможете внести любые новые изменения, а затем повторно сделать коммит. Это одно из преимуществ Git: у него мощная система управления версиями, которую вы можете легко использовать для перехода от одной точки во времени работы к другой.
| |
| | |
| ==Создаем Pull Request==
| |
| Однако, если вы довольны изменениями, то обратите внимание на эти кнопки:
| |
| [[Файл:How to commit4.png|без|мини|400x400пкс]]
| |
| Любой из этих вариантов сработает, и ваша ветка будет загружена на удаленный сервер (github.com). Вот что отобразится далее:
| |
| [[Файл:How to commit5.png|без|мини|400x400пкс]] | |
| Вот она, простая кнопка для создания ПР-а! Вы можете просто нажать на нее, и сразу же откроется страничка в вашем веб-браузере.
| |
| [[Файл:How to commit6.png|без|мини|400x400пкс]] | |
| Теперь заполните описание ПР-а - так, как указано в шаблоне (добавление одного-двух превью ваших изменений очень приветствуется). При создании ПРа стоит придерживаться определённых норм, а именно: избегать употребления сленга, нецензурной брани и стараться избегать многократного употребления одних и тех же слов (последнее применительно только к чейнджлогу). Я бы посоветовал просмотреть примеры ПР-ов, открыть несколько из них и проанализировать то, как они описывают свои изменения.
| |
| | |
| ===Правильно пишем чейнджлог===
| |
| После описания, вы должны самостоятельно написать чейнджлог, который будет виден в игре. Чейнджлог генерируется автоматически сразу после мержа изменений.
| |
| | |
| *Ключевым моментом для чейнджлога является метка <code>:cl:</code> . Всё что идёт после неё будет считаться обработчиком за чейнджлог, который и будет высвечиваться в игре. '''(Поэтому важно, чтобы под меткой ничего кроме самих чейнджлогов не было.)''' Через пробел можно написать свой ник, но это целесообразно только в том случае, если имя аккаунта на гитхабе и в игре различаются. В случае, если вы лишь посредник при публикации ПРа (вас попросили залить кем-то нарисованные спрайты), то хорошим тоном будет вписать профиль того человека. Сюда можно написать более одного ника.
| |
| | |
| Далее речь пойдёт непосредственно о наполнении чейнджлога. Для упрощения восприятия и систематизации, различные нововведения подразделяются на группы, маркеры для которых представлен ниже. Вам необходимо сначала написать маркер, а уже затем описать, что вы сделали:
| |
| | |
| *<code>- bugfix:</code> тут описываются различные фиксы;
| |
| | |
| *<code>- rscadd:</code> в эту группу нужно вносить добавление нового функционала или фичь;
| |
| | |
| *<code>- rscdel:</code> откаты фичь, удаление старого или ненужного и так далее;
| |
| | |
| *<code>- image:</code> всё что касается визуальной составляющей уйдёт в эту группу;
| |
| | |
| *<code>- sound:</code> звуки и всё что с ними связано будут тут;
| |
| | |
| *<code>- spellcheck:</code> исправления/изменения в тексте;
| |
| | |
| *<code>- tweak:</code> изменения влияющие на игровой процесс, но, как правило, базирующиеся на существующем и являющиеся, в общем масштабе, незначительными (настройки чего-то или мелкофичи);
| |
| | |
| *<code>- balance:</code> затрагивая игровой баланс смело пишите сюда;
| |
| | |
| *<code>- map:</code> изменения на карте;
| |
| | |
| *<code>- performance:</code> всё что влияет на производительность игры или работы билда в целом, и прочее;
| |
| | |
| *<code>- experiment:</code> в данном разделе нужно описывать изменения, вероятность отката которых, вы не исключаете;
| |
| | |
| *<code>- ru:</code> изменения, касающиеся перевода; (вместо ru также можно использовать localization)
| |
| | |
| Стоит оговорить, что текста в чейнджлоге должно быть немного, но и информативность должна быть сохранена по-максимуму. Если вы уверены, что не уложитесь в понятие ''краткость'', то вы можете воспользоваться маркером <code>[link]</code> , который нужно добавить к конкретной группе. Маркер даст указание обработчику в автоматическом порядке дописать к чейнджлогу гипер-ссылку ведущую на ваш ПР, в котором вы можете спокойно разгуляться с описанием. Как это должно выглядеть на практике можно увидеть в далее приложенном примере.
| |
| | |
| '''Важно:''' [link] - это всего лишь маркер для обработчика . В саму метку НИЧЕГО помещать не надо, ссылка получается АВТОМАТИЧЕСКИ обработчиком в процессе генерации чейнджлога.
| |
| | |
| На этом всё. Нажимаем "Create pull request". Готово! После создания ПРа <code>:cl:</code> заменится на эмодзи.
| |
|
| |
|
| <div class="toccolours mw-collapsible mw-collapsed" style="width:99%">
| | Вы можете увидеть, что я навел курсор мыши на один из объектов на этом тайле. Это откроет другое контекстное меню (выделено синим) для конкретного объекта, с помощью которого вы сможете менять порядок объектов на тайле, выделять, удалять, заменять, а также возвращать дефолтные настройки объекта. |
| Пример
| |
| <div class="mw-collapsible-content"><pre>
| |
| Текст с описанием вашего ПРа.
| |
| :cl:
| |
| - bugfix: Фикс невозможности сделать какое-либо действие.
| |
| - rscadd[link]: Добавлена куча ранее невиданных фич, описание каждой выльется во второй том произведения "Мёртвые души". (Тут, в игре, будет добавлено "- подробнее -", которое будет являться гипер-ссылкой.)
| |
| </pre></div></div>
| |
| В случае, если вы сделаете что-то неправильно, не стоит пугаться, всегда найдутся те, кто подскажет, а в случае надобности и покажет как сделать правильно.
| |
| [[Файл:How to commit7.png|без|мини|400x400пкс]]
| |
| Нажмите “Create Pull Request” и дождитесь реакции браузера.
| |
|
| |
|
| У вас получилось! Вы создали ПР на Гитхабе!
| | == Засучив рукава == |
| | Теперь добавим что-то на карту! |
| | [[Файл:StrongDMMGuide8.png|без|мини]] |
Здесь вы найдете краткое руководство для тех, кто хочет освоить маппинг, но не имеет ни малейшего представления, с чего начать.
Сам процесс маппинга очень прост - сложность составляет, скорее, знание билда и кода. Однако, вам, как мапперу, очень важно следовать простому, но правильному и удобному рабочему процессу. “Просто возьми ZIP-файл и работай в нем!” - такое нам не подойдет. Устраивайтесь поудобнее, сделайте себе чаю и слушайте внимательно.
Что нам потребуется
- Отправлять изменения на репозиторий. Гайды на эту тему вы сможете найти тут.
- StrongDMM - лучший редактор карт за авторством нашего любимого SpaiR. Доступен для Windows, Linux, и MacOS. Никогда, слышите, НИКОГДА не используйте Dream Maker для маппинга. Вы только навредите себе и уничтожите любое желание маппить, которое могло у вас остаться.
- Visual Studio Code - это опционально, но очень рекомендуется, потому что вам потребуется тестировать свои изменения на локальном сервере, а также иногда трогать код.
Открываем карту
Пришло время запустить StrongDMM! Откройте "File" и нажмите “Open...”. В главной папке вашего репо выберите taucetistation.dme - это то, с помощью чего StrongDMM (или любая другая программа) способен находить, собирать и анализировать atoms - составляющие каждого тайла каждой карты. Это важный шаг, и убедитесь, что у вас всегда есть файл .DME (Dream Maker Environment) в своем репозитории.
Теперь, когда вы находитесь в подходящей среде, доступные карты отобразятся в центральном окошке. Если вы хотите начать с чистого листа, вы также можете создать новую карту (File>New map).
Знакомство с интерфейсом
.DMM расшифровывается как Dream Maker Map. Именно поэтому он составляет 37,5% от названия используемой нами программы - StrongDMM. Открыв карту, вы должны увидеть что-то вроде этого:
Это... выглядит любопытно? Для перемещения по карте используйте средний клик или зажатый пробел. Вы также можете использовать колесо прокрутки для увеличения и уменьшения масштаба. Клавиши со стрелками также поддерживаются.
Красотища… Давайте поговорим об этих разноцветных формах. Это области (areas), и они нужны для того, чтобы игра понимала, что в какой части карты находится (Например - клоун пробрался в капитанскую?), и мы используем их для многих целей в коде. Бриг- это область, отличная от бара, поэтому важно следить, чтобы области были правильно выставлены. Эти цвета, как правило, немного отвлекают во время работы, поэтому вы можете нажать Ctrl+ 1, чтобы избавиться от них. Однако, когда закончите работу над картой - убедитесь, что вы определили их правильно.
Намного приятнее. Области (areas) - это один из четырех различных "слоев", которые мы используем в BYOND. Остальные три - это turfs(стены и пол), objs (для объектов) и mob (для существ / животных/ и-так-далее). Их прародителем является atom. Вы можете перейти на вкладку View или нажать соответствующие горячие клавиши, чтобы быстро отфильтровать их.
Краткий экскурс: У вас может быть только одна область (area) и один турф (turf) на тайл. Но на нем может быть столько объектов и мобов, сколько вы пожелаете. Есть два типа турфов: открытые и закрытые. Если коротко, то открытые - это полы, а закрытые - это стены. Здесь код выполняет основную работу за нас, но важно понимать разницу. Давайте увеличим масштаб и рассмотрим более детально:
О да, кабинет капитана. Я щелкнул ПКМ вон на том шлюзе в центре. В открывшемся меню (выделено красным) вы можете увидеть несколько вариантов работы с этим тайлом, а также список всех объектов, турфа и области тайла. Вся эта информация хранится в ключах карты. Мило!
Вы можете увидеть, что я навел курсор мыши на один из объектов на этом тайле. Это откроет другое контекстное меню (выделено синим) для конкретного объекта, с помощью которого вы сможете менять порядок объектов на тайле, выделять, удалять, заменять, а также возвращать дефолтные настройки объекта.
Засучив рукава
Теперь добавим что-то на карту!