Im working on a video game too so I understand the necessity of limitations and shortcuts. And your point could be entirely clear if I were to play the game. I'm just pointing out, IMO, there's a disjoint between what I see and what you say.
Edit: I'll add, I believe the communication and interpretation of game functions is extremely important. Im creating a city builder/simulation game, but the depth of the simulation is determined by what's communicated to the player, not what the code does. I could create an intelligent game AI and a sophisticated economy, but if it doesn't communicate that to the player in any way, then it's no different than RNG to the players eyes.