How to Help: Difference between revisions

From Thrive Developer Wiki
Jump to navigation Jump to search
(→‎Demonstrate Your Skills: added some info on what to showcase in an application to the team for each area)
 
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Are you interested in helping Thrive, but you don’t have any skills in game development? Don’t worry, you can still get involved! Keep reading to see how. (If do you have game development skills, see the [http://thrivegame.wikidot.com/new-member-guidance Getting Started] page)
[[Category:Thrive]]
Are you interested in helping Thrive, but you don’t have any skills in game development? Or your application wasn't accepted? Don’t worry, you can still get involved! Keep reading to see how. (If you do have game development skills, see the [[Getting Started]] page)
 
== Demonstrate Your Skills ==
 
'''I'm not sure if I have the skills to help Thrive!'''
 
If you don't feel ready to apply to the team yet, are unsure, or you applied but were not accepted, do not despair! If you hang around the community, and show signs of promise in some skillset that could help with development, we are always watching our community members. If we see something and are impressed, we may directly reach out to you and request that you join the team. Below are the different ways that we look for people in our community to recruit to the team. And also what we'd like to see if you apply.
 
Otherwise, if you want to start by learning more skills, skip to the next section.
 
=== Programming ===
 
Even if you are not on the Development Team, since the game is open-source you can always download the source code yourself. You can then implement features and submit them to us for review. If we like it, we'll accept your feature and you'll have a guaranteed spot on the team if you decide to apply. For some pull request authors we will also reach out to ask if you are interested in joining the team.
 
* Our codebase is here: https://github.com/Revolutionary-Games/Thrive
* We have setup instructions here: https://github.com/Revolutionary-Games/Thrive/blob/master/doc/setup_instructions.md#git-with-lfs
 
Below you can find all the features we want to add to the game:
 
* We have a list of running issues here. If you pick one up and submit a branch to us with it implemented we would definitely be interested in recruiting you: https://github.com/Revolutionary-Games/Thrive/issues
* We also discuss future features here: https://forum.revolutionarygamesstudio.com/
* We also have many of our future concepts for the game listed on this wiki! So feel free to pick any of these and try adding them in on your local branch.
 
You can also experiment with modding! If you create one or more quality mods for the game, that's another way to catch our attention and get an offer to join the Programming team.
 
For joining as a programmer we also accept game code samples (for example on GitHub) that you've worked on or if you have been part of making released games you can show off those as portfolio pieces.
 
=== Graphics ===
 
If we see you posting quality art to the community, we'll reach out to recruit you to the team. This could be anything from posting concept art, to posting specific models or textures.
 
* You can see some of our tasks we have scheduled for the Graphics team here: https://github.com/orgs/Revolutionary-Games/projects/4
* Or check our issues list here and filter by "2D_art" or "modelling": https://github.com/Revolutionary-Games/Thrive/issues
* You can check discussions on the dev forum about graphics specifically here: https://forum.revolutionarygamesstudio.com/c/graphics/16
 
And same as above, you can also experiment with modding! If you create one or more quality graphical mods for the game, that's another way to catch our attention and get an offer to join the Graphics team.
 
For joining the team as a graphics artist, we mostly look at portfolios of existing work, which doesn't necessarily have to be on games but should be applicable to the role you are applying for (3D models, 2D art, textures, vector art).
 
=== Sound ===
 
If we see you posting music or SFX to the community, we'll reach out to recruit you to the team. This can either be anything you are inspired to create, or something that we specifically are scheduled to create.
 
* You can see what sound related tasks we are working on here: https://github.com/Revolutionary-Games/Thrive/issues?q=is%3Aopen+is%3Aissue+label%3Asound
* You can see discussions on the dev forum about what sound and music we need here: https://forum.revolutionarygamesstudio.com/c/sound/18
 
And same as above, you can also experiment with modding! If you create one or more quality sound mods for the game, that's another way to catch our attention and get an offer to join the Sound team.
 
For joining as a composer or a sound effect artist, we mostly look at portfolios of previous work that shows you can do the kind of sound that Thrive needs.
 
=== Theory / Game Design ===
 
This one is a little trickier to showcase to us. If we notice that you are consistently showing a very good understanding of the game, and/or that you really understand the scientific concepts that inspire the game, we will reach out to recruit you to the Theory or Game Design teams. A good way to showcase this is by participating in discussions in the community about the current game, giving feedback, offering thought out suggestions, etc.
 
Again, mods can showcase your skills well. If you create one or more quality mods that really improve the game by changing or rebalancing the game design, that's another way to catch our attention and get an offer to join the Theory or Design team.
 
For this team we really want to see actual game designs made. For example you can take part in game jams or work on small games yourself that explore some interesting design concepts.
 
=== Outreach / Project Management ===
 
There are a few ways we look for people to fill out the Outreach and Project Management teams:
 
* If we see you making well-made videos about the game, we will reach out to have you help produce trailers, development videos, and other promotional video media.
* If we see you are a knowledgeable and mature community member, we will offer you a position to help moderate our community on one of our many platforms. If you consistently demonstrate a good aptitude as a moderator one our platforms, we'll offer you to join our Outreach team, since you will have a good understanding of the community and be able to help us write announcements, development updates, and other communications to the community.
* If we see you making consistent and high quality updates and additions to the fan wiki, we will reach out and ask you to join the Project Management team to help manage our Development Wiki. The development wiki is critical to storing all the knowledge of our project, heck, you are reading a guide written on it right now.
 
=== Testing ===
 
If you consistently provide quality feedback to release candidates and official releases of the game, and you offer us meaningful suggestions and feedback as to how to improve the game, we may reach out and offer you a role as a tester on the Development Team.
 
Note that for testing being available regularly to try out small changes of the game to ensure we don't accidentally add major bugs is a key point.


== Learning Skills ==
== Learning Skills ==


 
'''I don't have the skills to help Thrive, but I want to learn!'''
'''I want to gain the skills to help Thrive!'''


Perfect! We’re glad to hear that you are interested in learning skills to help contribute towards the game. Many of these skills are also useful to know anyways and can help you in ways outside of Thrive.
Perfect! We’re glad to hear that you are interested in learning skills to help contribute towards the game. Many of these skills are also useful to know anyways and can help you in ways outside of Thrive.
Line 12: Line 82:
Programming is a tough skill to pick up but a useful one to have. Make sure you have realistic expectations before you start. You are not going to become a computer whiz overnight. It takes a while of learning and practicing, but once you've gained a good grasp it's a skill that is crucial in helping to implement the many concepts we have for Thrive into reality. Don’t be afraid to start small. Take lessons, practice what you learn, start with simple projects, and work your way up from there. It’s how all the greatest programmers did it as well. The following are some good places to check out:
Programming is a tough skill to pick up but a useful one to have. Make sure you have realistic expectations before you start. You are not going to become a computer whiz overnight. It takes a while of learning and practicing, but once you've gained a good grasp it's a skill that is crucial in helping to implement the many concepts we have for Thrive into reality. Don’t be afraid to start small. Take lessons, practice what you learn, start with simple projects, and work your way up from there. It’s how all the greatest programmers did it as well. The following are some good places to check out:


* https://www.codecademy.com/  - A free online website that teaches a variety of languages.
* https://www.codecademy.com/  - A free online website that teaches a variety of languages. Their C# tutorial is [https://www.codecademy.com/learn/learn-c-sharp here].
* https://code.org/  - Another free online website that teaches a variety of languages.
* https://code.org/  - Another free online website that teaches a variety of languages.
* https://www.freecodecamp.org/ - An actually free and open source website that teaches programming with web technologies.
* https://www.freecodecamp.org/ - An actually free and open source website that teaches programming with web technologies.
Line 18: Line 88:
* https://www.reddit.com/r/learnprogramming/  - A helpful online community with many resources and discussion on learning how to code.
* https://www.reddit.com/r/learnprogramming/  - A helpful online community with many resources and discussion on learning how to code.
* Visit your local library! You will likely find loads of books on programming and computer science and taking the time to read them can teach you a lot!
* Visit your local library! You will likely find loads of books on programming and computer science and taking the time to read them can teach you a lot!
Here are some C# specific learning resources:
* https://www.learncs.org/


Here are a few C++ specific learning resources:
Here are a few C++ specific learning resources:
Line 24: Line 98:
* http://www.cplusplus.com/doc/tutorial/
* http://www.cplusplus.com/doc/tutorial/
* https://www.cprogramming.com/
* https://www.cprogramming.com/
* Here is a video tutorial series by Cherno: https://www.youtube.com/watch?v=18c3MTX0PK0&list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb&index=1


And the following are tutorials specifically aimed at video game programming:
And the following are tutorials specifically aimed at video game programming:
Line 60: Line 135:
=== Outreach ===
=== Outreach ===


Description on outreach (typically looking for people with experience in outreach such as prominent someone to manage social media or to create trailers or promotional videos or work with marketing and advertising).
Outreach consists on letting people know about the project. This includes managing social media accounts, advertising, making devblogs and promotional videos.
[Links probably not applicable?]


=== Project Management ===
=== Project Management ===


What we’re looking for here is a little bit more loosely defined. It basically boils down to people with experience working on projects before and task management and how we can improve the organization and workflow of our team. This also extends to documentation and managing of the wiki and how that can be maintained and improved.
What we’re looking for here is a little bit more loosely defined. It basically boils down to people with experience working on projects before and task management and how we can improve the organization and workflow of our team. This also extends to documentation and managing of the wiki and how that can be maintained and improved.
[Links probably not applicable?]


== Other Approaches ==
== Other Approaches ==
Line 74: Line 146:


No worries, there are still plenty of ways you can help out. Here are a few to choose from.
No worries, there are still plenty of ways you can help out. Here are a few to choose from.
=== Translating ===
* We have a translations site up for the game where people can contribute translations: https://translate.revolutionarygamesstudio.com/engage/thrive/


=== Mods ===
=== Mods ===
Line 95: Line 171:
* Start or join discussions on the reddit and fan forums about theory and design and gameplay.
* Start or join discussions on the reddit and fan forums about theory and design and gameplay.
* Play the game and find things that can be criticized or improved.
* Play the game and find things that can be criticized or improved.
* Post a suggestion on the official [https://suggestions.revolutionarygamesstudio.com/ suggestions page.]


=== Media ===
=== Media ===
Line 103: Line 180:


* Make and share comics and memes and parodies of the game.
* Make and share comics and memes and parodies of the game.
=== Financial contribution ===
We have a [https://www.patreon.com/thrivegame Patreon] where you can support us. Thrive is also available on [https://store.steampowered.com/app/1779200/Thrive/ Steam] and [https://revolutionarygames.itch.io/thrive itch.io]. Also see this page: [[Money and Thrive]]. We might also be currently accepting [https://revolutionarygamesstudio.com/donate/ donations].


=== Literally Anything ===
=== Literally Anything ===

Latest revision as of 12:32, 22 August 2023

Are you interested in helping Thrive, but you don’t have any skills in game development? Or your application wasn't accepted? Don’t worry, you can still get involved! Keep reading to see how. (If you do have game development skills, see the Getting Started page)

Demonstrate Your Skills

I'm not sure if I have the skills to help Thrive!

If you don't feel ready to apply to the team yet, are unsure, or you applied but were not accepted, do not despair! If you hang around the community, and show signs of promise in some skillset that could help with development, we are always watching our community members. If we see something and are impressed, we may directly reach out to you and request that you join the team. Below are the different ways that we look for people in our community to recruit to the team. And also what we'd like to see if you apply.

Otherwise, if you want to start by learning more skills, skip to the next section.

Programming

Even if you are not on the Development Team, since the game is open-source you can always download the source code yourself. You can then implement features and submit them to us for review. If we like it, we'll accept your feature and you'll have a guaranteed spot on the team if you decide to apply. For some pull request authors we will also reach out to ask if you are interested in joining the team.

Below you can find all the features we want to add to the game:

You can also experiment with modding! If you create one or more quality mods for the game, that's another way to catch our attention and get an offer to join the Programming team.

For joining as a programmer we also accept game code samples (for example on GitHub) that you've worked on or if you have been part of making released games you can show off those as portfolio pieces.

Graphics

If we see you posting quality art to the community, we'll reach out to recruit you to the team. This could be anything from posting concept art, to posting specific models or textures.

And same as above, you can also experiment with modding! If you create one or more quality graphical mods for the game, that's another way to catch our attention and get an offer to join the Graphics team.

For joining the team as a graphics artist, we mostly look at portfolios of existing work, which doesn't necessarily have to be on games but should be applicable to the role you are applying for (3D models, 2D art, textures, vector art).

Sound

If we see you posting music or SFX to the community, we'll reach out to recruit you to the team. This can either be anything you are inspired to create, or something that we specifically are scheduled to create.

And same as above, you can also experiment with modding! If you create one or more quality sound mods for the game, that's another way to catch our attention and get an offer to join the Sound team.

For joining as a composer or a sound effect artist, we mostly look at portfolios of previous work that shows you can do the kind of sound that Thrive needs.

Theory / Game Design

This one is a little trickier to showcase to us. If we notice that you are consistently showing a very good understanding of the game, and/or that you really understand the scientific concepts that inspire the game, we will reach out to recruit you to the Theory or Game Design teams. A good way to showcase this is by participating in discussions in the community about the current game, giving feedback, offering thought out suggestions, etc.

Again, mods can showcase your skills well. If you create one or more quality mods that really improve the game by changing or rebalancing the game design, that's another way to catch our attention and get an offer to join the Theory or Design team.

For this team we really want to see actual game designs made. For example you can take part in game jams or work on small games yourself that explore some interesting design concepts.

Outreach / Project Management

There are a few ways we look for people to fill out the Outreach and Project Management teams:

  • If we see you making well-made videos about the game, we will reach out to have you help produce trailers, development videos, and other promotional video media.
  • If we see you are a knowledgeable and mature community member, we will offer you a position to help moderate our community on one of our many platforms. If you consistently demonstrate a good aptitude as a moderator one our platforms, we'll offer you to join our Outreach team, since you will have a good understanding of the community and be able to help us write announcements, development updates, and other communications to the community.
  • If we see you making consistent and high quality updates and additions to the fan wiki, we will reach out and ask you to join the Project Management team to help manage our Development Wiki. The development wiki is critical to storing all the knowledge of our project, heck, you are reading a guide written on it right now.

Testing

If you consistently provide quality feedback to release candidates and official releases of the game, and you offer us meaningful suggestions and feedback as to how to improve the game, we may reach out and offer you a role as a tester on the Development Team.

Note that for testing being available regularly to try out small changes of the game to ensure we don't accidentally add major bugs is a key point.

Learning Skills

I don't have the skills to help Thrive, but I want to learn!

Perfect! We’re glad to hear that you are interested in learning skills to help contribute towards the game. Many of these skills are also useful to know anyways and can help you in ways outside of Thrive.

Programming

Programming is a tough skill to pick up but a useful one to have. Make sure you have realistic expectations before you start. You are not going to become a computer whiz overnight. It takes a while of learning and practicing, but once you've gained a good grasp it's a skill that is crucial in helping to implement the many concepts we have for Thrive into reality. Don’t be afraid to start small. Take lessons, practice what you learn, start with simple projects, and work your way up from there. It’s how all the greatest programmers did it as well. The following are some good places to check out:

Here are some C# specific learning resources:

Here are a few C++ specific learning resources:

And the following are tutorials specifically aimed at video game programming:

Graphics

Digital graphics and design is another very useful skill to have even outside of working on Thrive. Graphics covers a variety of skillsets: animation, modelling, rigging, textures, sketching, UI design, and more! anything visual can be classified in this category. As any other skill, learning these take time and a lot of practice and there are a ton of tutorials out there for those willing to learn. Here are some useful ones:

Theory / Game Design

This is more a loose and overlapping category. We’re not really looking for standalone “game designers”, but rather that developers with skills in the other fields have some understanding of the concepts behind the stage they are working. This helps them better implement features while balancing fun with realism. This involves understanding of mathematics, demography, anthropology, history, economics, sociology, technology, biology, chemistry, ecology, geology, physics, astronomy, or other associated fields relevant to the stage being worked on. It especially helps to have holistic and interdisciplinary knowledge of these fields to be able to help design holistic systems to handle the broad scope of the game. Of course there are exceptions to this, such as music composers who don't really need any background knowledge other than the ability to make good music.

The following are some good sites containing research for the game:

Sound

Sound concerns both in-game music and sound effects. People with experience creating music using software or recording/producing sound effects are welcome.

Here are useful music production/composition resources:

Outreach

Outreach consists on letting people know about the project. This includes managing social media accounts, advertising, making devblogs and promotional videos.

Project Management

What we’re looking for here is a little bit more loosely defined. It basically boils down to people with experience working on projects before and task management and how we can improve the organization and workflow of our team. This also extends to documentation and managing of the wiki and how that can be maintained and improved.

Other Approaches

I don’t want to/have time to learn the skills for game development!

No worries, there are still plenty of ways you can help out. Here are a few to choose from.

Translating

Mods

  • Try looking at the files of the game and make small tweaks or changes. Did it work? Made a change that was not half bad? Work your way up from there! Post your mods to the forums!

Graphics

  • Produce concept art or promotional art:
    • Concept art: Art to help developers imagine what a feature would look like in-game.
    • Promotional art: Art to help build excitement about the game and showcase its awesomeness to other people.
  • Post the art to social media outlets or the fan forums to stimulate activity and interest.

Writing

  • Contribute to the fan wiki. Help fill out wiki pages on the current state of the game as well as posting pictures and videos.

Ideas

  • Join in on brainstorming and crowd sourced idea threads (found on fan forums or reddit).
  • Start or join discussions on the reddit and fan forums about theory and design and gameplay.
  • Play the game and find things that can be criticized or improved.
  • Post a suggestion on the official suggestions page.

Media

  • Make videos playing the game and post them on youtube and reddit and other sites. These can be: Tutorials, walkthroughs, let’s plays, gameplay showcases, funny montages, etc.

Humour

  • Make and share comics and memes and parodies of the game.

Financial contribution

We have a Patreon where you can support us. Thrive is also available on Steam and itch.io. Also see this page: Money and Thrive. We might also be currently accepting donations.

Literally Anything

  • Read the dev or fan wiki and look for inconsistencies or areas that lack content. Not only will this help us find small mistakes that are otherwise hard to spot, it gives you a chance to familiarize yourself with the current concept!

If all goes well, practicing these will help you develop the skills to one day join the development!