top | item 34952147

(no title)

gh123man | 3 years 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).

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

discuss

order

ccakes|3 years ago

I followed your link, and Gate Escape looks pretty fun, but not available in the Australian app store?

gh123man|3 years ago

It 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|3 years ago

Just curious, why do you describe ray casting as a “_pseudo_-3D rendering technique”?

MaulingMonkey|3 years ago

At 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