Contributing to the Game: различия между версиями
Kar4es (обсуждение | вклад) мНет описания правки |
Nemesis (обсуждение | вклад) мНет описания правки |
||
| Строка 2: | Строка 2: | ||
<center> | <center> | ||
= Официальный репозиторий [https://github.com/cmss13-devs/cmss13 CM-SS13] и наш репозиторий [https://github.com/ss220club/BandaMarines BandaMarines] | = Официальный репозиторий [https://github.com/cmss13-devs/cmss13 CM-SS13] и наш репозиторий [https://github.com/ss220club/BandaMarines BandaMarines] = | ||
</center> | </center> | ||
| Строка 9: | Строка 9: | ||
== Руководство == | == Руководство == | ||
=== С чего начать === | === С чего начать === | ||
Мы рады, что вы решили внести вклад в проект CM13 или хотя бы бегло ознакомиться с этим руководством. Прежде чем приступить к реализации своих идей — кодингу, маппингу, спрайтам и участию в каналах для контрибьюторов — вам следует, как минимум, ознакомиться с разделом с руководящими принципами, а также просмотреть разделы «Чего мы хотим» и «Чего мы не хотим». В самом конце этого краткого руководства вы найдёте ссылки на различные гайды и обучающие материалы, которые мы рекомендуем. Не все они были написаны специально для CM13 или даже для BYOND в целом, но материалы, созданные их авторами, являются чрезвычайно ценными. | Мы рады, что вы решили внести вклад в проект CM13 или хотя бы бегло ознакомиться с этим руководством. Прежде чем приступить к реализации своих идей — кодингу, маппингу, спрайтам и участию в каналах для контрибьюторов — вам следует, как минимум, ознакомиться с разделом с руководящими принципами, а также просмотреть разделы «Чего мы хотим» и «Чего мы не хотим». В самом конце этого краткого руководства вы найдёте ссылки на различные гайды и обучающие материалы, которые мы рекомендуем. Не все они были написаны специально для CM13 или даже для BYOND в целом, но материалы, созданные их авторами, являются чрезвычайно ценными. | ||
=== CM13 — лишь набросок идеи === | === CM13 — лишь набросок идеи === | ||
CM13 по сути представляет собой две разные игры, объединённые в одну: умеренно стратегический командный deathmatch в повседневном геймплее (хотя, если быть точнее, это скорее смесь иммерсивного симулятора и экшен-ролевой игры), с сопутствующей вселенной и сеттингом, создающими основу для ролевого взаимодействия. Мы приглашаем контрибьюторов развивать игру и расширять её, опираясь на свой собственный опыт. Сила CM13 и SS13 в целом — в разнообразии идей и видений, которыми обмениваются игроки, участники и разработчики. Несмотря на наличие общего курса развития, задаваемого командой разработчиков, именно игроки поддерживают сервер живым — и именно из числа игроков выходят большинство разработчиков. | CM13 по сути представляет собой две разные игры, объединённые в одну: умеренно стратегический командный deathmatch в повседневном геймплее (хотя, если быть точнее, это скорее смесь иммерсивного симулятора и экшен-ролевой игры), с сопутствующей вселенной и сеттингом, создающими основу для ролевого взаимодействия. Мы приглашаем контрибьюторов развивать игру и расширять её, опираясь на свой собственный опыт. Сила CM13 и SS13 в целом — в разнообразии идей и видений, которыми обмениваются игроки, участники и разработчики. Несмотря на наличие общего курса развития, задаваемого командой разработчиков, именно игроки поддерживают сервер живым — и именно из числа игроков выходят большинство разработчиков. | ||
| Строка 19: | Строка 19: | ||
Именно здесь вы, как контрибьютор, можете проявить себя — будь то работа над устаревшими спрайтами из Bay12, добавление Nightmare-вставок на карты Big Red и LV, или реализация новых функций, формирующих уникальные истории каждого раунда. Каждый коммит имеет значение. Однако, в вопросах общего направления проекта последнее слово всегда остаётся за командой разработчиков. Вклад в проект — это простой путь к присоединению к этой команде. Если вы хотите оказывать большее влияние на развитие игры, мы рекомендуем сначала освоиться с нашим кодом и системами, а затем присоединиться. | Именно здесь вы, как контрибьютор, можете проявить себя — будь то работа над устаревшими спрайтами из Bay12, добавление Nightmare-вставок на карты Big Red и LV, или реализация новых функций, формирующих уникальные истории каждого раунда. Каждый коммит имеет значение. Однако, в вопросах общего направления проекта последнее слово всегда остаётся за командой разработчиков. Вклад в проект — это простой путь к присоединению к этой команде. Если вы хотите оказывать большее влияние на развитие игры, мы рекомендуем сначала освоиться с нашим кодом и системами, а затем присоединиться. | ||
=== Руководящие принципы === | === Руководящие принципы === | ||
Эти принципы — не строгие правила, а скорее советы, призванные помочь вам и другим контрибьюторам создать продуктивную и комфортную атмосферу совместной работы. Помните: каждый, даже самый талантливый программист или художник, когда-то писал свой первый "Hello world" или делал первый мазок кистью. Среди нас будут новички и те, кто работает инженерами в реальной жизни. | Эти принципы — не строгие правила, а скорее советы, призванные помочь вам и другим контрибьюторам создать продуктивную и комфортную атмосферу совместной работы. Помните: каждый, даже самый талантливый программист или художник, когда-то писал свой первый "Hello world" или делал первый мазок кистью. Среди нас будут новички и те, кто работает инженерами в реальной жизни. | ||
| Строка 30: | Строка 30: | ||
---- | ---- | ||
== | == Что мы хотим == | ||
Как уже было сказано: «Команда разработчиков и её решения имеют приоритет над мнением игроков и контрибьюторов». Это применимо и к тому, что | Как уже было сказано: «Команда разработчиков и её решения имеют приоритет над мнением игроков и контрибьюторов». Это применимо и к тому, что вероятнее всего будет принято через Merge Request. Список ниже — не полный, но он даёт общее представление о том, что хотелось бы видеть в пулл-реквестах. | ||
=== Спрайты === | === Спрайты === | ||
* Замена устаревших спрайтов из Bay12 | * Замена устаревших спрайтов из Bay12 | ||
* Уникальные дизайны | * Уникальные дизайны подвидов чужих (для тех, у кого их ещё нет) | ||
* Альтернативные | * Альтернативные наборы спрайтов для чужих | ||
* Сортировка иконок по образцу | * Сортировка иконок по образцу оружия | ||
* | * Новая косметическая экипировка, например, шлемы | ||
* | * Уникальные тайлсеты для карт, которые их не имеют | ||
* Уникальные объекты и детали для конкретных карт | * Уникальные объекты и детали для конкретных карт | ||
* | * Уникальная форма и экипировка колонистов для конкретных карт | ||
* Исправления багов и устранение несоответствий | |||
* Исправления багов и устранение несоответствий | |||
=== Карты === | === Карты === | ||
* Nightmare-вставки | * Nightmare-вставки | ||
* Улучшения размещения объектов (например, расширение узких коридоров и путей, загромождённых объектами) | * Улучшения размещения объектов (например, расширение узких коридоров и путей, загромождённых объектами) | ||
* Дополнительные декоративные элементы (если они не ухудшают производительность) | * Дополнительные декоративные элементы (если они не ухудшают производительность) | ||
* Удаление тупиков и бесполезных зон на картах | * Удаление тупиков и бесполезных зон на картах | ||
* Новые карты* | * Новые карты* | ||
* Исправления багов и устранение несоответствий | * Исправления багов и устранение несоответствий | ||
===== Примечание о новых картах ===== | ===== Примечание о новых картах ===== | ||
Полноценные новые карты часто становятся отправной точкой для вступления в мапперский отдел команды разработчиков. Однако создание новой карты — это проект на несколько месяцев, требующий вовлечённости и постоянной связи с опытными мапперами. Маппинг, как и спрайтинг или программирование, — навык, который требует практики. Первая карта, скорее всего, получится не самой удачной. Карты — живые объекты, которые не бывают окончательно завершёнными. Не привязывайтесь к изначальному дизайну и будьте готовы переработать половину проекта по ходу дела. | Полноценные новые карты часто становятся отправной точкой для вступления в мапперский отдел команды разработчиков. Однако создание новой карты — это проект на несколько месяцев, требующий вовлечённости и постоянной связи с опытными мапперами. Маппинг, как и спрайтинг или программирование, — навык, который требует практики. Первая карта, скорее всего, получится не самой удачной. Карты — живые объекты, которые не бывают окончательно завершёнными. Не привязывайтесь к изначальному дизайну и будьте готовы переработать половину проекта по ходу дела. | ||
=== Кодинг === | === Кодинг === | ||
* Улучшения качества жизни, не влияющие на баланс, но повышающие удобство | * Улучшения качества жизни, не влияющие на баланс, но повышающие удобство | ||
* Оптимизация и уменьшение задержек | * Оптимизация и уменьшение задержек | ||
* Рефакторинг серверных систем ради стабильности и производительности | * Рефакторинг серверных систем ради стабильности и производительности | ||
* Минорные функции, не меняющие цикл раунда | * Минорные функции, не меняющие цикл раунда | ||
* Любые задачи с публичного таск-борда | * Любые задачи с публичного таск-борда | ||
* Новые штаммы Чужих | * Новые штаммы Чужих | ||
* Новые технологии для Чужих и Морпехов | * Новые технологии для Чужих и Морпехов | ||
* Удаление устаревших механик из Bay12 (например, wizard backend, лазерные глаза и пр.) | * Удаление устаревших механик из Bay12 (например, wizard backend, лазерные глаза и пр.) | ||
* Уникальные loadout-наборы для выживших на конкретных картах | * Уникальные loadout-наборы для выживших на конкретных картах | ||
* Исправления багов и устранение несоответствий | * Исправления багов и устранение несоответствий | ||
== Что мы не хотим == | |||
Итак, есть вещи, механики, балансные правки, проекты и прочее, к чему мы не хотим, чтобы игроки-вкладчики прикасались. Некоторые из этих областей зарезервированы исключительно за командой разработчиков. | Итак, есть вещи, механики, балансные правки, проекты и прочее, к чему мы не хотим, чтобы игроки-вкладчики прикасались. Некоторые из этих областей зарезервированы исключительно за командой разработчиков. | ||
| Строка 198: | Строка 194: | ||
'''Рекомендуемое ПО:''' | '''Рекомендуемое ПО:''' | ||
* | * [https://github.com/SpaiR/StrongDMM StrongDMM], рекомендованный инструмент для картографирования CM13. | ||
* | * [https://fastdmm2.ss13.io/ FastDMM2], веб-редактор карт. Преемник оригинального FastDMM. | ||
== Ресурсы по программированию == | == Ресурсы по программированию == | ||
| Строка 207: | Строка 203: | ||
'''Рекомендуемое ПО:''' | '''Рекомендуемое ПО:''' | ||
* | * [https://code.visualstudio.com/ Visual Studio Code]. IDE, которая поддерживает плагины для языка Byond и интеграцию с Git. Рекомендуется для использования. | ||
=== Git === | === Git === | ||
| Строка 213: | Строка 209: | ||
'''Рекомендуемое ПО:''' | '''Рекомендуемое ПО:''' | ||
* | * [https://git-scm.com/ Git], то, что вам нужно для начала. Убедитесь, что вы установили его до всего остального. | ||
= Как хостить частный сервер = | = Как хостить частный сервер = | ||
== Изменение прав доступа == | |||
==Изменение прав доступа== | |||
* Перейдите в Config, затем в Examples и скопируйте все файлы. | * Перейдите в Config, затем в Examples и скопируйте все файлы. | ||
* Вернитесь в Config и вставьте эти файлы, откройте admins.txt. | * Вернитесь в Config и вставьте эти файлы, откройте admins.txt. | ||
| Строка 225: | Строка 220: | ||
* Сохраните. | * Сохраните. | ||
==Компиляция сервера== | == Компиляция сервера == | ||
* Перейдите в папку Bin (в папке с кодом CM, который вы только что скачали), дважды щелкните на server.cmd. | * Перейдите в папку Bin (в папке с кодом CM, который вы только что скачали), дважды щелкните на server.cmd. | ||
* Пока он работает, откройте командную строку (cmd) через меню «Пуск» в Windows. | * Пока он работает, откройте командную строку (cmd) через меню «Пуск» в Windows. | ||
Текущая версия от 02:43, 9 октября 2025
Официальный репозиторий CM-SS13 и наш репозиторий BandaMarines
Вклад в разработку игры
Руководство
С чего начать
Мы рады, что вы решили внести вклад в проект CM13 или хотя бы бегло ознакомиться с этим руководством. Прежде чем приступить к реализации своих идей — кодингу, маппингу, спрайтам и участию в каналах для контрибьюторов — вам следует, как минимум, ознакомиться с разделом с руководящими принципами, а также просмотреть разделы «Чего мы хотим» и «Чего мы не хотим». В самом конце этого краткого руководства вы найдёте ссылки на различные гайды и обучающие материалы, которые мы рекомендуем. Не все они были написаны специально для CM13 или даже для BYOND в целом, но материалы, созданные их авторами, являются чрезвычайно ценными.
CM13 — лишь набросок идеи
CM13 по сути представляет собой две разные игры, объединённые в одну: умеренно стратегический командный deathmatch в повседневном геймплее (хотя, если быть точнее, это скорее смесь иммерсивного симулятора и экшен-ролевой игры), с сопутствующей вселенной и сеттингом, создающими основу для ролевого взаимодействия. Мы приглашаем контрибьюторов развивать игру и расширять её, опираясь на свой собственный опыт. Сила CM13 и SS13 в целом — в разнообразии идей и видений, которыми обмениваются игроки, участники и разработчики. Несмотря на наличие общего курса развития, задаваемого командой разработчиков, именно игроки поддерживают сервер живым — и именно из числа игроков выходят большинство разработчиков.
Одна из отличительных черт CM13 — это внимание к мелочам и взаимодействие между системами. Возможность смазать оружие перед высадкой, переключение режимов у M56B Smartgun, выбор эволюционного штамма у Чужих — крупные и мелкие детали делают игру интересной как для новичков, так и для ветеранов.
Именно здесь вы, как контрибьютор, можете проявить себя — будь то работа над устаревшими спрайтами из Bay12, добавление Nightmare-вставок на карты Big Red и LV, или реализация новых функций, формирующих уникальные истории каждого раунда. Каждый коммит имеет значение. Однако, в вопросах общего направления проекта последнее слово всегда остаётся за командой разработчиков. Вклад в проект — это простой путь к присоединению к этой команде. Если вы хотите оказывать большее влияние на развитие игры, мы рекомендуем сначала освоиться с нашим кодом и системами, а затем присоединиться.
Руководящие принципы
Эти принципы — не строгие правила, а скорее советы, призванные помочь вам и другим контрибьюторам создать продуктивную и комфортную атмосферу совместной работы. Помните: каждый, даже самый талантливый программист или художник, когда-то писал свой первый "Hello world" или делал первый мазок кистью. Среди нас будут новички и те, кто работает инженерами в реальной жизни.
Никогда не делайте предположений о других участниках и не забывайте оставаться скромными, помогая друг другу. Большое эго — кратчайший путь к плохой репутации. У всех свои идеи, и то, что чья-то идея отличается от вашей, не делает её плохой.
С другой стороны, не все идеи хороши, как и код, карты или спрайты. И это нормально! Ваша задача как контрибьютора (а наша как разработчиков) — помогать тем, кто в этом нуждается, и работать вместе, чтобы становиться лучше, а не критиковать и унижать.
Если сомневаетесь — спрашивайте. Принимайте конструктивную критику и прислушивайтесь к мейнтейнерам и разработчикам.
Что мы хотим
Как уже было сказано: «Команда разработчиков и её решения имеют приоритет над мнением игроков и контрибьюторов». Это применимо и к тому, что вероятнее всего будет принято через Merge Request. Список ниже — не полный, но он даёт общее представление о том, что хотелось бы видеть в пулл-реквестах.
Спрайты
- Замена устаревших спрайтов из Bay12
- Уникальные дизайны подвидов чужих (для тех, у кого их ещё нет)
- Альтернативные наборы спрайтов для чужих
- Сортировка иконок по образцу оружия
- Новая косметическая экипировка, например, шлемы
- Уникальные тайлсеты для карт, которые их не имеют
- Уникальные объекты и детали для конкретных карт
- Уникальная форма и экипировка колонистов для конкретных карт
- Исправления багов и устранение несоответствий
Карты
- Nightmare-вставки
- Улучшения размещения объектов (например, расширение узких коридоров и путей, загромождённых объектами)
- Дополнительные декоративные элементы (если они не ухудшают производительность)
- Удаление тупиков и бесполезных зон на картах
- Новые карты*
- Исправления багов и устранение несоответствий
Примечание о новых картах
Полноценные новые карты часто становятся отправной точкой для вступления в мапперский отдел команды разработчиков. Однако создание новой карты — это проект на несколько месяцев, требующий вовлечённости и постоянной связи с опытными мапперами. Маппинг, как и спрайтинг или программирование, — навык, который требует практики. Первая карта, скорее всего, получится не самой удачной. Карты — живые объекты, которые не бывают окончательно завершёнными. Не привязывайтесь к изначальному дизайну и будьте готовы переработать половину проекта по ходу дела.
Кодинг
- Улучшения качества жизни, не влияющие на баланс, но повышающие удобство
- Оптимизация и уменьшение задержек
- Рефакторинг серверных систем ради стабильности и производительности
- Минорные функции, не меняющие цикл раунда
- Любые задачи с публичного таск-борда
- Новые штаммы Чужих
- Новые технологии для Чужих и Морпехов
- Удаление устаревших механик из Bay12 (например, wizard backend, лазерные глаза и пр.)
- Уникальные loadout-наборы для выживших на конкретных картах
- Исправления багов и устранение несоответствий
Что мы не хотим
Итак, есть вещи, механики, балансные правки, проекты и прочее, к чему мы не хотим, чтобы игроки-вкладчики прикасались. Некоторые из этих областей зарезервированы исключительно за командой разработчиков.
Хотя этот список не является исчерпывающим, он даст вам хорошее представление о том, чего следует избегать при работе с нашей кодовой базой. Если вы создадите MR, затрагивающий один или несколько пунктов из списка, это не означает автоматический отказ (иногда такие изменения могут быть полезными), но, скорее всего, это серьёзно уменьшит шанс того, что ваш MR будет принят и слит. Так что не говорите, что вас не предупреждали!
Спрайты
Мы уже обеспечены художниками и спрайтами оружия.
- Перерисовка недавно обновлённого контента, такого как униформа, оружие, броня морпехов
- Перерисовка, радикально меняющая стиль предмета/объекта в духе CM (например, превращение формы штаб-офицера в парадную форму)
- Изменения донатных предметов (исключение — для самих доноров, вносящих изменения в свои вещи)
- Изменения, затрагивающие крупные фракции без предварительного одобрения (если его нет — рассчитывайте на отказ)
- Юморные спрайты (если только они не выдающегося качества)
- Изменения спрайтов обвесов/модулей
- Тактикульное снаряжение. Мы — ретро-футуризм, или кассетный панк, если угодно
Карты
- Nightmare-вставки с нелепым лутом или неуместные (например, снег на LV)
- Существенные изменения проходов или ремапы "наследуемых" карт
- Крупные ремапы без предварительного согласования
- Детализация, ухудшающая пространство арены или мешающая геймплею
Код
- Изменения только чисел баланса (урон, отдача, здоровье, броня, скорость и т.д.), без другого наполнения (без согласования)
- Удаление не-наследуемых механик
- Крупные переработки игрового процесса без согласования
- Добавление новых фракций, антагонистов или рас
- Ещё раз — никаких новых рас, даже арктуриан
- Новые кассеты
- Удаление техники
- Новые профессии/роли
- Изменения в вайтлист-ролях
- Удаление профессий/ролей
- Глобальные переработки профессий/ролей
Помните: списки выше не являются исчерпывающими. Вы можете предложить MR с изменением, попадающим под категорию "чего мы не хотим", и он всё равно может быть принят. Просто шанс крайне низкий.
Ресурсы и ссылки
Ресурсы по спрайтингу
Визуальный и тематический гайд по стилю спрайтов CM-SS13, подготовленный нашей спрайт-командой. Всё ещё в разработке, будет выложен позже.
- Onimille — уроки по пиксель-арту на Tumblr.
- Сервер спрайтеров SS13 — дискорд для художников SS13.
Рекомендуемое ПО:
- Krita — бесплатный редактор с открытым исходным кодом
- FireAlpaca — мощная бесплатная программа для рисования
- GIMP — альтернатива Photoshop
- Aseprite — специализированный редактор для пиксель-арта. Настоятельно рекомендуется
- Photoshop — индустриальный стандарт
- Photopea — браузерный аналог Photoshop, полностью бесплатен
- Paint.NET — ещё один бесплатный редактор изображений, широко используется
Визуальные подсказки по спрайтингу CM-SS13
Спрайтинг предметов 
|
Спрайтинг униформы 
Ресурсы по картографии
CM13 Mapping Crash Course. Всеобъемлющее руководство по StrongDMM и концепциям картографирования в CM13. Независимо от уровня подготовки, начните с этого.
Включает справочник по горячим клавишам и меню StrongDMM. Его можно найти в формате PDF в канале #codebase-announcements на нашем Discord-сервере.
Distress Signal Map Essentials. Более конкретный список того, что составляет основу карт Distress Signal.
Рекомендуемое ПО:
- StrongDMM, рекомендованный инструмент для картографирования CM13.
- FastDMM2, веб-редактор карт. Преемник оригинального FastDMM.
Ресурсы по программированию
Козерог-сервер для кодеров. Если вам нужна помощь с хостингом сервера или пониманием кода и логики Byond, это Discord-сервер, который стоит посетить.
Документация по Dream Maker. Справочник по всем вопросам, связанным с кодированием для Dream Maker.
Рекомендуемое ПО:
- Visual Studio Code. IDE, которая поддерживает плагины для языка Byond и интеграцию с Git. Рекомендуется для использования.
Git
- Guide to Git - Начало работы с современным развитием и первыми коммитами Git.
Рекомендуемое ПО:
- Git, то, что вам нужно для начала. Убедитесь, что вы установили его до всего остального.
Как хостить частный сервер
Изменение прав доступа
- Перейдите в Config, затем в Examples и скопируйте все файлы.
- Вернитесь в Config и вставьте эти файлы, откройте admins.txt.
- Под примером добавьте свой ckey и желаемый ранг.
Пример: CKEY - Host
- Сохраните.
Компиляция сервера
- Перейдите в папку Bin (в папке с кодом CM, который вы только что скачали), дважды щелкните на server.cmd.
- Пока он работает, откройте командную строку (cmd) через меню «Пуск» в Windows.
- Введите ipconfig/all в командной строке и найдите свой ipv4 (Ваш IP) и скопируйте его.
- Откройте Byond и перейдите в верхний правый угол, затем нажмите на значок шестеренки и выберите "open location".
- В верхней строке введите свой IP и добавьте :1337 в конце. После этого нажмите "add" и дайте название в нижней строке всплывающего окна. Теперь у вас есть закладка для частного сервера. После этого можно нажать OK, и программа сразу попытается подключиться к закладке. Если соединение не установлено, скорее всего server.cmd всё ещё работает и создаёт пути и прочее.
- Готово!
Чтобы снова использовать закладку для частного сервера, просто откройте location и выберите ранее созданную закладку.



