Descriptive Problem Summary:
Ok so I don't know too much about WHY this happens or how to EXACTLY trigger it, but when I recently learned that I can use bounding boxes larger than 32x32 in my game as long as they were multiples of world.icon_size without breaking gliding, I upgraded my game to use larger bounding boxes for certain things. For example large space ships, which have a 96x96 bounding box.
Everything works fine at first, gliding works. But when a player moves near a space ship and begins colliding with it, seemingly at random gliding will break for every player in the game. I think they have to move around the ship in a certain way, and possibly it requires more than 1 player doing it on the same ship, maybe the ship has to be moving also, I'm not entirely sure because it is hard to replicate.
The game can go hours before gliding will break. I even made a verb that lets me check if any variables related to pixel movement and gliding have changed from their compile time values, and none have.
The space ships have bound_width=96, bound_height=96, bound_x=0, bound_y=0, and they use pixel_x and pixel_y to align their icon with their bounding box, instead of using bound_x/y.
Of course if I set the ship's bound_height/width to 32 at compile time, this bug never occurs.
Any suggestions? Thanks.
Numbered Steps to Reproduce Problem:
With gliding movement on, create an object with a bound_height and bound_width of 64, run your mob around it randomly, possibly while the large object is also moving, and hope this glitch happens, but it seems hard to replicate.
Gliding should not be broken if all atoms in the game have bounding boxes in multiples of world.icon_size, and none of the variables related to pixel movement or gliding have been changed since run time.
For seemingly no reason gliding will break despite no pixel movement variables being altered from their compile time values.
Does the problem occur:
Every time? Or how often? At random, sometimes it takes 5 minutes after startup, sometimes 24+ hours.
In other games? I don't know
In other user accounts? Yes
On other computers? Yes
When does the problem NOT occur?
When every atom has a bounding box of 32x32 with no other pixel movement variables altered from their default values.
May 2 2014, 9:02 am