The Contribution Workflow
Every time you want to add or change something in the game, follow these steps. This is the standard workflow used by professional and indie developers worldwide. Once you know it, it becomes second nature.
-
Pull the Latest Changes
Section titled “Pull the Latest Changes”Before you start making changes, always download the latest version of the project. Other people may have made changes since you last worked on it, and you want to always build on top of the most current version.
-
Create a Branch
Section titled “Create a Branch”Make a personal branch, or copy, of the project to work in. This keeps your changes completely separate from everyone else’s until they’re reviewed and ready to be merged.
Name your branch something descriptive to the changes, like
alex/add-jump-soundorsam/fix-wall-collision. Using your name as a prefix makes it easy for club leaders to see whose branch is whose. -
Make Your Changes
Section titled “Make Your Changes”Write your code, add your assets, fix your bug, whatever you’re working on. You can work as you normally would, nothing you do here affects anyone else until you choose to.
-
Commit Your Work
Section titled “Commit Your Work”Once you’ve hit a good stopping point, take a snapshot of your changes with a commit. A commit is a saved checkpoint in your code with a message describing what you changed.
Try to commit often rather than saving everything as one giant commit at the end. Small, focused commits are much easier to review.
Good commit messages:
Add walking sound effect to player controllerFix player clipping through thin wallsIncrease NPC interaction range
Bad commit messages:
stuffchanged thingsasdfjkl
-
Push to GitHub
Section titled “Push to GitHub”Upload your branch to GitHub so it exists online and others can see it. Nothing has been added to the main game yet, this just makes your branch visible on GitHub to the other club members.
-
Open a Pull Request
Section titled “Open a Pull Request”On the main project’s GitHub page, formally request for your changes to be reviewed and added to the main game. You’ll write a short title and description explaining what you made and why.
A good PR description answers:
- What did you add or change?
- Why does the game need this?
- Is there anything the reviewer should pay attention to?
-
Wait for Review
Section titled “Wait for Review”A club president will look at your PR. They might:
- Approve it - great, you’re almost done!
- Request changes - they’ll leave comments explaining what to tweak. This is completely normal and not a criticism of your work, it’s just how collaborative development works.
If changes are requested, make them on your branch and push a commit. The PR will update automatically.
-
Get Merged!
Section titled “Get Merged!”Once approved, your contribution gets merged into the main game. Your work is now part of the project for everyone.