Hacker News new | ask | show | jobs
by simias 2684 days ago
The readme mentions it but I think it's worth pointing out that this is a very particular (and quite dated) method for sort-of-3D rendering. It's the same type of engine used in the original Wolfenstein.

It's definitely a lot of fun to implement (and I recommend trying if you've never done it before) but it's very different and much more limited than what we expect from a 3D engine nowadays.

2 comments

> the original Wolfenstein.

Well, the original Wolfenstein 3D, the third game in the series.

https://en.wikipedia.org/wiki/Castle_Wolfenstein

https://en.wikipedia.org/wiki/Beyond_Castle_Wolfenstein

Brilliant! Much of my early teens was "wasted" playing Castle Wolfenstein on a green screen Apple II. Great memories.
Kuma tzee here !
Uh, I had never heard about these games before. I always thought Id created the franchise. Thank you for that bit of videogame history.
Castle Wolfenstein was a noteworthy and revolutionary game in its own right: https://www.filfre.net/2012/04/castle-wolfenstein/
The first two games were top-down 2D stealth games. The third was a pseudo-3D FPS. Most people picked up the series at the third installment, and the third installment is what made it into history books as the First Popular FPS, ignoring earlier FPSes which were Not Popular.
To be clear, Castle Wolfenstein and its sequel were written by Silas Warner and published by Muse Software, which went out of business in 1987 after going through Chapter 7 bankruptcy. Because the trademark was lapsed, Id was able to use the name for their game. But it wasn't a continuation of the original games, more like a reboot by another team and publisher.
Random fun fact: the only reason they could use the name is because the original creator let the trademark expire, thinking it had no commercial future
I read "Id" as " i'd " and thought this was the the most bizarre sarcastic comment. Time for more coffee
True, but what's great about it is that it is such a simple method to achieve something that seems 3D. It's very easy to explain, the math is straight-forward, and it hardly takes any code, making it a great starting point for people interested in this sort of thing. Its simplicity makes it easy to extend the functionality too. For instance, you can add Y-shearing pretty trivially and get a limited range of motion on the view's vertical axis, or add floor and ceiling casting to get textures there, a little more manipulation can add jumping and crouching, etc.