Ray-casting lets you 'shoot' a 'ray'. You set the x, y and z location and the x, y, and z direction of the ray. The ray will return how far it went for until a collision. no GM sonic game has raycasting, let alone a open-source sonic engine. This is new for GM. Anyway, why have raycasting?
1. the levels are now .d3d models, you dont use the level editor. the level editor is 2D anyway. 2. Raycasting is smoother.
3. .d3d models can easily be more complex then rooms.
4. .d3d models draw faster then normal.
Can't get any better if you ask me.
If you are wondering how I use raycasting for physics, well, since I can check for collision with the level I can shoot a heap of rays, do some trigonometry and I have his direction. then, with his direction and using some more trig. I can get the new xspeed yspeed and zspeed. as you can see, its all about the rays.