Beginner FAQ

Contributing to Space Station 14

I want to start contributing to Space Station 14 but I do not know where to start.

Go to Issues in Space Station 14

  • Choose 1 or more of the following labels in Labels
  1. Beginner Friendly
  2. Difficulty: 1 - Easy
  3. No C# to work on issues that require no code.

After you have chosen an issue to fix, follow the steps here to start making and testing code changes on your own copy of the Space Station 14 code:

How does code get transferred between my computer & the main Space-Station-14 repository?

Make a new branch so you are not working on the master branch!

This is important to know so you do not accidentally delete all of your code changes when you update your copy of Space Station 14.

3 Code Locations to know:

  1. Your Computer code (Your copy)
  2. Your Github Repository (Local Github)
  3. Space Station 14 Github

How the code is transferred.

  1. Space Station 14 Github => Local Github. You make a fork of the Space Station 14 repository so you have a Local Github copy of the code yourself.
  2. Local Github <==> Space Station 14 Github. Do NOT make your own code changes on your master branch.
  • Your master branch needs to be linked to the master branch of Space Station 14.
  • Every time Space Station 14 Github updates its code, your master branch on your Local Github repository will need to update its code as well so it stays in sync.
  1. Local Github => Your copy. Follow Setting up a Development Environment & Git for the SS14 Developer
  2. Your copy. Make a new branch from your code editor where you will make code changes.
  3. Your copy. Test your changes in gameplay.
  4. Your copy => Local Github. When your code is ready, make a commit to your Github repository from your non-master branch.
  5. Space Station 14 Github => Local Github. Sync Fork

image

  • For your code to work, it must fit into the code in Space Station 14 Github.
  • You will have to keep your Local Github code up-to-date with the Space Station 14 Github.
  1. Local Github => Your copy Pull the updated code from your Local Github repository to your copy.

image

You may need to merge changes if you are trying to change files that got changed from the update. image

  1. Your copy => Local Github. Commit your changes.
  2. Local Github <==> Space Station 14 Github. Make a pull request.
  • If you make code changes from your master branch & make a pull request from your master branch, both your code changes and your pull request are at risk of self-destruction.
    • The only way to keep your code up-to-date with the actual Space Station 14 code is to sync the code.
    • This will require you to discard your commits.
    • Once you discard your commits, your code changes will be deleted & your pull request will be closed. Which is not fun.
  1. Wait for Code Reviewers to let you know if your code is good to go for merging.

I have an idea for a new feature or to fix an issue that I have not seen on Github.

  1. Try playing the game first so you know what features are already implemented.
  • “Feature bloat” occurs if you make a feature that already exists.
    • For example, allowing a specific action to toggle by pressing “4” when it already can be toggled by pressing “z”.
  1. Propose the Feature before you start making it. Feature Proposals
  2. Open a New Issue on Space Station 14: New Issue

Coding Space Station 14

I cannot play a local copy of the game because not all of the projects are loading.

Have you completed step 2.3 of Git for the SS14 Developer?

Make sure you use the command cd to navigate to your space-station-14 repository before running RUN_THIS.py. image

Researching Space Station 14

I am looking for text that I saw in gameplay but I am not sure where to look.

  1. Lots of the in-game text can be found in XAML files & YML files. You can search through XAML files to find the parts of the user interface that you want to work on. image
  2. If YML files are not showing up, you can find them on Github by going to the Space Station 14 repository & searching for .yml files.
  3. Use your code editor to search for the exact text (for text that is not based on Project Fluent). For example, Visual Studio lets you use Ctrl + Shift + F to find certain text in all of the files.

image

  1. Not all text shows up exactly as written because Space Station 14 uses Project Fluent to make text that automatically translates to different languages.
  • Project Fluent
    • This means that some text shows up as Loc.GetString("id-that-references-fluent-file")

image

  1. If you want to find where a method is referenced throughout the code, you can click on the method name on Github to find where the method is referenced.

image

Subpages