No video

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

  Рет қаралды 18,194

ciciplusplus

ciciplusplus

Күн бұрын

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
Ported source code from the book github.com/cic...
Playable web version ciciplusplus.g...
Book (not affiliated)
www.amazon.com...
Social
My Github github.com/cic...
My Twitter / ciciplusplus
Videos
Cicoparser project • Cicoparser: Full game ...
github.com/gab...
Other
Real-Time Rendering Graphics Books Page www.realtimere...
3D Math Primer for Graphics and Game Development gamemath.com
MUSIC
Epic CUT.mp3 by Damiano Baldoni
freemusicarchi...
"A Bit Of Hope" by David Fesliyan
www.fesliyanst...
Royalty free music from www.FesliyanSt...
Catchy Funky by Defrini
freemusicarchi...
[BlueProject Extended Version] Initial D - Deja Vu (Geoxor Remix) | Mister Vi
• [BlueProject Extended ...
Purple Planet Music - Mirrorball
Music: www.purple-pla...
Purple Planet Music - Inspiring Piano
Music: www.purple-pla...
Purple Planet Music - Lament
Music: www.purple-pla...
Free Funky Clavinet (F 011) by Lobo Loco
freemusicarchi...
"Madness of Linda" by Rafael Krux
freepd.com/com...
The Rebel Path - Cyberpunk 2077 (SiIvaGunner)
• The Rebel Path - Cyber...
Epic by Lite Saturation
freemusicarchi...
SOUNDS
"Twinkle Chimes" by everythingsounds
freesound.org/...
"Chime of Doom" by Kostas17
freesound.org/...
"Yawn 01" by Larakaa
freesound.org/...
"long wispy woosh2.wav" by newagesoup
freesound.org/...
VIDEOS
• Maxwell The Cat Spinni...
• You're going surfing o...
• arrow blinking green s...
• Japanese Guy Yelling
• Cyberpunk 2077 - Offic...
• Cheems Bonk Green Scre...
• The Simpsons gets hypn...
• Gamecube BIOS Corruptions
• 10 Minutes Of Cyberpun...
• Hoverforce gameplay (P...
• Stellar 7 gameplay (PC...
• Armored Fist gameplay ...
• Metaltech: Earthsiege ...
ART
Image by pikisuperstar on Freepik
Image by katemangostar on Freepik

Пікірлер: 63
@minihjalte
@minihjalte Жыл бұрын
I am in awe of your Cybersorcery.
@ciciplusplus
@ciciplusplus Жыл бұрын
Amen 🙏
@fdelduquenobre
@fdelduquenobre 2 ай бұрын
That was surprisingly really entertainment to watch. Thank you, cybersorcerer.
@ciciplusplus
@ciciplusplus 2 ай бұрын
thanks! glad you've enjoyed it :)
@Agent_Ax
@Agent_Ax Жыл бұрын
Ha Ha, Great video! I thought modern Opengl was hard, I forgot programmers existed in 1995 lol.
@ciciplusplus
@ciciplusplus Жыл бұрын
Thanks! :) Yes, actually the rendering pipeline of this engine is kinda similar to early versions of OpenGL one
@ugib8377
@ugib8377 Ай бұрын
This was a really cool video. Thanks a ton for the resource site at the end there.
@ciciplusplus
@ciciplusplus Ай бұрын
You're welcome! 👍
@FlavioSantos-uw1mr
@FlavioSantos-uw1mr 11 ай бұрын
Thanks, I was in doubt if I should make a game similar to old 3d engines, this book convinced me to do it
@RikkiCattermole
@RikkiCattermole Жыл бұрын
Good to see this book is getting some love :)
@emperor8716
@emperor8716 2 ай бұрын
Underrated as heck. Found myself laughing out loud multiple times while watching.
@ciciplusplus
@ciciplusplus 2 ай бұрын
thanks! :)
@NinjaRunningWild
@NinjaRunningWild Жыл бұрын
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…
@ciciplusplus
@ciciplusplus Жыл бұрын
yeah, the off-by-one error briefly mentioned in the video was due to a book error 😅 his next book is based on the DirectX, right?
@NinjaRunningWild
@NinjaRunningWild Жыл бұрын
@@ciciplusplus Yes, it’s 100% DirectX as are all his books following that one. Should be fairly easy to port to SDL. It’s just pixels after all. When I ported the initial Black3D code I did so to DirectX myself, adding texture-mapping, 3DS file loading (that alone took an entire summer of 12 hours a day, 7 days a week work. Complex format!), full lighting model with HSV lookup table, & a ton of other features. I also added GDI for windowed mode fallback as DirectX has, let’s just say, issues in dealing with 8 bit palettes (you can’t override the Windows own palette colors). Afterwards learning OpenGL was a cakewalk. So, as you can see. The info is quite valuable if not directly applicable.
@bvim75
@bvim75 9 ай бұрын
Do you also have the errata for "Tricks of the 3D Game Programming Gurus"? Of the authors you mentioned, which has the best book for a complete beginner with only a little c, c++ and highschool math in their bag? Thanks!
@RetroeXo
@RetroeXo Жыл бұрын
what a great video. Had a lot of fun watching this.
@ciciplusplus
@ciciplusplus Жыл бұрын
Thanks! glad it was fun to watch :)
@TheStephensonRocket
@TheStephensonRocket Ай бұрын
Praise be the great Cybersorcerer of legend 🧙‍♂
@joristube
@joristube 8 ай бұрын
Loved this book back in the day.
@Uhfgood
@Uhfgood 20 сағат бұрын
Andre Lamothe was a character that's for sure ;-)
@ciciplusplus
@ciciplusplus 2 сағат бұрын
for sure! :)
@cyanuranus6456
@cyanuranus6456 Жыл бұрын
Software Engineers Never Exists in Renaissance Times. I Love Writing 3D Game Engines
@cakeaterrrrr
@cakeaterrrrr Жыл бұрын
this is bold! thanks for sharing this man 🙂
@ciciplusplus
@ciciplusplus Жыл бұрын
🙏 thanks!
@joseantonioserrano6103
@joseantonioserrano6103 9 ай бұрын
I have that book 😅 It's actually quite good... but I bought it in the late 1990's 😃
@ciciplusplus
@ciciplusplus 9 ай бұрын
It's a great book! For their time 😅
@HalloGaming
@HalloGaming 8 ай бұрын
I bought mine used in a very poor condition :(
@fnoffer
@fnoffer Жыл бұрын
a fun journey 🙂, definitely going to take a look at the repository
@ciciplusplus
@ciciplusplus Жыл бұрын
let me know if you have any questions 😀
@Kaltinril
@Kaltinril 10 ай бұрын
I have this book :)
@jumanji4037
@jumanji4037 Жыл бұрын
I really enjoyed this video. Looking forward to seeing more content from your channel!
@ciciplusplus
@ciciplusplus Жыл бұрын
thanks 😄 I cannot promise a consistent schedule for the videos, but I'll try my best
@cosmicrdt
@cosmicrdt Ай бұрын
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.
@ciciplusplus
@ciciplusplus Ай бұрын
I think you could find a used one on Amazon or eBay, but yeah maybe still difficult to find for a good price
@derekgeorgeandrews
@derekgeorgeandrews 10 ай бұрын
omg I had this book as a kid. This is epic
@ciciplusplus
@ciciplusplus 10 ай бұрын
Did you become a cybersorcerer? :p
@sophiacristina
@sophiacristina 9 ай бұрын
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".
@ciciplusplus
@ciciplusplus 9 ай бұрын
Couldn't agree more! I think it's a big c standard mistake to not enforce enough size restrictions of types.
@welovebotlu8380
@welovebotlu8380 8 ай бұрын
I am learning opengl and creating my game engine, too.
@ciciplusplus
@ciciplusplus 8 ай бұрын
nice! good luck 🤞
@thomasgortler2087
@thomasgortler2087 11 ай бұрын
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 😂
@ciciplusplus
@ciciplusplus 11 ай бұрын
Oh yay! Texture mapping in DOS is always tricky to the point of being impractical. Not a surprise that the book just skim over it with just one small example ;)
@manuelsuarez7521
@manuelsuarez7521 Ай бұрын
amazing
@anthonyobryan3485
@anthonyobryan3485 9 ай бұрын
Hey, I have that book!
@ciciplusplus
@ciciplusplus 9 ай бұрын
lucky one!
@slow9199
@slow9199 11 ай бұрын
really great video!! :)
@ciciplusplus
@ciciplusplus 11 ай бұрын
Glad you liked it!!
@IsaacCode95
@IsaacCode95 8 ай бұрын
gotta say a laughed a lot as i am doing the same thing lol, nice one ! subscribed (:
@ciciplusplus
@ciciplusplus 8 ай бұрын
thanks :)
@fredericchopin4221
@fredericchopin4221 Жыл бұрын
great video
@ciciplusplus
@ciciplusplus Жыл бұрын
thanks 🙏
@nikeovsky
@nikeovsky 25 күн бұрын
Ах йес, грейт видео абоут креатинг сриди геймс, сэнк ю вери мач
@klaxons3020
@klaxons3020 Жыл бұрын
Классное видео! Спасибо мужик. Акцент немного напоминает русский. Вернее, будто ты его специально выражаешь.
@ciciplusplus
@ciciplusplus Жыл бұрын
I'm speaking from my heart, in English
@ebmpingu
@ebmpingu 9 ай бұрын
Hunters anyone found the book yet for free : )
@alvarohigino
@alvarohigino Жыл бұрын
This "magical culture" in CS world is something that bothers me a little bit; every book from 90s has these idiot jokes.
@nevezutchidebob7250
@nevezutchidebob7250 3 ай бұрын
suka blyat' engine! ❤
@barnabyfontana7528
@barnabyfontana7528 7 күн бұрын
So, you spent money... on a book that was released as "freeware" by the author and editor, Andrè, a decade ago?
@ciciplusplus
@ciciplusplus 6 күн бұрын
it was released as "freeware"? I wasn't aware
@zx_gamer1381
@zx_gamer1381 9 ай бұрын
Характерный русский акцент) Круто)
@ёжик.в.тумане-9
@ёжик.в.тумане-9 Ай бұрын
это чё ,нотки русского?
4 Months of Game Programming With My Own Engine
21:30
jdh
Рет қаралды 451 М.
every step to actually make your dream game (then sell it)
24:27
王子原来是假正经#艾莎
00:39
在逃的公主
Рет қаралды 13 МЛН
Or is Harriet Quinn good? #cosplay#joker #Harriet Quinn
00:20
佐助与鸣人
Рет қаралды 6 МЛН
Magic? 😨
00:14
Andrey Grechka
Рет қаралды 20 МЛН
Gli occhiali da sole non mi hanno coperto! 😎
00:13
Senza Limiti
Рет қаралды 21 МЛН
I Spent 100 HOURS Making a Game With NO GAME ENGINE
13:42
Fuelvin
Рет қаралды 338 М.
I MADE A 3D HORROR GAME USING ASSEMBLY
27:14
[GC] GreatCorn
Рет қаралды 1,8 М.
A new way to generate worlds (stitched WFC)
10:51
Watt Designs
Рет қаралды 525 М.
Is Procedural Animation Worth it?
19:47
Benjamin Blodgett
Рет қаралды 79 М.
I Turned Fake Mobile Game Ad into a Real Game
10:26
Fat Dino
Рет қаралды 3,5 МЛН
I Optimised My Game Engine Up To 12000 FPS
11:58
Vercidium
Рет қаралды 650 М.
My Game Dev Workflow & Tools in 2024
6:14
JamieDev
Рет қаралды 166 М.
王子原来是假正经#艾莎
00:39
在逃的公主
Рет қаралды 13 МЛН