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.