
Creating a Doom-style 3D engine in C
About this video
Bisqwit builds a Doom or Duke Nukem 3D style software-rendered 3D engine in C from scratch, supporting non-Euclidean geometry. It covers vector rotation and portal rendering with sped-up, tool-assisted coding.
Why it appears in the archive
A favorite on Ask HN lists of programming YouTube channels, praised for mind-blowing systems and graphics programming and a watchable coding style.
AI-generated summary and labels from the source dataset; verify important details against the video. Source & credits.
From the Hacker News discussion
This is why I love bisqwit's videos on YouTube. He takes a middle ground between "typing it in" and pondered narration. The typing effect is sped up and faked and done at just the right speed to 'follow along' with his thought process. Example: [VIDEO]
Read original comment ↗[LINK] is by far my favorite and I've spent many hours watching him. He does things like create a Doom-style engine from scratch: [VIDEO] .. create a NES emulator: [LINK] .. work back from a C++17 example to show why new C++ standards are needed: [LINK] .. and even building a Tetris clone in GW-BASIC: [LINK] .. Right now, he's doing a series on cracking 80s videogame passwords: [LINK] Sirajology - [LINK] - is another interesting one. He moves a bit too quickly for me, but does things like explain machine learning in 5 minutes or how to generate music with systems like Tensorflow.
Read original comment ↗Bisqwit's video focusing on systems and graphics programming are total gems. [LINK] Not particularly useful for web developers which is what most programmers are nowdays, they will still blow your mind though. [VIDEO]
Read original comment ↗Agreed. My favourite programming YouTuber by a long stretch. If anyone is unfamiliar with him and wants to watch some of the "classics" I'd recommend these: His "cracking videogame passwords" series: [LINK] Creating a Doom-style 3D engine in C: [VIDEO] Creating a Rogue-like game in C++11: [LINK] Creating a PIC16 emulator and NES music player: [LINK] Creating a NES emulator: [LINK] Creating a DOS VGA raytracer: [LINK]
Read original comment ↗I'm a fan of Bisqwit: [LINK] Mostly because he does fun things that are outside of the kind of programming I usually do, so it helps me broaden my horizons a bit. One of my favourites is the video where he sets out to make a basic 3D game engine in C, but starts by prototyping it in Basic: [VIDEO]
Read original comment ↗As was Duke Nukem 3D. Here's a video about making a simple demo engine based around the concept, which shows off a little non-Euclidean geometry: [VIDEO]
Read original comment ↗