The basic concept is to provide LUA functions that allow a mod to create an evolution model where evolution is caused only by pollution that does not get scrubbed from the air before it reaches the enemy.
Then the mod could enable the creation of pollution scrubbing mechanisms like mechanical scrubbers and planting trees... so that a player that makes an effort to go fully green could literally stop alien evolution and maybe even stop aggressiveness simply by building in an eco-friendly way.
I am sure that is more needed, but these would be an absolute minimum set of new eco functions:
EDIT: Apparently several of these already exist although their names are so cryptic that I confess not understanding which ones do what. This list below explains it in "English", not by function name.
- Allow controlling/disabling evolution due to time.
(apparently already exists as function)
- Allow controlling/disabling evolution due to total pollution produced.
(apparently already exists as a function)
- Allow controlling/enabling evolution due to pollution reaching a nest.
(THIS might be the only piece missing - the ability to measure the pollution reaching a nest because the cloud touched it - and to cause evolution due to it)
- Allow the creation of pollution scrubbing entities (already possible).
- Allow the creation of non-polluting entities (already possible).
NOTE:
- I am NOT a LUA programmer nor do I foresee becoming one. My hope is that someone will someday create a mod that allows "true ecological gameplay" in Factorio... but to do that they need to have the basic API calls to enable creating the mod.
- So I tried to identify the functional behaviors needed (in plain English) in order to enable the creation of such a mod. As a pleasant surprise (see the discussion below) it turns out that almost all of the API functions needed already exist, you just have to know which is which and Qon kindly identified them in terms that a LUA programmer (not me) can understand
