Getting Started

From Thrive Developer Wiki
Jump to navigation Jump to search

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 Main Page. 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 listed in the following sections.

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. If you are going to apply to join the team please include samples or previous projects where you have demonstrated your skills.

While age is not a major factor in if we decide you are a good addition to the team, you must be at least 13 years old to apply. Once you've identified an area you could maybe help in please check this page on how you can show off your skills when applying.

3D Modeler

Skill with almost any major tool will do, and we’ll eventually need particularly talented artists able to create models which look good even under heavy deformation. We use Godot engine, so familiarity with exporting to it is a plus.

Animator

Linking with the above, the ability to animate 3D models will be incredibly useful, and even those who specialize in other areas will be helpful in creating more features of the game, such as updated opening cutscenes or GUI animations. Accompanying knowledge of the code required for dynamic animations (for instance changing between two animation types seamlessly) will help considerably when rendered organisms are involved.

Texture Artist

Also linking with the modeler role, we also have a need for texture artists to make good looking textures for the models.

Programmer

We use C# with Godot engine. The game source code is in our GitHub repository. You should especially take a look at the setup instructions.

If you aren't up to actually helping with the code, we're also on the lookout for code assistants who can help others understand the code and troubleshoot setup problems.

We are also looking for a developer specializing in Mac software, we do make Mac builds currently but they have much less work put into them and verification to make sure they work well.

If you are unsure if you have the required skills to work on the game, you can take a look at the issues on Github that are tagged easy or good first issue. If you can solve one issue, with a good solution that takes good programming practices into account, you are skilled enough to join the team. If you successfully make a pull request (PR) to the Thrive repo that is something more than like a small documentation fix, you can use that as the sample work to get on the team.

Graphics Programmer

We need programmers who are familiar with creating shaders and writing graphics code. A huge plus would be if you have experience with Godot and a lot of patience in helping us make Thrive look the best it can.

Theorist

Anyone with a proven knowledge in a scientific or mathematical pursuit can help draft game mechanics and concepts, but for the moment we are especially interested in biology and simulation experts. Note, we are not simply looking for people with a lot of knowledge in their field, but those with enough math or programming skill to discuss the nitty-gritty details of designing complicated systems.

Game Tester

As the volume of changes to Thrive increase, we are in need of more people to verify that the changes work as intended without breaking anything. If you are good at breaking games and can report the steps to do so, this is a suitable role for you. We are not looking for someone to just play the game a little bit, instead we want someone who can play game builds from pull requests, quickly determining that the pull request does as intended and doesn't break anything. For this role you should either have previous game testing knowledge or be familiar with what game testing entails.

Web Developer

Though we already have a website built on WordPress, talented web designers and developers are welcome to help improve it.

We also have the launcher which uses web technologies, where a web developer would be useful addition to the team. And of course we have the DevCenter as well, which can be improved.

Vector Artist

The in-game GUI is for the moment largely a placeholder, and a huge amount of work is in order for later stages’ interfaces.



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:

Concept Artist

A concept artist will need to create many variations on an idea to gauge how it will appear in-game. Pretty pictures of hypothetical future gameplay are all well and good, but are not the sort of art we would need someone on the team for. Much of this sort of art has already been created in the project's past, and although we all love The Disturbance, it isn't particularly useful in the grand scheme of things.

For this role we are looking for significant artistic skills and an impressive portfolio. Even if we don't accept you to the team, you can always do fan art and post on our forums.

Musician

Though the Microbe Stage soundtrack is complete, we are still looking for composers to lend their skills to later stages and scenarios. Recording live instruments is also an eventual goal where possible, though we regret to inform prospective composers that unfortunately we do not have access to a symphony orchestra at this time.

Outreach Manager

Outreach managers can help us present ourselves to the world by writing up news articles for the website, posting to social media and interacting with fans or potential developers. We’re looking for people who can plan our outreach efforts (how can we spread the word about Thrive in order to grow the community).

To apply for this role you should have experience doing PR / outreach professionally or in a big enough open source project, in order to show you know how to perform this role.

Promoter

Without professional advertising, we largely rely on word-of-mouth to spread our message, though dedicated and skilled promoters are welcome. This includes the ability to work with fan outreach via social media. Even if you don’t have particular skill in this or any other area, we will still appreciate the promotion of Thrive elsewhere on the internet — you’re welcome to take information from this website, and would prefer if links were directed here rather than our forums or other place.

To apply for this role you should have excellent written English and be able to write interesting text. It's not absolutely required to have experience doing outreach but that would be a big plus. Overall, we are looking for people who we think can skilfully spread the word about Thrive, to get new community members, get new developers, get news sites talking about us, and get let's players to play the game.

Project Manager

We are always open to suggestions on restructuring the way we work, and those with particular organisational skill — especially experience managing other open-source projects — will be valuable in managing members with other talents effectively. Most of our development takes place on our forums in conjunction with GitHub, while team leads converse through various messaging platforms.

Sound Effect Engineer

We have basic sound effects currently in place, but in future we’ll need a whole lot more, and we could always use better ones.

Technical Writer

Our Wiki constantly requires updating, and those who can take ideas and present them in an orderly manner for reference or implementation in future are invaluable in keeping it relevant. Specialist knowledge of the concepts in question is advantageous but not required, so long as you are able to gather and present information effectively.

Game Designer

Thrive has need of people with skills in game design. Thrive does not need more ideas; we have ten years of those. Instead, the role of the game design team is to work with the features we have, and integrate them into a fun and engaging whole, iterating on designs to make them better, listening to feedback from players and filtering that to actionable design changes, and working in a team where differing opinions needs to be considered. For this role we require previous experience in doing game design. Having been a game designer on a finished and shipped game would be ideal, but we will also consider experience in designing hobby projects or game jam games as potential qualifications. If you just have a new thing you want to see in Thrive, and can do the work to add it, join as a developer or make a pull request to make it happen. If you can't do it yourself but want to talk to other people that would get excited about it, make a post on our community forums.

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.

For up to date team and member lists see this page.

This page or section contains outdated information. This often happens when plans are changed after something has been written.

Theory Team

Wiki page: Theory Team

Types of work: Prototyping, gameplay design, mathematics

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

Wiki page: Programming Team

Types of work: Gameplay programming, background system programming, interface programming, graphics programming, etc.

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)

  • Microbe stage gameplay code
  • Agent system
  • New AI
  • GUI helper systems

Graphics Team

Wiki page: Graphics Team

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

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

Wiki page: Outreach Team

Types of work: Marketing, social media, fan interaction

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

Wiki page: Sound Team

Types of work: Music, sound effects

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

Wiki page: Project Management Team

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

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 developer Discord 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. Samples of your work should be included We want to make sure you’re set to be able to help with development. Before applying, please sign our CLA.

For how to apply exactly see this page

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. After a pull request is accepted, you can apply to join the team and use that pull request as a work sample to be accepted.

Second, 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

This is how we work on the game in a concrete way. Understanding the workflow will remove a lot of confusion.

See the dedicated page: 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 to read something about the game please read What is Thrive
  • 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.