FAQ для новичков

Вклад в Space Station 14

Я хочу начать вносить вклад в Space Station 14, но не знаю, с чего начать.

Перейдите к задачам (Issues) в Space Station 14

  • Выберите 1 или несколько из следующих меток в разделе Labels
  1. Beginner Friendly
  2. Difficulty: 3 - Low
  3. No C# — для работы над задачами, не требующими кода.

После того как вы выбрали задачу для исправления, выполните шаги ниже, чтобы начать вносить и тестировать изменения кода в своей собственной копии кода Space Station 14:

  • Настройка среды разработки
    • Это позволит вам запустить локальную копию игры, чтобы увидеть свои изменения в игровом процессе.
  • Git для разработчика SS14
    • Это позволит вам работать над кодом, который можно перенести с вашего компьютера в свой репозиторий Github и в конечном итоге в Space Station 14.

Как код переносится между моим компьютером и основным репозиторием Space-Station-14?

Создайте новую ветку, чтобы не работать в ветке master!

Это важно знать, чтобы случайно не удалить все свои изменения кода при обновлении своей копии Space Station 14.

3 места, где находится код, которые нужно знать:

  1. Код на вашем компьютере (ваша копия)
  2. Ваш репозиторий Github (локальный Github)
  3. Github Space Station 14

Как переносится код.

  1. Github Space Station 14 => локальный Github. Вы делаете форк репозитория Space Station 14, чтобы у вас была собственная копия кода в локальном Github.
  2. Локальный Github <==> Github Space Station 14. НЕ вносите собственные изменения кода в ветке master.
  • Ваша ветка master должна быть связана с веткой master Space Station 14.
  • Каждый раз, когда Github Space Station 14 обновляет свой код, ваша ветка master в локальном репозитории Github тоже должна обновлять свой код, чтобы оставаться синхронизированной.
  1. Локальный Github => ваша копия. Следуйте инструкциям Настройка среды разработки и Git для разработчика SS14
  2. Ваша копия. Создайте новую ветку в своём редакторе кода, где будете вносить изменения.
  3. Ваша копия. Протестируйте свои изменения в игровом процессе.
  4. Ваша копия => локальный Github. Когда код готов, сделайте коммит в свой репозиторий Github из ветки, отличной от master.
  5. Github Space Station 14 => локальный Github. Sync Fork

syncfork.png

  • Чтобы ваш код работал, он должен вписываться в код в Github Space Station 14.
  • Вам придётся поддерживать код в локальном Github в актуальном состоянии относительно Github Space Station 14.
  1. Локальный Github => ваша копия Вытяните обновлённый код из локального репозитория Github в свою копию.

syncfork.png

Возможно, вам придётся слить изменения, если вы пытаетесь изменить файлы, которые изменились при обновлении. mergechanges.png

  1. Ваша копия => локальный Github. Зафиксируйте свои изменения.
  2. Локальный Github <==> Github Space Station 14. Создайте pull request.
  • Если вы вносите изменения кода из ветки master и создаёте pull request из ветки master, и ваши изменения, и ваш pull request рискуют самоуничтожиться.
    • Единственный способ поддерживать ваш код в актуальном состоянии относительно реального кода Space Station 14 — синхронизировать код.
    • Это потребует от вас отбросить свои коммиты.
    • Как только вы отбросите коммиты, ваши изменения кода будут удалены, а ваш pull request будет закрыт. Что невесело.
  1. Дождитесь, пока рецензенты кода сообщат, годится ли ваш код для слияния.

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

  1. Сначала попробуйте поиграть в игру, чтобы знать, какие функции уже реализованы.
  • «Раздувание функций» происходит, если вы делаете функцию, которая уже существует.
    • Например, возможность переключать определённое действие нажатием «4», когда его уже можно переключать нажатием «z».
  1. Предложите функцию перед тем, как начать её делать. Предложения функций
  2. Откройте новую задачу в Space Station 14: New Issue

Программирование Space Station 14

Я не могу запустить локальную копию игры, потому что загружаются не все проекты.

Вы выполнили шаг 2.3 из Git для разработчика SS14?

Убедитесь, что используете команду cd, чтобы перейти в свой репозиторий space-station-14, прежде чем запускать RUN_THIS.py. cdcommand.png

Изучение Space Station 14

Я ищу текст, который видел в игре, но не уверен, где его искать.

  1. Много внутриигрового текста можно найти в XAML- и YML-файлах. Вы можете искать по XAML-файлам, чтобы найти части пользовательского интерфейса, над которыми хотите работать. xamlandymlsearch.png
  2. Если YML-файлы не отображаются, их можно найти на Github, перейдя в репозиторий Space Station 14 и поискав файлы .yml.
  3. Используйте свой редактор кода для поиска точного текста (для текста, не основанного на Project Fluent). Например, Visual Studio позволяет использовать Ctrl + Shift + F, чтобы найти определённый текст во всех файлах.

codeeditor.png

  1. Не весь текст отображается точно так, как написан, потому что Space Station 14 использует Project Fluent для создания текста, который автоматически переводится на разные языки.
  • Project Fluent
    • Это означает, что некоторый текст отображается как Loc.GetString("id-that-references-fluent-file")

projectfluent.png

  1. Если вы хотите найти, где метод используется во всём коде, можно нажать на имя метода на Github, чтобы найти места его использования.

methodname.png

Subpages