I haven't looked at the pysics part of the code, to do for tonight. Is there any part I would need to look at in particular if I want to see what you already have?
Nothing much in the code right now. I have a C++ version I was playing with, that I'm slowly copying from to fill out the C# version.
To me this would be what I defined as a water shape; pretty much the current environment. So I don't see your comment with respect to complexity. As for the physics of metabolism: I'd leave it at nutrients (isn't this really an expanded version of waste?) and energy. Define a level of presence in the environment for each, and a ratio of consumption when transforming into body by veggies. I don't know if I created a wrong impression, but to me water was a medium, like soil and air, not a part of metabolism.
I'd not go for modeling the integral ATP ADP cycle. If this was the original idea I do see your point about complexity.
Yeah, the original idea was to model some complex metabolic cycles analogous to the critic acid cycle. But I'm not going down that route anymore.
The bot environment right now, under default settings, is more like air or even vacuum. There's very little reactive forces. The idea I'm playing with is for the users to be able to define specific shapes with some custom parameters. They could make them solid, like they are now, or play with some other settings. Making them a dense liquid would let bots use buoyancy to float and sink, etc. I'm playing with the idea that bots could gather abiotic resources from shapes when they dig into them, and use those as raw materials for various things. The other option is for the user to specify how saturated shapes are in various resources when they set up the custom parameters.
I want to shy away from hard defined things like "this is a water zone, therefore it has properties X Y Z", because I think it's too artificial. I much prefer lots of tweakable parameters and a few defaults to set them to. So you could create a shape, set it to some default (loose soil, water, granite, etc.), then tweak parameters as desired.
I'll probably end up creating 1-3 abiotic resources, and incorporate them into the manufacturing process for various components and photosynthesis. Like maybe you need dirt/rock/soil/whatever to make shell with, or you can make shell without it but you have to manufacture some extra components first, or something like that. On the other hand, by default I don't want sims to have issues with bots being unable to create shell because every single shape has been mined by other bots already (though it might be a fun custom sim).
Then, with those 1-3 abiotic resources, we need a process whereby bots can extract the resources. For a solid shape, they could just ingest some of the shape (useful for tunnelling, too), digest the good bits, and poop out the waste. For a fluid shape they'd do something similar but maybe there's diffusion to deal with, so a bot would have a hard time (diminishing returns) extracting all the useful raw materials from a fluid shape. The trick is to decide if the useful resources
are the shape, or if they're embedded in the shape and most of the shape is just junk.
Ah, I'm rambling. Just consider it a brain dump of what I'm thinking right now.