I'm not too concerned about graphics or 3D math. I'm working in a 2D space with the most amateur of graphics. I'm interested in having some looming trade-offs pointed out to me so that I can make decisions with my architecture to best receive those trade-offs. I'm interested in design patterns that allow me to modularly enrich the complexity of my simulation.
If you're curious, https://github.com/MeoMix/antfarm/blob/main/src/util.ts Here is a file that became quite the dumping ground. I am not proud of this code. I had intended to tease out some utility methods which take a world and return a cloned and updated world. It's easy enough to separate out view concepts, and it's easy enough to separate out constructors, but all of the "interesting" simulation logic found its way to this dumping ground.
One book I am going to purchase is https://tynansylvester.com/book/ as it's by the developer of RimWorld which is a world-class simulation game. I don't think this will approach technical trade-offs, though, only functional.
Another resource I found is the development blog for Sandspiel, https://maxbittker.com/making-sandspiel This is actually quite a useful resource and I think I would do well to internalize it more, but it also focuses heavily on particle physics and automata-driven simulations. These are good concepts to explore and ones I should strive to master, but they aren't the only ways to slice a simulation game.