Getting Started

Welcome to Thrive!

It appears you have decided to join in the exciting task of Thrive's development, and if so you are in the right place. If you aren’t here as a developer, or you just want to learn more about the game, you should start at our homepage. If you do want to help, but lack any development skills, check out how to help.

Below we will run you through the essential information about the project, as well as a list of the different development teams and how you can get started. Navigate through the links to see the work currently being done by each team and how you can help.

What Are We Looking For?


So which skills can be useful on the Thrive development team? Though any skill set could conceivably be useful, at the moment we are particularly interested in anyone who has experience in any of these roles (click each entry for an overview of the role):

As well as the list above, we are also on the lookout for those capable in any of the following roles, though be aware that fewer are needed and potential team members will need to be particularly talented to stand out:

Unfortunately, those with only ideas and no ability to implement them or construct them in a way which would allow implementation are likely to be turned away. Excessive “idea guys” have slowed down the development of the project in the past, and we have made considerable efforts to orient the team more towards people who are able to develop the game in some capacity.

Development Teams


Now that you’re ready, here are the different development teams of the project. We'll give you some quick descriptions here, then follow the links to any of the teams you are interested in and see what they have to offer.

Theory Team

Team leads: Seregon and tjwhale

Types of work: Prototyping, gameplay design, mathematics

Wiki page: Theory Team

The Theory Team is tasked with turning all our grand ideas into a consistent, coherent, and practical design for implementation. Some of the current milestones of the theory team include:

  • Bacteria mechanics
  • Agent system
  • Overhauling the combat system
  • CPA implementation

Programming Team

Team leads: hhyyrrylainen

Types of work: Scripting, engine programming, interface programming, graphics programming, etc.

Wiki page: Programming Team

The Programming Team is responsible for turning all that game design into working game features. Some of the features the programming team will be working on for the next few releases include:
(see the separate wiki page for more up to date information)

  • Bacteria
  • Options menu
  • Agent system
  • Reimplementing features in the new engine
  • New UI
  • New AI

Graphics Team

Team lead: Narotiza

Types of work: Modelling, animation, texturing, concept art, UI design, etc.

Wiki page: Graphics Team

Without some nice models and textures, functioning game features are not that rewarding. The Graphics Team is here to remedy that problem. Some upcoming tasks of the graphics team include:

  • Bacteria models
  • Fluid visual effects
  • UI elements
  • Some updated and resized organelle models (such as flagella)
  • Loading screens
  • Bloom and blur visuals
  • Models for upcoming organelles (such as the pilus)

Outreach Team

Team lead: StealthStyle L

Types of work: Marketing, social media, fan interaction

Wiki page: Outreach Team

Having a polished, fleshed out game is all fine and dandy, but without the Outreach Team how will people find out about it? The Outreach Team has several objectives that are pretty consistently on the plate:

  • Update and manage social media outlets
  • Write Devblogs
  • Make trailers, gameplay footage, promotional art/videos
  • Advertise to other sites

Sound Team

Team lead: Oliveriver

Types of work: Music, sound effects

Wiki page: Sound Team

Even then, the game just won't feel right or immerse you well enough without realistic sound effects and beautiful music to pull you in, courtesy of the Sound Team. The tasks of the Sound Team are always pretty much the same:

  • Music tracks
  • New or updated sound effects (for anything from reproducing to clicking menu buttons)

Project Management Team

Team lead: NickTheNick

Types of work: Updating/maintaining the Wiki, moderating, organizing the project

Wiki page: Project Management Team

The Project Management Team is meant to ensure that a group of volunteers working from around the world keeps their efforts focused and efficient. This team is a bit more challenging to get into. Moderator status is something only given to experienced users already established in the project. However, we are looking for people who have experience in project management who can help us improve our project's structure, or people able to update/maintain the Wiki.

Application Process


Thrive is open source, so you can start contributing to the project right now! However, if you want to join the team and get invites to the development forums and the Slack group, just send us an email telling us about yourself and what you can do, as well as any past project experiences you might have had. Any samples of your work would be great. We just want to make sure you’re set to be able to help with development.

Here are the steps to the application process:

  • Email us with the information listed on our Application page. Required categories are username and personal summary. Guidance on writing a personal summary can be found below.
  • Wait a few days as the team internally decides whether to accept your application. We will reply to all applications via email.
  • If successful, you will be sent invitations to our development forums and possibly our Slack group, dependent on your intended role. If you fail to receive a forum invitation, check your spam folder. Let us know if you’re still having problems.
  • Redeem your forum invitation and create a profile. Post an introduction thread in this category so the team can get to know who you are.

