Live data from Hacker News

Build your own old-school 3D shooter in a weekend

github.com

11–20 of 105 posts

Re: Build your own old-school 3D shooter in a weekend

#12
post #10
post #4

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.

> 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

Uh, I had never heard about these games before. I always thought Id created the franchise. Thank you for that bit of videogame history.

Re: Build your own old-school 3D shooter in a weekend

#14
Wow, this reminds me of writing a very similar engine in the mid 90s after learning about ray-casting (and playing Doom of course). There was a very good book which covered the whole process called "Tricks of the Game Programming Gurus", which I would have killed for at the time!

Re: Build your own old-school 3D shooter in a weekend

#15
I need to dig up the code, but over the course of a week on the train rides to and from work, I built a very simple ray-caster in Pico-8 on the Pocket Chip. It was especially fun since I had figured out the math for it on my own (which, in fairness, isn't terribly complex with even a high-school understanding of Trigonometry).

I had enough fun with it that I think it might become my new "trying out a new programming language" test, since it was easy enough to get done quickly, but difficult enough to where I had to actually learn the language.

Re: Build your own old-school 3D shooter in a weekend

#16

I think leaving the "old-school" out of the title doesn't do this justice. My first thought was, with modern engines, or even raw OpenGL that isn't that hard... I did it in a weekend for my "Advanced Computer Graphics" elective in college using OpenGL and that was 2008. But this is kind of cool... it's more of a tiny ray tracer and... well to borrow the title... old-school arcade game.

> it's more of a tiny ray tracer

It's a ray caster, where the rays are sent out from the camera to intersect the map. With ray tracers, the rays are sent out from the light source, IIRC.

Your point on OpenGL is valid, but that just removes all the learning from it. OpenGL does so much of the grunt work for you. This kind of old-school game engine is a great learning experience.

Re: Build your own old-school 3D shooter in a weekend

#17
post #16

I think leaving the "old-school" out of the title doesn't do this justice. My first thought was, with modern engines, or even raw OpenGL that isn't that hard... I did it in a weekend for my "Advanced Computer Graphics" elective in college using OpenGL and that was 2008. But this is kind of cool... it's more of a tiny ray tracer and... well to borrow the title... old-school arcade game.

> it's more of a tiny ray tracer It's a ray caster, where the rays are sent out from the camera to intersect the map. With ray tracers, the rays are sent out from the light source, IIRC. Your point on OpenGL is valid, but that just removes all the learning from it. OpenGL does so much of the grunt work for you. This kind of old-school game engine is a great learning experience.

Ray-tracing does not necessarily mean rays are cast from the light source.

Re: Build your own old-school 3D shooter in a weekend

#18
post #12
post #10

Earlier quoted context omitted.

> 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

Uh, I had never heard about these games before. I always thought Id created the franchise. Thank you for that bit of videogame history.

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.

Re: Build your own old-school 3D shooter in a weekend

#20

I think leaving the "old-school" out of the title doesn't do this justice. My first thought was, with modern engines, or even raw OpenGL that isn't that hard... I did it in a weekend for my "Advanced Computer Graphics" elective in college using OpenGL and that was 2008. But this is kind of cool... it's more of a tiny ray tracer and... well to borrow the title... old-school arcade game.

One big advantage this has over a simple opengl engine is that it doesn't obscure how the rendering occurs.
Post reply on HN