Unless you’re willing to put in some kind of response that basically says “I’m not going to respond to that” (and that’s a sure way to break immersion) this is effectively impossible to do well, because the writer has to anticipate every possible thing a player could say and craft a response to it. If you don’t, you’ll end up finding a “nearest fit” that is not at all what the player was trying to say, and the reaction is going to be nonsensical from the player’s perspective
LA Noire is a great example of this, although from the side of the player character: the dialogue was written with the “Doubt” option as “Press” (as in, put pressure on the other party). As a result, a suspect can say something, the player selects “Doubt”, and Phelps goes nuts making wild accusations instead of pointing out an inconsistency.
Except worse, because in this case, the player says something like “Why didn’t you say something to your boss about feeling sick?” and the game interpreted it as “Accuse them of trying to sabotage the business.”
It’s unquestionably ecological, and the way the game frames it sure makes it feel intentional, but it’s not really a deep level of discourse. Different buildings output different amounts of pollution, which diffuses throughout the world and triggers both biter attacks and evolution (limited to scaling HP/damage/size). Trees will absorb pollution (preventing it from dispersing further), but get sicker and die over time, turning the world into a barren wasteland surrounding an ever-expanding factory. Players have the ability to slot mods into buildings to cut their pollution output by up to 80%, but almost nobody ever does this, because the biters aren’t really a threat except on extreme difficulty levels, and those mods take up slots that could otherwise be used to boost speed/productivity.
This certainly could just be a way to throw some challenge in, but in that case, it’d be much easier to just have the biter attacks happen at semi-random times, maybe modified by how much energy the factory uses over a given period of time. In terms of ramping up the challenge, this would produce results very similar to the actual game, without tracking individual packets of pollution as they diffuse over every square in the game grid and are absorbed by trees, all of which track how much pollution they can absorb individually before they die.
That ecological damage is modeled at all, and that the pollution subsystem is as detailed as it is, certainly suggests to me that showing the player the negative impact of their presence is fully intentional (and it’s always a negative impact). I think there’s too much effort being spent (both in dev time and in per-tick updates) to suggest that it’s just a challenge system; almost nothing else in the game is tracked at the same level of granularity or downstream impact as pollution. Ore patches track how much ore each segment has remaining, but that value doesn’t matter beyond knowing how long a patch will be good for; miners don’t start pulling up less ore per second or harder to process chunks as a patch is depleted. Liquids and gasses in storage/pipelines track their own temperature, but the game doesn’t care about modeling how a tanker full of steam loses temperature over time.
All that said, I think casting Factorio’s gameplay as a criticism of indigenous peoples requires some pretty tortured logic. Biters are far dumber than most animals; their attacks amount to “run in a straight line at wherever that pollution came from”, which is one of the reasons they aren’t a major threat. They are unquestionably demonized; biters are 100% hostile the second they see you even if you’ve never produced any pollution, there’s no way to interact with them in any way but violence, and they’re big gross bugs. But I think this is better viewed through the lens of gameplay and of the ecological commentary. They’re big, ugly, and completely hostile to make it clear to the player that they’re your enemies. And they weaken the ecological commentary intentionally or not; there are no “neutral” animals, just biters, and the player doesn’t kill off anything cute.