7 ms·
Nice writeup! Building raycasting engines is fun and rewarding. You can get a lot of visual impact with very small and easy to understand code. I took a stab at
by gh123man 4y ago
Nice writeup! Building raycasting engines is fun and rewarding. You can get a lot of visual impact with very small and easy to understand code. I took a stab at it and ended up adding portals which I thought was really fun (https://github.com/gh123man/Portal-Raycaster https://github.com/gh123man/Portal-Raycaster).
I've been thinking about re-writing my raycasting engine in Rust but never really found the time - glad to see someone has done it and documented it so well!
If anyone else is interested in raycasting this page is also worth a read: https://lodev.org/cgtutor/raycasting.html https://lodev.org/cgtutor/raycasting.html
- ccakes 4y agoI followed your link, and Gate Escape looks pretty fun, but not available in the Australian app store?
- gh123man 4y agoIt appears my Appstore agreements have fallen out of date and needed renewal. That's a somewhat embarrassing - but it should be fixed now. Gate Escape should be available in all regions, and thanks for checking it out!
- creativenolo 4y agoJust curious, why do you describe ray casting as a “_pseudo_-3D rendering technique”?
- MaulingMonkey 4y agoAt least as implemented in these retro-style engines, it's a technique with a lot of limitations. Crawling pervasively 2D data, in 2d grids, and grid-aligned 2d wall data, interleaved with 2d screen-aligned sprites with a scaling factor applied. Lots of vertical alignment. You wouldn't use the same technique to implement a "realistic" 6DOF flight simulator, for example. Wolfenstein 3D released in 1992 - and a mere year later, Microsoft Flight Simulator 5 would be released, with actual 3D meshes and arbitrary 3D rotations coming much earlier. https://www.youtube.com/watch?v=CchRwnTorjY https://www.youtube.com/watch?v=CchRwnTorjY