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

Поделиться
HTML-код
  • Опубликовано: 5 окт 2024
  • 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

Комментарии • 65

  • @minihjalte
    @minihjalte Год назад +30

    I am in awe of your Cybersorcery.

  • @fdelduquenobre
    @fdelduquenobre 4 месяца назад +6

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

    • @ciciplusplus
      @ciciplusplus  4 месяца назад +1

      thanks! glad you've enjoyed it :)

  • @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

  • @ugib8377
    @ugib8377 2 месяца назад +2

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

  • @Agent_Ax
    @Agent_Ax Год назад +24

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

    • @ciciplusplus
      @ciciplusplus  Год назад +2

      Thanks! :)
      Yes, actually the rendering pipeline of this engine is kinda similar to early versions of OpenGL one

  • @RikkiCattermole
    @RikkiCattermole Год назад +9

    Good to see this book is getting some love :)

  • @Another_El_User
    @Another_El_User 2 дня назад +1

    1:33 Now I understand why the Adeptus Mechanicus act like that. They read that book.
    Interesting video

  • @emperor8716
    @emperor8716 3 месяца назад +2

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

  • @NinjaRunningWild
    @NinjaRunningWild Год назад +8

    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  Год назад +2

      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 Год назад +2

      @@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 10 месяцев назад +1

      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 Год назад +7

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

    • @ciciplusplus
      @ciciplusplus  Год назад +1

      Thanks! glad it was fun to watch :)

  • @TheStephensonRocket
    @TheStephensonRocket 3 месяца назад +1

    Praise be the great Cybersorcerer of legend 🧙‍♂

  • @joristube
    @joristube 9 месяцев назад +2

    Loved this book back in the day.

  • @cakeaterrrrr
    @cakeaterrrrr Год назад +2

    this is bold! thanks for sharing this man 🙂

  • @cyanuranus6456
    @cyanuranus6456 Год назад +3

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

  • @fnoffer
    @fnoffer Год назад +3

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

    • @ciciplusplus
      @ciciplusplus  Год назад

      let me know if you have any questions 😀

  • @Uhfgood
    @Uhfgood Месяц назад +1

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

  • @joseantonioserrano6103
    @joseantonioserrano6103 11 месяцев назад +7

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

    • @ciciplusplus
      @ciciplusplus  11 месяцев назад +1

      It's a great book!
      For their time 😅

    • @HalloGaming
      @HalloGaming 10 месяцев назад +1

      I bought mine used in a very poor condition :(

  • @jumanji4037
    @jumanji4037 Год назад +1

    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

  • @Kaltinril
    @Kaltinril 11 месяцев назад +3

    I have this book :)

  • @manuelsuarez7521
    @manuelsuarez7521 3 месяца назад +1

    amazing

  • @derekgeorgeandrews
    @derekgeorgeandrews Год назад +2

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

    • @ciciplusplus
      @ciciplusplus  Год назад +3

      Did you become a cybersorcerer? :p

  • @welovebotlu8380
    @welovebotlu8380 9 месяцев назад +3

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

  • @cosmicrdt
    @cosmicrdt 3 месяца назад +1

    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  3 месяца назад

      I think you could find a used one on Amazon or eBay, but yeah maybe still difficult to find for a good price

  • @sophiacristina
    @sophiacristina 10 месяцев назад +3

    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  10 месяцев назад +2

      Couldn't agree more! I think it's a big c standard mistake to not enforce enough size restrictions of types.

  • @thomasgortler2087
    @thomasgortler2087 Год назад +2

    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  Год назад

      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 ;)

  • @nikeovsky
    @nikeovsky 2 месяца назад +1

    Ах йес, грейт видео абоут креатинг сриди геймс, сэнк ю вери мач

  • @anthonyobryan3485
    @anthonyobryan3485 10 месяцев назад +3

    Hey, I have that book!

  • @IsaacCode95
    @IsaacCode95 9 месяцев назад +1

    gotta say a laughed a lot as i am doing the same thing lol, nice one ! subscribed (:

  • @fredericchopin4221
    @fredericchopin4221 Год назад +3

    great video

  • @slow9199
    @slow9199 Год назад +1

    really great video!! :)

  • @klaxons3020
    @klaxons3020 Год назад +2

    Классное видео! Спасибо мужик. Акцент немного напоминает русский. Вернее, будто ты его специально выражаешь.

    • @ciciplusplus
      @ciciplusplus  Год назад +4

      I'm speaking from my heart, in English

  • @nevezutchidebob7250
    @nevezutchidebob7250 5 месяцев назад +1

    suka blyat' engine! ❤

  • @ebmpingu
    @ebmpingu 10 месяцев назад +1

    Hunters anyone found the book yet for free : )

  • @barnabyfontana7528
    @barnabyfontana7528 Месяц назад

    So, you spent money... on a book that was released as "freeware" by the author and editor, Andrè, a decade ago?

    • @ciciplusplus
      @ciciplusplus  Месяц назад

      it was released as "freeware"? I wasn't aware

  • @ёжик.в.тумане-9
    @ёжик.в.тумане-9 2 месяца назад

    это чё ,нотки русского?

  • @zx_gamer1381
    @zx_gamer1381 10 месяцев назад +1

    Характерный русский акцент) Круто)

  • @alvarohigino
    @alvarohigino Год назад +2

    This "magical culture" in CS world is something that bothers me a little bit; every book from 90s has these idiot jokes.