Personal Summary

In the personal summary section of your application, tell us what skills you possess relevant to game development and, if possible, provide some sample work. It’s nothing like a CV or a university application. We don’t care if you don’t have any accolades for your work and we don’t care which country you’re from. As long as you can prove you aren’t just an “ideas person” and you’re competent at what you do, you'll be fine.

Other Methods

There are some exceptions to our application system.

First, anyone can put forward a commit to our GitHub repository. If you’re a programmer who wants to change one small thing about the code without going through the hassle of sending an application, create a pull request. One of our programmers will look at this and, if it does what it’s supposed to, will accept it into the code. Only our main programmers can contribute to the code directly without being approved.

Second, we allow applications for moderators in the Meta section of our community forums. Although, unless you’re a proven expert at organizing online communities, this is generally intended for those who’ve already been part of the community for some time.

Thirdly, if someone is active on the community forums or elsewhere and produces fan work of high quality or has insightful comments on discussions going on within the game's development, we may invite them ourselves.

Workflow


We use three main sites for working on the game.

1. The development forum is where we start ideas and decide on concepts. This is typically where a feature starts.

2. GitHub is where planned features are created as tasks and assigned to developers to track their completion.

3. This wiki is where we document features that have been implemented and concept for future features.

4. Discord is our chat program that we use to fill in the gaps between these steps by being a quick and easy communication platform for quick questions and discussions.

For a more detailed explanation see here:
http://thrivegame.wikidot.com/workflow

General Advice


Here is some advice before you get started:

  • DON'T try to read the whole forum and DON'T try to read and understand the whole codebase. This is the biggest trap we see people falling into early on when trying to get started. We want you to find a place for yourself in the project that works for you and that will probably take some time. If you're finding it overwhelming that's okay. Just ask for some help. We want to help you settle in. If you stick to what you enjoy and don’t overburden yourself, you will fill in on the rest of the project anyways.
  • DO download and play the game as is. It’s a fantastic way to see what Thrive is, have some fun, and maybe even get some inspiration for ways to improve the game. What do you like about it and what do you not? Do you get the basic idea of what we’re aiming at for the microbe stage? What aspects of the game would you like to work on?
  • If you are a programmer have a go at setting up a development build using the instructions on the GitHub page. This may take you some time. That's fine. Try for half an hour and if you fail then come back to it another time.
  • Read the forums "as they are updated". So see what discussions are currently happening. If you don't understand something then ask. It's great for us if you ask questions and we are all happy to answer them. Questions are great because they help us flesh out what we are doing, explaining something helps us understand it so you are helping by asking questions.
  • Find a little thing that you would like to work on. Especially if you are a programmer play around with the game for a bit and find a tiny thing and try to improve it. This will require digging into the codebase. Don't try to understand it all, just find out what you need to know to change that little thing. Then when that is done get your change checked by one of the team leads. Then find another little thing and keep doing this. That's the way to get into the project. It is better to give an hour a week but to stick around that to spend all of one day failing to do something and quitting.
  • Don't pressurize yourself with Thrive. There is no minimum commitment. If you want to work on it today then that's great, if you don't then that's fine too. Don't turn it into another stress inside a stressful life. Since this is a completely money-free project with no set team structure, you are in no way obligated to do anything. Life and work take precedence at all times, and you’re entitled to all the downtime you wish. We won’t stop you leaving the project for good if you feel like it.
  • However, be aware that sometimes the work of others will be dependent on your own. If someone is waiting for you to finish a feature so they can get to implementing their section and you disappear without warning, while you’re completely within your rights to do so, it can pose a problem for the project as a whole. If you’re not expecting to be able to finish what you’re working on, please let us know so we can work around it.
  • There are a lot of different reasons to work on Thrive. Firstly we all want a finished and fun game. Alongside this everyone on the team is motivated by different things. For example it's a great space to experiment with new ideas and to learn new things. There's a whole load of interesting problems to work on and that in itself can be really valuable. The project won't be finished any time soon and so it's important to find out what you can get out of it while we work on it and how it can help you grow your skillset.
  • Good luck! If the project isn't for you then it's fine to leave, don't worry about it. We hope you can find a contribution you enjoy to make and really get something out of working on Thrive like the rest of us do. We hope you'll stick around because there's a lot to be gained by being here and we hope that you will gain skills through making this game which means your time here is of great value to you.

Our full list of rules and guidelines can be found here.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License