New Member introduction


Hi, my name is Matheus and I’m a computer science student.
I really enjoy the concept and ideas of this game, so I would like to help in anyways I could.
I’m not sure where my space in the project is so I need you guys to help me finding it. I’m proficient in C/C++(especially C), java(especially data structures), python and web design (html, css, javascript and also some security on sql, xss).
I would love to do something related to graphics, but I have very limited knowledge of it. So I think programming would be the best fit for me, I don’t really know what you guys need for programming or what languages you use, so this is a little confusing so far.
I have downloaded and played the 3.01 version and I also checked the github page.



Hey Matheus, welcome to the project!

This is a good thing to read first:

If you’re want to know what programming tasks we have, look at our issue tracker:

Find a task that you’re interested in and it’s all yours.

If you’ve got questions feel free to ask!


Hey Matheus,

Great to see you here! I think Thrive is a great place to learn new things, so even if you think you have a limited knowledge in graphics, I say do it. I know that when I started, I had absolutely no idea what shaders were and how to code them, and now that’s really the only thing I’m doing.

We use C++ for the heavy engine work, and lua for scripting. I think the best way to get your feet wet is writing some lua code. It’s fairly simple and takes no time to compile, as opposed to c++ where every single time I press build, I have to wait for 2 and a half minutes. In fact, if you don’t know what to do, I know an important but fairly simple graphics-related task for you.

Anyway, if you have any questions or comments, feel free to ask any of us, and we’ll do your best to help you out.


Hi Matheus,

Welcome to the team! Hope you really like it here. Feel free to ask anything any time and we’ll help you. Getting into the project is the hardest bit and once you’re going it’s really rewarding.

I’m on the Theory team which basically means programmer support. So if there’s something you want to build and you want help with any mathematics or science stuff for it ask me and I’ll try and sort that out for you.

Best thing to do is start with something small and play around with the game a bit. Good luck :smile:


Alright guys thanks a lot, I will have a more detailed look at the codes on github and start doing something small in Lua or C++, it has been 2 years since I don’t touch C++ so I definitely have a lot to caught back and learn.

TheCreator, please let me know what is the graphics related task you have for me, I would be glad to help if can!

Thank you!


Okay, so for the next release I want to create a new organelle called, “Eyespot Apparatus”. In some types of algae and photosynthetic bacteria, this organelle gives the cell the ability to detect the amount of light falling on it. Then, by moving around in an erratic manner and comparing the current light quantity to the previous one, the cell is able to move up the light gradient, eventually stopping in the brightest spot.

In Thrive, this organelle should give the player the ability to see where light is. In code, we would simply multiply the background color by a Perlin noise texture with a pretty low frequency, so there would be black spots with absolutely no light falling on them, and these would slowly transition to spots with full sunlight so that we will be able to see the background. The reason the player would want this organelle is that chloroplasts need light to produce a lot of glucose, but the production rate is dependent on the amount of light shining, with 0 glu/hr in darkness and 1 glu/hr in full light. When the player originally gets the chloroplast through endosymbiosis, he wouldn’t know where exactly to go to maximize output, but with the eyespot apparatus, he would know.

Does this all make sense?

To start, you should probably begin by simply creating a button in the editor that says “Eyespot”, next you would move on to getting input when you click it and then putting down the actual organelle (which for now will use a miniature nucleus model). Once this is done, you could begin to implement what I described above. Okay? Most of the code will be duplicating existing parts (since we already have a bunch of buttons). In particular, you should check out the microbe_editor_hud.lua and MicrobeEditor.layout in the assets repo. This shouldn’t require building the core and you can just download 0.3.1 and get into it quickly.

I think this is a great way to start out—it is fairly simple, but also important. Plus, you’ll get a feel for how everything is structured.

Good luck!


Yes, it makes sense, sounds very interesting. I think it will be a good challenge, but with time I can do it.

I will ask you questions as I run into trouble anyways, well thanks for the challenge.

So the amount of light would not be visible for the player, right? Otherwise, the player wouldn’t need the eyespot. I mean I get that you are changing the background texture by a low frequency, I’m just wondering if that would be any visible for the player.


We’ll probably only make it noticeable with the sensing organelle, but that can come later. Maybe even make the clarity of the light map scale with how much the organelle has been improved.

Even if we leave the light as always visible to the player, the AI will still have a use for it (though that is of course yet another ball game).

Oh yeah, and welcome!


Okay, I am working on the editor, I made a eyespotButton, created a “clicked function” for it and called it, all based on the other organelles code. But, when I try to run the game with the altered microbe_editor the game crashes. I’m thinking about ways to fix it.

I also have a question, does Lua run on kali linux?

Should this subject be discussed in another topic or slack? or here is fine.



Anywhere is fine. Slack makes it more likely we’ll notice your message quickly, but on here there’s the benefit of having your posts saved until the end of time.

So, you have an eyespot button added to the microbe editor layout file, you have a click handler that probably doesn’t do anything, and the editor gui initialization code hooks up the click handler, but the game crashes?


If you run Thrive with cmd (cd ../Thrive/build/dist/bin and then Thrive), it should prevent your console from closing and should display the error message with the line number. From my own experience, it’s probably just a missing “then” or “end”.