Beginner FAQ

Contributing to Goob StationSpace Station 14

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

Go to Issues in Goob Station

  • Choose 1 or more of the following labels in Labels
  1. No C# to work on issues that require no code.
  2. uh nothing else right now this needs work

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 Goob Station code:

How does code get transferred between my computer & the main Goob-Station 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. Goob Station Github

How the code is transferred.

  1. Goob Station Github => Local Github. You make a fork of the Goob Station repository so you have a Local Github copy of the code yourself.
  2. Local Github <==> Goob Station Github. Do NOT make your own code changes on your master branch.
  • Your master branch needs to be linked to the master branch of Goob Station.
  • Every time the Goob Station 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 GS14 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. Goob Station Github => Local Github. Sync Fork

image

  • For your code to work, it must fit into the code in Goob Station Github.
  • You will have to keep your Local Github code up-to-date with the Goob Station 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 <==> Goob Station 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 Goob Station 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 Goob Station

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 GS14 Developer?

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

Researching Goob Station

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 Goob Station 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 Goob Station 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