Workflow

From Thrive Developer Wiki
Revision as of 11:31, 30 May 2023 by Hhyyrylainen (talk | contribs) (Reworked the page to have the room for multiple workflows)
Jump to navigation Jump to search

This page describes the workflows we use in Thrive development. Separate workflows are given for the design / ideas and for concrete implementation phases for clarity.

Ideas / Game Design

Thrive's idea workflow is our usual system for how ideas go from creation to implementation. For anyone new to the project, this explains the roles of our different websites and how they fit together to form the development cycle of making the game.


Obviously different situations will need different workflows, but sticking to this system for as many tasks as possible should give the best results.

Forum

We create and discuss new ideas on the forum. This could be something dev related, like "We need to replace the nuclei with disco balls", or it could be something organization related, like "We need to update the wiki page on the Microbe Editor." Sometimes though, ideas are obvious (like bugfixes) in which case we can skip this step.

Casual discussion on the developer Discord usually happens first, but when some important points are reached or a conclusion needs to be drawn, the discussion should be moved to the forums. This is because Discord information disappears really quickly and isn't visible to anyone outside the Discord.

GitHub

When we complete the discussion for a game feature or wiki change or something on the forums, we then create an issue on GitHub to track that task we want done. We can assign it to a person, give it tags to categorize it, assign it to a release version, link the forum discussion that spawned the idea, etc. Using the above example, we'd create an issue called "Replace nuclei with disco balls" or "Update wiki page on Microbe Editor".

There are yet other repositories for the ThriveDevCenter and website related issues.

All issues need to be put on our main planning board. Graphics related tasks additionally need to be put on the specific graphics tasks board.

Wiki

Once an issue is complete, we create or update a wiki page for it if necessary. Using the above examples, in the first case we'd update the page on Organelles (or whichever page it is) and change all references of nucleus to disco ball. In the second case we wouldn't need to add or update a wiki page because the issue literally was to update a wiki page.

Discord

Discord then fills in the gaps between all these steps by being a quick and easy communication platform for questions like "Hey can you give me access to our Twitter page?". And also serves as a place to casually discuss about new ideas before discussing them on the forums.

Discord can also be used to initially brainstorm an idea before posting on the forums or as a quick way to get feedback on changes.