Dev team requirements


(DoctorSupernova) #1

Can someone expain what are the minimum requirements to join the developement team?


#2

The requirements should be here:

But it might be a bit time consuming to try to find them through that so I’ll post this direct link as well:
http://thrivegame.wikidot.com/new-member-guidance#toc0

So the requirements depends on which team you want to join. But ultimately we don’t have a checklist for approving applications, instead we just have some core members discuss the application and either accept it or not.

Edit: there’s also this page for help on gaining the needed skills: http://thrivegame.wikidot.com/how-to-help


("Belgium isotope" "Achievement hunter" "King of badcalls") #3
Hello everyone. I wanted to ask about what do I need to know to be able to join the theory team. I’ve searched on the topic, but there’s many things I need to learn such as algorithms (procedural generation, perlin noise) and probably biochemistry.
I’d be very interested to participate in the project, but I really don’t know where to start off despite what I read on the wiki.
For instance, where should I look (should I learn biochemistry, biology & etc.? or should I only learn the needed algorithms for the project?) and how should I start (should I begin to create games with premade game engines such as Godot or should I create my own game engine for my first game?) …

(tjwhale) #4

Hi @blackjacksike

Good question. I think the theory team is actually one of the hardest to get on because it’s sort of for people who have strong technical skills but aren’t programmers. Because anyone who is a programmer should be a programmer. So for example if someone applied who had a PhD in Biology then they could be really helpful to the team but maybe they can’t do art, music or programming so that’s what the theory team is for.

If you want to start making games in general my suggestion would be to follow some tutorials to make things like pong, tetris, snake etc. Just start with the classics and build up, it does take a while to get good at making games but it’s quite rewarding. Once you’ve got proficient then it might be possible to program for Thrive.

If you want to contribute to Thrive without learning programming there’s a couple of other things we need. So you can download Blender for free and make models to go into the game, we need organelle models which are <500 vertices so should be relatively straightforward to make. There’s lots of tutorials on how to use Blender on youtube.

There’s also sound stuff, we currently are thinking about refreshing some of the sound effects and that’s something that could be done with a microphone and a little bit of editing software.

Though with making models and sound effects they need to be quite good so it might take a while to learn how to get them to a high level.

I hope that’s helpful, feel free to as any other questions you might have.


("Belgium isotope" "Achievement hunter" "King of badcalls") #5

Before I begin to learn making games and programming, is there any specific algorithm I need to know about if I join the Programmers?


(He who abuses the search function) #6

I think if you’ve learned C++ the best thing you could do is just explore the code and find out how it works yourself. (Maybe it would be useful to create something small first though, like a simple platformer or something, to learn the ropes outside of a training program)


#7

I’m not the best person to explain this, but I’ll give it a shot…

Many people who want to learn programming or are beginners ask questions like “which language should I use?”, “what is the BEST framework?” or “what are the most important algorithms / control structures / patterns I should learn?” And the answer to all those questions is that, it doesn’t matter. You can start with anything and later learn new things as you go on. There are some languages that are easier to work with, which I recommend starting out with in order to keep up your interest and keep programming.

The most important thing is to get started. Just start with the first tutorial on https://www.codecademy.com/ or pick some other programming learning resource, and stick with it. Once you have learned to think like a programmer it is very easy to pick up most new languages.

And to answer your literal question more directly, I’ll just say that everything is an algorithm and there isn’t any magical one that is more important the others. Once you have programming skills you should be able to by just reading the thrive code understand the general gist of what is going on.

This is also good advice. Once you know the programming basics you should start a simple project you can finish and gain experience with. It might be a bit rough to try to understand enough of the Thrive code to make changes if you have not worked on any software projects before.

Edit: I personally like https://www.freecodecamp.org/ more than codecademy as that is completely free and open source. I just grabbed the first link from our learning skills wiki page and didn’t notice it wasn’t what I meant to link.


Programming
("Belgium isotope" "Achievement hunter" "King of badcalls") #8
My school session is nearing its conclusion. When it will reach its conclusion, I’m starting to learn C++ and then I’m creating games (from classic to 2D/3D game engines) just to practice myself. Is it ok if I’m showing you my games when I’m done, so that you can give me some advice?

(tjwhale) #9

Yeah sounds cool. My suggestion would be to start with the simplest possible games, like pong, snake, asteroids, tertis, pac man etc.

