Code: Select all
playFrame state = do
state $= doLogicFrame state
state $= doRenderFrame state -}
playFrame state
It might be okay for a simple Space Invaders game, but the game I'm trying to do has close to 1,000,000 nodes in the terrain plus possibly hundreds of values to pass around. The thought of storing that in a single list that gets copied multiple times per frame makes me shudder.
I could use a difference list, but that could still create somewhat of an unnecessary overhead? And by structuring the list as smaller sublists, it would only have to do a copy of the top level, and not each lower level? For example:
Code: Select all
[Game State,
[] Updatable Objects,
[] All Objects
Root Terrain Node,
Root Collision Quadtree Node,
Root Rendering Node]
Thanks.