+ # send_gamestate() can be rather expensive, due to among other reasons
+ # re-calculating each player's FOV, so don't send it out too often
+ if self.last_send_gamestate < \
+ datetime.datetime.now() -self.send_gamestate_interval:
+ self.send_gamestate()
+ self.changed = False
+ self.save()
+ self.last_send_gamestate = datetime.datetime.now()