One good way of sharing them is to make videos and put them on youtube. Good luck!


("Belgium isotope" "Achievement hunter" "King of badcalls") #10

Shouldn’t I be sharing the code as well?


(Δф - Delta Phi) #11

When you’re tryin’a establish yourself, showing the code is always a good move, opening yourself up for constructive criticism.


(tjwhale) #12

Yeah sharing code is fine.

One thing people don’t like too much is if you just send them a random .exe file and ask them to run it, that can be a bit scary.

So yeah sharing source code is good, just sending pre compiled files. Or getting your game to run in a browser is great because then people can play it for low risk. Also having github repos is a good way of showing off what you can do.


#13

It is harder to get people to look at your code instead of shiny screenshots, though.


("Belgium isotope" "Achievement hunter" "King of badcalls") #14
After making little classic games, should I try to create a 2D/3D game engine? In other words, after making classics, should I make a more advanced game or would it be too much? Oh, by the way, I have 7 days of school left, so I shall be free on next thursday at last!

#15

The advice I’ve heard is that if you want to make games then you should make games instead of an engine.

I haven’t followed this advice as I like working on engine type stuff.


(tjwhale) #16

I agree with the advice in general that it’s better to make games than engines because it’s just more fun to work on game stuff.

I also agree that it’s great to follow your passion. So if there’s something you enjoy doing then following that is a really good idea.

In general it’s better to do a sequence of small projects rather than a big one. In six months time it would be better to have 4 finished small games you can show off to people than one massive one that’s half done, however much better it would be. Finishing stuff is really hard and a great skill to practice.


("Belgium isotope" "Achievement hunter" "King of badcalls") #17
Ok. Then, I’ll make little games instead. Also, about my learning/creating path, I have many options. One of them is :
  1. Creating : Godot 2D Game with Visual Script
  2. Learning : C++ on tutorialspoint
  3. Creating : Godot 2D Game with C++
  4. Creating : 2D Game from scratch with C++
  5. Creating : Godot 3D Game with C++
  6. Creating : 3D Game from scratch with C++
The only problem with this path is that it is very long and I really want to have the needed programming skills for the Thrive project before the second week of January (this is when I get back to school). Is there a faster and easier learning path? I mean, should I use a pre-existing game engine to learn or can I still learn from making games from scratch? Also, I really need to learn the skills before January (on second week), for my parents don’t like me being on the computer, especially in school time (surprising they still want to restrict me even if I’m now a young adult). That’s why I want to learn fast.

I also thought about this path :

  1. Learning : C++ on tutorialspoint
  2. Creating : 2D Game from scratch with C++
  3. Creating : 3D Game from scratch with C++
  4. Analyzing Thrive code //woops, I forgot to talk about this step
Also, for 2D/3D models, I can still download them on the Internet or just ask someone who’s good at virtual art.

So, guys, how should I learn the skills in game programming?


#18

If you don’t have any experience in programming I’m doubtful you can learn more than the basics in a few months.

I suggest that after going through basic C++ tutorials (this will take quite a bit of time if you don’t have any programming experience) a bit you should work on a 2D game until you feel comfortable with trying to dive into the Thrive code. You can learn a lot with working on one project and improving it further. But the most important thing is to get started. If you are struggling with C++ tutorials you might want to try python or JavaScript tutorials. After you learn one programming language it is much, much easier to learn C++ and may actually take less time in total than trying to start with C++.


("Belgium isotope" "Achievement hunter" "King of badcalls") #19
It all depends on the rythm. For instance, if I rush for learning C++ in a couple of days, I’m sure that I can finish the tutorial before January.

But I’ve read the beginning of the tutorial on C++, and it doesn’t look so complicated for now. What will be more complicated will be to apply the knowledge.

In brief, according to this thread :

  1. Learn Programming/C++
  2. Work on ONE 2D game/Make some little classic games (Pong, Snake, Pac-Man, Tetris, etc.)
  3. Sharing my work on this thread by showing screenshots/videos
  4. Sharing my code on Github (optional)

#20

You’ll want to start following the tutorial along instead of reading it. You’ll then discover what it actually is like. And you can start actually learning because programming is very much about splitting down problems and googling for solutions to tiny problems (except for coding interviews at big companies, which in my opinion are a total mess). So to actually learn to program you have to program a lot.