petercooperon Hacker News • Recommends
On “The Strange Appeal of Watching Coders Code”
#doom#portalrendering#softwarerendering
147K subscribers • 9 videos on Hallway
Advanced. Deep dive for people who know the field.
990K views11 years ago3 recommendations
Graphics and audioGame developmentRenderingCGame programming
Bisqwit demonstrates how to build a Duke Nukem 3D or Doom-style software-rendering pseudo-3D engine from scratch in C, supporting non-Euclidean geometry.
In this tool-assisted education video I walk through the creation of a Duke Nukem 3D style (or Doom-style) software-rendering pseudo-3D engine from scratch. It supports non-Euclidean geometry. Topics such as vector rotation and portal rendering are at the core. SUBTITLES ARE AVAILABLE. Twitter: twitter.com/RealBisqwit Patreon: patreon.com/Bisqwit (alternatives at iki.fi/bisqwit/donate.html) Twitch: twitch.tv/RealBisqwit Homepage: iki.fi/bisqwit/ Contribute subtitles: youtube.com/timedtext_video?vHQYsFshbkYw or: youtube.com/timedtext_cs_panel?c=UCKTehwyGCKF-b2wo0RKwrcg&ta… This homebrew software-rendering pseudo-3D engine bears many similarities to Duke Nukem 3D. The geometry can be tweaked at run time without performance penalties, to create things like ceiling crushers or rotating doors. For rendering, it only supports single-color floors, walls and ceilings, with optional depth shading. Unlike Duke3D, it also requires that each sector is convex. So far this engine does not support objects or sprites. It also does not support sloped surfaces or parallax ceilings. DOWNLOAD MATERIAL: - iki.fi/bisqwit/jkp/portalrendering.html SUPPORT / INSTRUCTIONS: The C program must be compiled with a C compiler supporting the C99 standard. If you attempt to compile it as C++, errors will be produced. If you attempt to compile it on a C89 compiler, errors will be produced. You must compile it as C using C99 standard or newer (on GCC, use the commandline option: -std=c99 or -std=c11). You also need libSDL 1.2. SDL 2.0 will not work. Add the options printed by pkg-config sdl --libs --cflags into your compiler commandline. The BASIC program is ideally run in QBASIC or QuickBASIC 4.5. It will not work in QB64 without modifications, because QB64 does not support DEF FN. It will not work in GW-BASIC, because of the structural programming statements. Music credits in order of appearance: - Lunar: Silver Star Story - Lunar Traffic theme (Noriyuki Iwadare) - Axelay - SPIDERS (Taro Kudou) - Tales of Phantasia - Final Act (Motoi Sakuraba and Shinji Tamura) - Tales of Phantasia - Ridge Racer (Shinji Hosoe) All these video game songs have been transformed into OPL3 songs with homebrew tools and played through ADLMIDI. Sorry about the fluctuating narration volume. I recorded pretty much every sentence separately over many days, and my microphone was positioned differently at different times, and sometimes it was day, sometimes night, sometimes I had morning voice, etc. I tried to compensate with both manual volume adjustment as well as running a compression filter over it all, but it was only after publication when I noticed how uneven it still is. My typical workflow for recording the narration involves the following: 1. Watching some of the video 2. Writing into a text file what I would like to say (this file will also form the basis of closed-captioning later). Much of the text comes fromWhat people say. Highly recommended for its unique, sped-up tool-assisted coding style and as a mind-blowing demonstration of graphics programming from scratch.
petercooperon Hacker News • Recommends
On “The Strange Appeal of Watching Coders Code”
petercooperon Hacker News • Recommends
On “Ask HN: What is your favorite YouTube channel for developers?”
iwakuraon Hacker News • Recommends
On “Ask HN: What is your favorite YouTube channel for developers?”
petercooperon Hacker News • Recommends
On “Let’s Create a Speech Synthesizer in C++17 [video]”
rpedenon Hacker News • Recommends
On “Ask HN: Best coding related YouTube channels?”
u/jurnissin r/C_Programming • Mentions
On “An explanation of Doom Engine?”
u/wrelamin r/C_Programming • Mentions
On “Does anyone remember the old website that showed how to build Doom with C?”
u/spartanatreyuin r/compsci • Mentions
On “Entertaining CS YouTube channels?”
u/Cikuozzoin r/emacs • Mentions
u/Only9Voltsin r/C_Programming • Mentions
On “I Want to do a Doom Game in C but I dont know how to start”
u/anintegerin r/C_Programming • Mentions
On “C programming talks and conferences on youtube”
TazeTSchnitzelon Hacker News • Mentions
On “Non-Euclidean Worlds Engine [video]”
u/Mentioned_Videosin r/compsci • Mentions
On “Entertaining CS YouTube channels?”