Creating a Doom-style 3D engine in C

Bisqwit · 990K views · 2015 · 18:50

Open on YouTube

Computer graphics & renderingGame programming & enginesC, C++, Rust, Go & systems languagestutorial

Why Hacker News recommends it

A favorite on Ask HN lists of programming YouTube channels, praised for mind-blowing systems and graphics programming and a watchable coding style.

What it is

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.

Recommended by 3 HN commenters across 5 different months, 2015 to 2019.

What Hacker News said

Strong rec petercooper · 2015-08 · on “The Strange Appeal of Watching Coders Code”

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: [this video]

Strong rec petercooper · 2016-10 · on “Ask HN: What is your favorite YouTube channel for developers?”

[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: [this 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.

Strong rec iwakura · 2018-01 · on “Ask HN: What is your favorite YouTube channel for developers?”

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. [this video]

Strong rec petercooper · 2019-01 · on “Let’s Create a Speech Synthesizer in C++17 [video]”

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: [this 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]

Recommends rpeden · 2017-08 · on “Ask HN: Best coding related YouTube channels?”

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: [this video]

Cites TazeTSchnitzel · 2019-01 · on “Non-Euclidean Worlds Engine [video]”

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: [this video]