Programming a first person shooter from scratch like it's 1995

preview_player
Показать описание
3D like you've never seen it before!

EDITOR: NeoVim
THEME: gruvbox

RESOURCES:

0:00 Intro
0:47 Why?
1:21 Wolfenstein 3D-style
2:55 DOOM-style
9:50 Level Editor
14:35 Proof of Concept
15:53 Outro & Thanks
Рекомендации по теме
Комментарии
Автор

I find it very interesting when developers challenge themselves by not using existing engines, frameworks etc, this looks super difficult so props to you!

btarg
Автор

What a mind-boggling project. This man is a powerful programmer. I aspire to someday come close to his level of speaking with computers.

loleq
Автор

I started to learn programming 3 months ago. I cannot imagine myself writing a single line of whatever black magic fuckery you did in this video. Seriously, to me, people that can come up with stuff like these are geniuses

Rabbit-o-witz
Автор

The biggest jaw dropper in 1990's programming is the use of mathematical tables in memory and other tricks to cheat calculate results rather than relying on C or C++ math libs to do calculations in order to optimize for speed. Also, they were limited to using very little memory. Lastly, the display functions were mostly written in assembly to also optimize for speed, and that was a bitch to do. People like Ken Silverman and John Carmack were absolute beasts with their respective engines.

darkriff
Автор

It's really quite interesting to see you come up with all these fun challenges

Especially when nowadays literally every game dev chooses to use a game engine, making a game from scratch is a topic that no one really talks about

BLAZE_GLITCH
Автор

A huge flex would be making this able to build for 486 platforms like the original DOOM, so you could play on period-accurate hardware!

btarg
Автор

"Programming a first person shooter from scratch like it's 1995"

in 1995 Rare was creating Goldeneye for the N64 on SGI workstations, not a kind of 3d doom clone, that is insane to think about how quickly computer technology was moving at the time.

Edwardi
Автор

Thanks for the mention (in the video description!) Some of this looks quite familiar. Especially the part from 7:28 to 8:06.

Bisqwit
Автор

As soon as you got the lighting and pallettization in I instantly grew jealous that I will likely never make something that nails this aesthetic so well in my lifetime

jamesonahill
Автор

Incredible work. Here’s a tip you didn’t ask for. To get that smooth stepping texture mapping look, you’ll have to subtexel correct each vertical scanline. Just passing this along because it took me a while to get right

matthewlevenstein
Автор

waking up to a new jdh video slaps harder than will smith 😁

jakehuang
Автор

What a coincidence! Just a couple weeks ago, I started on my own doom-style engine using Bisqwit as a reference. For my engine though, I went entirely with vector based graphics. I also, in accordance to 90's standards, only used Borland graphics interface. I definitely have not made as much progress as you, but I think we're trying to reach different goals. Regardless, great job!

Stingpie
Автор

I actually think the ray traced lighting gave your engine a really unique look! What an awesome project!

TriVoxel
Автор

this is absolutely mind blowing i hope to be half the dev you are one day man

jeremym
Автор

1:47 I never gave much thought to software rendering, but that caught me off-guard! A buffer of pixels is all it boils down to. Incredible!

ContraHacker
Автор

More jdh! Honestly, I am sad to see the robot botanist go, but its nice that you can move on to some other projects, and continue to learn! Any chance we could have the Alpha of the robot game to play around with?

arial_
Автор

The length of this video was criminally short I need more jdh😂🧟‍♂️

Grimm-hbek
Автор

See, this is why I love being able to code. You don't need anything except a creative mind, an internet connection, and a laptop to build entire worlds.

dewaard
Автор

You are a monster, man, really.. I was looking for that kind of content for a long time.. a real programmer working on a doom coding the old fashion way... Of course I learned something like 1% of what you said but I really like those kind of videos where people show the fundamentals. Thank you

devitosolucoes
Автор

That's awesome. I'm doing something similar in Rust for a web browser. I also had the same issue with fixed point math and switched back to native fp. Best decision ever. Rust basically walks me through the bugs to fix them before even running it. I should make a video. my render objective is to show how you can make an entire render using trigonometry knowledge from school. I'm using Permadi's raycasting tutorial and the Wolfenstein engine Black Book as a base. I run it on WASM in the browser. Keep it up!

moretti