Optimize
Try to split Game
Split the Game
Small clean-up
Reduce number of Set operations
Clean-up
Profile before next optimization
Use lists for walls
Optimize