Added velocity assumption, dirty sprites, and improved client validation