I'm pleased to report that the movement overhaul is finally finished. Step offsets now can take floating point values, which means projectiles can be more accurate and you're not locked into a difference between 4 pixels for a speed or 5, but can go in between for subtle differences.
This change mans a few things for bounds. First off, changing step_x or step_y to anything inside of 1/1024 from the nearest integer will snap to that integer. Why? To avoid letting rounding errors accumulate. For the same reason, an overlap between objects of less than 1/1024 is not counted as an overlap. The official rule is: 1/1024 pixels or more of overlap is a true overlap, 1/1024 or more of separation is true separation, and anything in between is "in contact". This also means an obj overlapping a turf by less than that will not be counted in that turf's contents, and likewise that turf will not appear in the obj's locs list.
Naturally, the step/walk/etc. procs are also affected by the change, allowing non-pixel speeds.
As for how those fractional pixels will affect things, that's strictly a server-side distinction. As far as the client knows, they still move in full pixels.
Things have been stabilizing to the point where I'd like to finish up some webclient stuff but maybe hold off on a couple of annoying items that I haven't figured out yet (like PIXEL_SCALE) and soon declare 512 the new stable build. However before I get to that point I'd really like to sneak in more filters, if possible. I discussed some ideas on last week's Patreon post, so if you haven't checked that out yet, now's a good time to take a look.
Speaking of Patreon, I've set up a new Patrons-only Discord server (or rather, I'm still kinda trying to figure that out) where we can have some fun discussions about under-the-hood stuff and bat around feature ideas. This is just getting started so I have no idea what to expect yet.
513 is on my radar now and I'm considering some new ideas. The most radical idea on my agenda is the concept of linking Z levels, which is something I've wanted to do forever. The recent movement changes helped highlight some of the code I'll need to work on for that, and as a result I really feel this is more viable now than it has been in the past.
August has come, and that means it's officially okay for back-to-school commercials to run because we have one month left of summer. Oh sure, the equinox is in the middle of September but we all know it doesn't count. But that also means preseason football is underway! So make the best of both worlds and grill up those chicken wings and then save big on school and office supplies, and then you can do the most good with those savings by helping to support BYOND. (Didn't think I could find a segue, did you?)
ID:2389198
![]() Aug 3 2018, 3:02 pm
|
|