ID:517247
 
As some of you may know, I made a Environment/Ecosystem simulator "library" a while ago. It was not made very well, and I am going to redo it. This time, however, I'd like to get some public input; what all would you want a environment simulator to handle?
I think the coolest thing would be a day/night system with shadows. And plants in heavily shaded areas wouldn't grow as much.
^different soil/dirt could also influence that as well as what plants are around each other(plants tend to steal nutrients,weeds...)
Adding on to Lugia, a weather system would be cool
Moon & ocean tides
I think what people want is a world that is truly alive. People say that if God exists, it's one hell of a programmer; well that's what I think the environment thing is all about. Creating a world that's truly alive. However, that sort of stuff is not going to be on BYOND for a library, so just a world that actually progresses through time should suffice. Plants and animals that act like actual plants and animals.
Seasons, weather, clouds/sun?, and a day and night system.
The oxygen, and nitrogen cycles.
If you where going with cycles it would seem more sensible to use the carbon and nitrogen cycles, I'm also unsure as to why that would be needed ever really. Albro go ahead and make it whatever you want.
THE WATER CYCLE.
All this talk of it makes me want to make this simulator lawl
It sounds like the library should just manage how things flow (which tiles are changing) but leave it up to the project using the library to define what quantities exist and how exactly they flow.

For example, you'd use the library by telling it that each turf has an "oxygen" value and you'd specify how it flows from tile to tile (levels balance out but don't pass through dense tiles). The library would keep track of which tiles are actively changing and apply the user-specified method for making oxygen flow through the environment. You may have things flow differently. If each turf has an "elevation" var you'd make water level out but also move towards lower elevations.

This way you can use the library to make simple or detailed environments. If you just want to manage oxygen and CO2 levels, you just define those two quantities. How the levels affect mobs is up to the project that uses the library. You can include demos of how it can be used, but it wouldn't be up to a library to say that an oxygen level less than 0.2 is harmful to the player - the library doesn't know what it means to harm a player (it doesn't even know what a player is!)