Draw only visible objects. DebugOverlays are invisible by default.
Draw only visible objects. DebugOverlays are invisible by default.

file:a/game.py -> file:b/game.py
--- a/game.py
+++ b/game.py
@@ -104,7 +104,8 @@
 
     def draw(self):
         for gobj in self.objects:
-            gobj.draw(self.screen)
+            if gobj.visible:
+                gobj.draw(self.screen)
 
 
 class GameObject(object):
@@ -114,6 +115,8 @@
 
         self.game=game
         self.game.add_object(self)
+
+        self.visible=True
 
     def remove(self):
         self.game.remove_object(self)
@@ -165,6 +168,8 @@
                 GObjDebugOverlay.letter_height=GObjDebugOverlay.font.size('A')[1]
 
         self.views=[]
+
+        self.visible=False
 
     def add_view(self,view):
         # Repack the rectangles using very basic algorith (stop at step 3 of