C2 and the complexity problem
Dec. 19th, 2021 02:37 pmI went poking the C2 scriptorium scripts for plants today, in order to update the wiki pages, and I found out some interesting things that are not quite in line with the official ecology info. For example:
On the one hand, this kind of stuff is cool; the devs clearly put a lot of thought into the ecology, even if it isn't quite as complete as one might like it to be. And having marginal vs dependable ranges for plants is certainly realistic. On the other hand, it's hair-tearingly frustrating, because none of this info is ever presented to the player. Nowhere in the game help documents does it tell you anything beyond 'some plants grow in different conditions'. These more complex ranges are not even in the official out-of-game ecology docs!
This is bad game design. Yes, it's a game marketed to children, and from the age when it was a lot more acceptable to offload information into manuals and web pages than it is now, but this stuff is so buried that even the most hardcore player can't find this out without literally digging through the code. (Well, now you can find it on the wiki, at least.) Even the basics of what the different berries do isn't obvious in the game, despite them having different medicinal effects.
While I was figuring this out, it started me musing about the double-edged sword that complexity is in general in simulation. On the one hand, the world is complex, and simulation necessarily simplifies, and not always in easy and obvious ways (do not get me started on programming diploid genetics). On the other hand, simplification also calls into question the validity and applicability of the simulation, in cases where one is hoping to make real-world inferences and not just play a game.
On the other other hand, complexity can also massively increase programming time and make a simulation harder to understand and analyze - and it's easier to balance an ecosystem with a few independent plants than one with multiple organisms feeding off of each other, as I've seen in other aLife-y games I've played with. And more complexity actually doesn't always equal more fidelity. Sometimes simple rules can produce amazingly complex emergent behavior. Basic cellular automata - similar to Conway's Game of Life, though not necessarily with the same rules - have had biological research applications. You can use a spreadsheet to replicate beautiful seashell patterns.
One of the things I love about C2 is the ecosystem, especially since it just seems less broken than the one that ships with C3. But it's hard not to wonder - does this add anything to the game? Couldn't whoever was coding these plants have spent the time giving the walking vine something to do other than exist instead? At the least, these details should have been in some document somewhere that could be released to the advanced players like the other intended ecosystem details.
To be clear, 'does this add anything to the game?' is not meant as a rhetorical question, even though it probably sounds like one. It's a question I ask myself when I am thinking of adding a new feature to my own work, though I am working with scientific simulation instead of a commercial game (and am a lone dev on it). What does this feature actually meaningfully do? Does this add real depth in a way that brings my simulation closer to its goals instead of being an interesting fiddly knob that doesn't mean anything or a distraction from something else? How do I justify the settings I use for it? What real-world data can I base those settings on? People can and have questioned my simulation's settings and assumptions - at least Creatures, being a game, can get away with everything being aliens and for fun :)
- The potatoes, carrots, and puffballs have unlisted 'ideal' ranges for inorganic nutrients; they will still grow in their 'tolerable' ranges, but have a 50/50 chance of dying.
- Triffids are the only plant whose seeds will get their own individual growable inorganic nutrient ranges within their general range.
- Gelsemium flowers decay to give 10 organic nutrients to the soil... but only if the inorganic nutrients level is not exactly 200. (I wonder if this is leftover from some idea for propagating the plant?)
On the one hand, this kind of stuff is cool; the devs clearly put a lot of thought into the ecology, even if it isn't quite as complete as one might like it to be. And having marginal vs dependable ranges for plants is certainly realistic. On the other hand, it's hair-tearingly frustrating, because none of this info is ever presented to the player. Nowhere in the game help documents does it tell you anything beyond 'some plants grow in different conditions'. These more complex ranges are not even in the official out-of-game ecology docs!
This is bad game design. Yes, it's a game marketed to children, and from the age when it was a lot more acceptable to offload information into manuals and web pages than it is now, but this stuff is so buried that even the most hardcore player can't find this out without literally digging through the code. (Well, now you can find it on the wiki, at least.) Even the basics of what the different berries do isn't obvious in the game, despite them having different medicinal effects.
While I was figuring this out, it started me musing about the double-edged sword that complexity is in general in simulation. On the one hand, the world is complex, and simulation necessarily simplifies, and not always in easy and obvious ways (do not get me started on programming diploid genetics). On the other hand, simplification also calls into question the validity and applicability of the simulation, in cases where one is hoping to make real-world inferences and not just play a game.
On the other other hand, complexity can also massively increase programming time and make a simulation harder to understand and analyze - and it's easier to balance an ecosystem with a few independent plants than one with multiple organisms feeding off of each other, as I've seen in other aLife-y games I've played with. And more complexity actually doesn't always equal more fidelity. Sometimes simple rules can produce amazingly complex emergent behavior. Basic cellular automata - similar to Conway's Game of Life, though not necessarily with the same rules - have had biological research applications. You can use a spreadsheet to replicate beautiful seashell patterns.
One of the things I love about C2 is the ecosystem, especially since it just seems less broken than the one that ships with C3. But it's hard not to wonder - does this add anything to the game? Couldn't whoever was coding these plants have spent the time giving the walking vine something to do other than exist instead? At the least, these details should have been in some document somewhere that could be released to the advanced players like the other intended ecosystem details.
To be clear, 'does this add anything to the game?' is not meant as a rhetorical question, even though it probably sounds like one. It's a question I ask myself when I am thinking of adding a new feature to my own work, though I am working with scientific simulation instead of a commercial game (and am a lone dev on it). What does this feature actually meaningfully do? Does this add real depth in a way that brings my simulation closer to its goals instead of being an interesting fiddly knob that doesn't mean anything or a distraction from something else? How do I justify the settings I use for it? What real-world data can I base those settings on? People can and have questioned my simulation's settings and assumptions - at least Creatures, being a game, can get away with everything being aliens and for fun :)