Probably more likely to find theory rather than actual code.. But fyi, i'd be using unity3d
If not specifically to sim games, maybe some of the individual concepts like:
- simulation cycles
- how to efficiently deal with different rates of simulation? loops? timers? eg: NPC movement at 30hz whereas tree growth is 0.01hz
- distributing the functions efficiently across frames?
- tile systems
- efficient neighbor checking
- giant 2-dimensional arrays?
- objects occupying multiple tiles
- simulating tiles on an individual basis like the classic falling sand game (http://www.fallingsandgame.com/sand/)