I’m returning to goal-driven development. Experimenting with an aimless, careening development path provided some benefits: I’ve made tweaks and implemented systems I might not have done otherwise. But, predictably, having a goal and driving towards it is a more productive strategy.
So with that in mind, these are the goals I’ve identified and intend to complete (or already have completed) prior to releasing Species 0.10.0.
Temperature System Overhaul
Check. I still have some balance work and polishing to do (P. specium can’t actually survive to reproduce in the current development build, which is a slight problem) but the foundation is solid.
Also, I was reminded that water feels colder than air because it has a higher thermal conductivity, and not because the water is actually colder. You can thank Klei’s Oxygen Not Included for that. So… I need to make some adjustments to water’s effect on temperature, and to a creatures ability to ‘read’ temperatures in places they want to go, in order to take that difference into account.
There’s still a few edge cases, and they are perhaps going to need a bit more in the way of foresight. “Ooh, there’s food in the water! I’ll just go and- OH GOD THE WATERS FREEZING GETMEOUT GETMEOUT GETMEOU- Ooh, there’s food in the water!”
Although the aforementioned water thermal conductivity change may have an impact on this, so I should look at changing that first.
First things first, I need to crush your hopes and dreams. This isn’t the “evolving plants” overhaul I have planned: that’s still on the backburner for now and considered a low priority.
But some changes are necessary to the current placeholder system, including changes to the way grazing the ground cover works (already implemented and I’m quite happy with them, will discuss in the next blog post), as well as extensive improvements to the mechanisms vegetation uses to grow and re-grow.
The goal is to make vegetation a more consistent feature of the biomes it appears in. This will mean faster growing tree’s, and we’ll be taking away a creatures ability to kill a tree by exhausting it: it will instead enter an inedible state until it regrows.
Additionally, I’m looking at the possibility of foliage/fruit/nuts that fall to the ground, to ensure the larger ‘feature tree’s’ (palm tree’s and pines) are still a relevant part of the environment for creatures that cannot reach their crown.
Oh, and I’m also looking to kill the ‘tree lag’ that comes as a result of only updating vegetation objects once every few seconds. I have a much smoother system in mind.
Mutiselect & God Tool improvements
I spent a fair bit of time implementing a system that allows the game to display multiple selection circles (it uses the same rendering technique as the fake shadows).
Should probably put that to use! What I have planned is…
1. The ability to drag a box around a group of organisms to select them. Or you can click on a single organism and then click a “species” button to select every organism in it’s species. Or you can select trees. The dialog in the bottom right will display relevant information about the current selection, whether that be a creature, group, species, tree or group of tree’s. This should all be far more user friendly than the ‘modes’ we have currently.
2. The ability to heal, feed, move and irradiate entire groups at once. I’ve never been particularly fond of these functions (in the long term I feel like they should be done indirectly, by giving orders to nearby rovers), but while the game remains the sandboxiest of sandboxes I consider them a necessary evil, so I might as well at least make them easy and fun to use.
3. “Suggestion”. The ability to right-click on an object and draw the attention of all your selected creatures to it. So if you right-click on a plant, they will approach it and may start eating it. Similarly, if you right-click on a fellow creature, they might attack it, mate with it, or simply examine it. And if you right-click on the ground, they’ll go there if they don’t have anything better to do.
The is idea is that this isn’t a means of controlling the creatures: you are simply directing their attention. Further, any creature that is distracted by other needs might well ignore your suggestions, or interpret them in a way you’re not expecting. A species you bred in the nursary will be significantly more obedient than a wild one.
Finally, I’ll be implementing a new “Initialise” option to generate a number of Primum litatio and Primum praedator, instead of Primum specium. Together, these two species will form a functional, if basic, predator-prey relationship from the very start of the game.
In addition to simply being a great starting point for a simulation, this option should allow me to rapidly iterate on and balance the game to make predatory behaviour a viable survival strategy. This should in turn make it easier for P. specium‘s descendants to start preying on their cousins.