Loading Levels // Remaking My First Game in C++

To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/TheCherno. The first 200 of you will get 20% off Brilliant’s annual premium subscription!
Patreon ► / thecherno
Instagram ► / thecherno
Twitter ► / thecherno
Discord ► / discord
Hazel ► hazelengine.com
🕹️ Play our latest game FREE (made in Hazel!) ► studiocherno.itch.io/saving-c...
🌏 Need web hosting? ► hostinger.com/cherno
💰 Links to stuff I use:
⌨ Keyboard ► geni.us/T2J7
🐭 Mouse ► geni.us/BuY7
💻 Monitors ► geni.us/wZFSwSK
This video is sponsored by Brilliant.

Пікірлер: 52

  • @TheCherno
    @TheCherno Жыл бұрын

    Who else is excited for this series to be back?? I sure am! ❤ To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/TheCherno. The first 200 of you will get 20% off Brilliant’s annual premium subscription!

  • @MyRandomChannel24

    @MyRandomChannel24

    Жыл бұрын

    I am Getting Supporter III soon

  • @mr.erikchun5863

    @mr.erikchun5863

    Жыл бұрын

    There is something about your face and voice that annoys me. That hair isn't helping either.

  • @Byynx
    @Byynx Жыл бұрын

    What about increasing OpenGL series tutorial with real but simple case scenarios like collision, movement, etc...?

  • @captainfordo1

    @captainfordo1

    Жыл бұрын

    You can just look at any collision and movement tutorial and apply it to your project. The code isn’t dependent on OpenGL specifically.

  • @Byynx

    @Byynx

    Жыл бұрын

    @@captainfordo1 That's right but if give you the math formulas to make a rocket or any tech does that means you are able to do it. If people don't have the required quality to teach that doesn't matter. That's why we like Cherno. We always need the right person to teach a thing to be able to do it too.

  • @syneremos
    @syneremos8 ай бұрын

    You're by far one of the best programming channels. No grift, and a pure appreciation for the craft.

  • @dav1dsm1th
    @dav1dsm1th Жыл бұрын

    Yes, I'm enjoying the series. I'm still not a c++ developer, but every episode demystifies more aspects of the language and the techniques that can/should be used. Thanks for the videos.

  • @antonvalkenberg
    @antonvalkenberg Жыл бұрын

    Very much enjoying this series, it's helping me learn C++ while simultaneously assisting in porting my own game from Java to C++ 🤭 (I had written that game for an internship and it's no longer runnable-code ^^ would be great to have a working game again...)

  • @JonathanLeeDev
    @JonathanLeeDev Жыл бұрын

    Love this series, I'm a Java developer but C++ will always be my first love!

  • @vardmans
    @vardmans Жыл бұрын

    Dude! If you could show us how to make a game from scratch in C++ it would be maze balls! I have finished your C++ series and now playing around with socket programming but I really want to make games and I totally kind of can not grasp the basic concept of how it all works and I kind`a feel like there are many out there who are suffering the same fate :D Lookin forward to it! Thanks for amazing educational videos!

  • @anon_y_mousse
    @anon_y_mousse Жыл бұрын

    I also wanted to mention that the main theme is a beautiful piece.

  • @anon_y_mousse
    @anon_y_mousse Жыл бұрын

    You should probably put a link to Genesis in the description. Also, when you finish this whole series are you going to publish the source for the translation as well?

  • @markmuir7338
    @markmuir7338 Жыл бұрын

    Programming on old retro machines is quite different than you imply: you didn't push individual pixels - there wasn't enough memory or CPU performance to do that! Instead, they relied heavily on graphics hardware to render sprites and background tiles - all done just in time for the current scan line of the CRT. It's incredible what was achieved with so little memory.

  • @ABaumstumpf

    @ABaumstumpf

    10 ай бұрын

    Yeah, having just a few CPU-cyles to prepare the data for the next scanline. On system without hardware-sprites that meant that consoles like the Atari2600 had nearly no time to run the actual program-logic as most of the time was used on setting up every individual pixels. On consoles with sprite-hardware it was a completely different beast - you "only" had to set up which sprites had to be drawn that scanline, and maybe take into consideration the sprite-limit per line.

  • @ABaumstumpf
    @ABaumstumpf10 ай бұрын

    unique_ptr vs shared_ptr - no, the real difference is NOT the performance - that is a tiny difference, in your code irrelevant - but the meaning behind them: Unique_ptr means that this one pointer actually is the one and ONLY owner of the pointer and there should be NOBODY ELSE that has access to the held resource, where as shared_ptr means that you have a resource that many different classes could need and require to be alive and only when they are all done with it can it be discarded. What you said is kinda like saying "yeah using the correct type is annoying so i just use void* for everything cause i know the type anyways".

  • @overcommon7662
    @overcommon7662 Жыл бұрын

    You are actually able to convert filesystem::path to a regular string with path.generic_string()

  • @KIonutzR
    @KIonutzR Жыл бұрын

    @22:15 "Unique pointers are so annoying to pass around". Yeah, that's kinda the ... "point". Exclusive vs shared ownership of a resource, each with its own use-case. Performance doesn't even factor into the decision. Decision about which one to use comes down to answering the question "Who owns/is responsible for this?" and design your code around that. shared_ptr should almost always be a last resort as it adds more problems than it solves and always accessed via a weak_ptr when possible. A lot of newbies watch these videos and stuff like this sticks with them and the last thing anyone wants is people learning about this to say "I'll just use shared_ptr everywhere because I might need to pass this around".

  • @raoulwallenberg5735

    @raoulwallenberg5735

    Жыл бұрын

    Thank you for that comment!

  • @Xenthera
    @Xenthera Жыл бұрын

    This is sick! I was a C# developer professionally (java hobbyist before that) and i'm currently getting comfortable in C++ to use for all my current hobby projects. It's extremely mentally stimulating to see you lay out all the concepts of Java but imagined in C++. I have my walking legs, but this helps me chip away at getting my running legs for C++. Also side note, i played minecraft around 2012 with you, made a room full of cake I think, glad to see how you've really grown your youtube channel since then. Cheers.

  • @redcrafterlppa303
    @redcrafterlppa303 Жыл бұрын

    6:46 I know this is an old project that was done in 48 hours.. But this is why you encapsulated such logic in a Rectangle and Point class. Then it would be a simple call to r.isPointInRechtangle(p)

  • @first9279
    @first9279 Жыл бұрын

    I remember another series which I would be excited if it continued...

  • @mnnorgate
    @mnnorgate Жыл бұрын

    Probably a bit advance for what you're wanting to show at the moment, but it would be interesting to see the level rendering using a shader to convert the map png into tiles

  • @aloluk
    @aloluk Жыл бұрын

    Why are you porting it stll as a software renderer?

  • @stefanstefanov00
    @stefanstefanov00 Жыл бұрын

    Not sure why you've linked the "Flying Dog" game in the description?

  • @DiversityCraft
    @DiversityCraft Жыл бұрын

    You forgot to link "How to make local variables in C++" in the top right as mentionned at 0:56 :)

  • @TBC1599

    @TBC1599

    Жыл бұрын

    global*

  • @adarshap8343
    @adarshap8343 Жыл бұрын

    👍👍

  • @Spongman
    @Spongman Жыл бұрын

    I would highly recommend (everyone) learn what an r-value is and how long they live.

  • @cnitrotimes
    @cnitrotimes Жыл бұрын

    Hello! Can you please make video about game development in C++ step by step? Thanks for response in advance.

  • @zweitekonto9654

    @zweitekonto9654

    Жыл бұрын

    You gotta pay him first

  • @cnitrotimes

    @cnitrotimes

    Жыл бұрын

    @@zweitekonto9654 if his course were in udemy, I would buy it

  • @ABaumstumpf
    @ABaumstumpf10 ай бұрын

    The cast of unit8_t to unit32_t... likely it will "work" but it is completely undefined behaviour. Basically to do this correctly you would need to use C++20 std::bit_cast. Just annoying.

  • @senshai1267
    @senshai1267 Жыл бұрын

    I hear that c++ is more popular among game devs , I wanna learn some too

  • @captainfordo1

    @captainfordo1

    Жыл бұрын

    Learn C first, and maybe you’ll even stick with it over C++.

  • @anon1963

    @anon1963

    8 ай бұрын

    @@captainfordo1 lmao no, you only use c when you have limited space.

  • @mikael8276
    @mikael8276 Жыл бұрын

    Next time code Genesis in machine code.

  • @Jkauppa
    @Jkauppa Жыл бұрын

    maf

  • @Jkauppa

    @Jkauppa

    Жыл бұрын

    if you put vertex data to gpu dedicated memory and texture data in system cpu ram that can be directly accessed from the gpu, then you can fetch the textures for the deferred rendering (a bit slower after you already know what pixels/textures you need from cpu system ram, say 32gb system ram and 10gb gpu dedi ram)

  • @Jkauppa

    @Jkauppa

    Жыл бұрын

    the whole point is texture streaming still having them in the fast memory ddr4/ddr5, not from ssd/disk, if you have limited gpu ram for high resolution textures

  • @Jkauppa

    @Jkauppa

    Жыл бұрын

    must touch grass :)

  • @FasterMars16
    @FasterMars16 Жыл бұрын

    First

  • @n-c0d3r
    @n-c0d3r Жыл бұрын

    First comment 😂

  • @ryanhi6199
    @ryanhi6199 Жыл бұрын

    CHATGPT JUST TOLD ME YOU ARE #1 IN RECOMMENDATIONS FOR LEARNING C++ IS THIS TRUE? DID YOU HELP CREATE CHATGPT?

  • @Notverygoodatall
    @Notverygoodatall Жыл бұрын

    The java version is superior

  • @zweitekonto9654

    @zweitekonto9654

    Жыл бұрын

    No effing way

  • @pumpkin7976

    @pumpkin7976

    Жыл бұрын

    everythings wrong w u

  • @vigneshvinoth2837
    @vigneshvinoth2837 Жыл бұрын

    Bro I want one of help you talk English please under video word in English bro

  • @JOURNEY-NEVER-ENDS
    @JOURNEY-NEVER-ENDS Жыл бұрын

    how you got this game after 10 years?😬😬😬really ? are you joking just for content, or its real

  • @glennmerrill88ify

    @glennmerrill88ify

    Жыл бұрын

    What do you mean lol, that was a game he made in a couple days. Either way, making fun of someone's work isn't cool.

  • @not_ever

    @not_ever

    Жыл бұрын

    I don't understand what you don't understand. He made a game, possibly the first game he ever made, 10 years ago for a 48 hr game jam and now he is remaking it in C++ for shits and giggles.

  • @zweitekonto9654

    @zweitekonto9654

    Жыл бұрын

    @@not_ever He's just asking how is the code laying around with him even after 10 years. Chill.