Writing a 3D game engine without Unity like it's 1995 again

preview_player
Показать описание
I've decided to learn how to write 3D games from scratch. Can an ancient mystical book help me?

#RETROGAMING #gamedevelopment #3D #DOSEMBER #ciciplusplus

LINKS

Source code

Book (not affiliated)

Social

Videos

Other

MUSIC

Epic CUT.mp3 by Damiano Baldoni

"A Bit Of Hope" by David Fesliyan

Catchy Funky by Defrini

[BlueProject Extended Version] Initial D - Deja Vu (Geoxor Remix) | Mister Vi

Purple Planet Music - Mirrorball

Purple Planet Music - Inspiring Piano

Purple Planet Music - Lament

Free Funky Clavinet (F 011) by Lobo Loco

"Madness of Linda" by Rafael Krux

The Rebel Path - Cyberpunk 2077 (SiIvaGunner)

Epic by Lite Saturation

SOUNDS

"Twinkle Chimes" by everythingsounds

"Chime of Doom" by Kostas17

"Yawn 01" by Larakaa

VIDEOS

ART

Image by pikisuperstar on Freepik
Image by katemangostar on Freepik
Рекомендации по теме
Комментарии
Автор

That was surprisingly really entertainment to watch. Thank you, cybersorcerer.

fdelduquenobre
Автор

This was a really cool video. Thanks a ton for the resource site at the end there.

ugib
Автор

Thanks, I was in doubt if I should make a game similar to old 3d engines, this book convinced me to do it

FlavioSantos-uwmr
Автор

Ha Ha, Great video!
I thought modern Opengl was hard, I forgot programmers existed in 1995 lol.

Agent_Ax
Автор

Good to see this book is getting some love :)

RikkiCattermole
Автор

I had a 40 page errata list after reading that. Lots of math errors, but, hey, it is a 1200+ page book. His followup "Tricks of the 3D Game Programming Gurus" takes everything in that FAR beyond it; gouraud shaded texture mapped polys. It's worth reading if you liked that.

Incidentally, I don’t agree it’s only a book of value during its heyday. Very few books cover the entire rasterization *&* basic 3D pipeline. There’s LaMothe, Brian Hook, John DeGoes, & Christopher Lampton (& Abrash, but he’s definitely more difficult that those others & highly tied to ASM in DOS). You proved yourself that by extracting the content & porting it you can get out of the book what the author intended. It, like any tech book, is just using the technology of the time. Kids these days…

NinjaRunningWild
Автор

what a great video. Had a lot of fun watching this.

RetroeXo
Автор

Underrated as heck. Found myself laughing out loud multiple times while watching.

emperor
Автор

Praise be the great Cybersorcerer of legend 🧙‍♂

TheStephensonRocket
Автор

this is bold! thanks for sharing this man 🙂

cakeaterrrrr
Автор

Software Engineers Never Exists in Renaissance Times. I Love Writing 3D Game Engines

cyanuranus
Автор

I have that book 😅 It's actually quite good... but I bought it in the late 1990's 😃

joseantonioserrano
Автор

I really enjoyed this video. Looking forward to seeing more content from your channel!

jumanji
Автор

a fun journey 🙂, definitely going to take a look at the repository

fnoffer
Автор

Me watching this video:
"I hope he gets a bug for not realizing 'int' in DOS is 16-bits! Hihihihi".

6:07 and i was not disappointed...
I know your feeling, i also tried to do a DOS demo and i was looking into my code from top to bottom and bottom to top to understand my error...

That is also why i use 'uint32_t' nowadays, because with this error in DOS i truly learned what is the meaning of the type system. 'int' is for when you don't care about the size the system will consider as 'int'. Who knows?! Maybe in the future an 'int' will be 64 bits? But using 'uint32_t' you ASSURE that it will be 32 bits.
I wish people taught me that when i was noob. I remember once a gentleman teaching me that i should use "size_t" instead of 'int' when i was noob. I had not understood it at the time, "isn't size_t just an unsigned long long? Is that for convenience or to shorten all that amount of words?".

However, when you are new, everyone teaches you C++ by this "for (int n = 0", and i think they should teach at least to use "for (unsigned int" instead, but in fact i believe that they should teach like:
"for (int n" is a loop, but, if you aren't going to use signed numbers, it is ideal that you use "for (size_t" instead", and give a brief explanation of "why".

sophiacristina
Автор

Andre Lamothe was a character that's for sure ;-)

Uhfgood
Автор

I always wanted to buy this book but as a kid I couldn't afford it and now as an adult I can't justify the price. I own several of his other books they're quite good.

cosmicrdt
Автор

omg I had this book as a kid. This is epic

derekgeorgeandrews
Автор

I am learning opengl and creating my game engine, too.

welovebotlu
Автор

Almost forgot about that book (man I'm getting old...er). Tried to port the 3d part to Borland Pascal back in the days of dos and SVGA. Got it working even with texture mapping but those 64kb max arrays ... phew ... those were the days without the net 😂

thomasgortler