Task I need to Complete:
BEGIN FirstProc
Loop through every atom of type var/turf/Ground/G in the world.
For each G, check G.Components[] and G.Moisture to determine whether moisture should be retained, passed to neighbors, or evaporate.
Determine if G's current makeup should make it harder or softer.
Queue a satus-changing action to be later executed on G, should it be required.
Then check to see if G has plantlife on top of it.
Check any plantlife for their requirements, and determine whether it is getting too much/little of required nutrients and moisture.
Queue a status-changing action to be later executed on the plantlife, should it be required.
END FirstProc
Get Scheduler Queue(GroundUpdates)
Execute Queue(GroundUpdates)
Clear Queue(GroundUpdates)
Get Scheduler Queue(PlantLifeUpdates)
Execute Queue(PlantLifeUpdates)
Clear Queue(PlantLifeUpdates)
This question isn't really asking for any code. I think I can do that. My problem is in figuring out *how* I can do this efficiently. I literally have no idea where to start.
If it's not possible to do efficiently, is there any way one could do anything similar? I feel like this is a design problem, but also a development problem - and I'm failing horribly at it.
Copyright © 2025 BYOND Software.
All rights reserved.
It's how I used to handle global season changes in a game I worked on, it initially tried to update the entire world at once but that was the source of lots of resource usage, so I only updated parts that could be seen.