gauauu #1 Posted October 27, 2015 Does anyone know exactly how the wall collisions were handled in Adventure? The way the ball (player) squashes against the walls (and missiles for the weird black walls, if I remember correctly?) makes it look like it's checking hardware collisions. But the fact that the walls aren't "sticky" means that Warren did something smarter than just the naive "reset the position if there's a collision" method. As best I can tell, from staring at the disassembly and stepping through frames, he was definitely doing hardware collision detection. It looks like maybe he resets the X position separately from resetting the Y position, on different frames (checking collisions each time). But if that's the case, I can't figure out how your movement doesn't end up going more slowly when you are dragging along a wall (if it wastes a frame trying to reset position in one dimension). Thanks! Quote Share this post Link to post Share on other sites
+SpiceWare #2 Posted October 27, 2015 Check the source at MiniDig. Look for register CXBLPF Quote Share this post Link to post Share on other sites
+Random Terrain #3 Posted October 27, 2015 I like it when a game does something like this with no sticking or bouncing: randomterrain.com/atari-2600-memories-batari-basic-commands.html#sprite_collision_example ex_sprite_with_collision_only.bin Quote Share this post Link to post Share on other sites
gauauu #4 Posted October 27, 2015 Ah, the part I missed is that he does it differently in different frames. Like I suspected, he checks X-only direction one frame, and Y-only direction in a different frame. Quote Share this post Link to post Share on other sites
Jinroh #5 Posted October 27, 2015 Ah, the part I missed is that he does it differently in different frames. Like I suspected, he checks X-only direction one frame, and Y-only direction in a different frame. I did a similar thing with my Carrot Kingdom game it works well for splitting up gravity and horizontal collisions as well. :3 Quote Share this post Link to post Share on other sites