def gametick(self, tickrate): while self.running: time.sleep(0.010) # Sleep for 10 milliseconds if (self.host and self.host.new_packet ): # Check if we've received new tick packet from the host new_data = Buffer( 512 ) # Create a new buffer of 512 bytes to hold outgoing packet data new_data.prepare_packet(10) new_data.offset = 150 # Go to start of player data for x in self.clients: new_data.write_real('B', 1, x.id) # write x's uid new_data.write_real('H', 2, x.pos_x) # write x's pos_x new_data.write_real('H', 2, x.pos_y) # write x's pos_y new_data.write_real('B', 1, x.is_alive) # write x's is_alive new_data.write_real('f', 4, x.hull_angle) # write x's hull_angle new_data.write_real( 'f', 4, x.turret_angle) # write x's turret_angle new_data.offset += 16 # Advance to next player's data packet.send_all( self, new_data.data ) # send this packet to all clients! maybe in another thread? self.host.new_packet = False