Even after all these years, this is still the best C++ game engine tutorial series. I hope you know that your videos have been a tremendous help and inspiration to me, and they greatly influenced my decision to enter this industry. Through your videos, I have gradually developed an engineer's mindset, not just limited to implementing certain features. I am extremely grateful.
@PrimeBukkIT5 жыл бұрын
I might not create my own engine through your tutorials but I love your videos anyway. It is nice to find a well-structured video about C++ coding with someone who's as experienced as you.
@ShivamJha005 жыл бұрын
Yes, true
@johnkangwa47965 жыл бұрын
Wow I am loving your videos. I am writing my own dx12/vulkan engine and you've opened my eyes.
@proferorz37785 жыл бұрын
lucky! i suggest add dx 11, no all pc's have windows 10, someone have 7 or 8.1
@NymezWoW3 жыл бұрын
@@proferorz3778 This is not a good advice. No one cares about Windows 7 / 8.1 anymore. And if you start developing an engine now, by the time you are going to release something build on top of your engine, those operating systems will be even less relevant.
@iamlogdog3 жыл бұрын
@@NymezWoW I know that this is a pretty old thread, but the statement "no one cares about windows 7 anymore" is just flat out false. Windows 7 still has a much higher market share than Linux for example, and I don't think you could say "nobody cares about Linux" as easily.
@NymezWoW3 жыл бұрын
@@iamlogdog Linux is still maintained. Windows 7 is not. It has no future.
@bltzcstrnx Жыл бұрын
@@NymezWoW you're generalising a lot here. Linux is to Windows, not Windows 7. Saying Linux is still maintained is like saying Windows is still maintained. Doesn't make any sense at all. Older Linux such as version 3 are in fact already not maintained at all. There are a lot of features that exists only in latest Linux version, just like there are more features that exists in Windows 11 compared to Windows 7.
@Matt234885 жыл бұрын
Definitely would like Vulkan support at some point. I do plan on adapting this engine and hopefully using it to make my own game(s) in the future. It would be super cool to get games on something like the Nintendo Switch and if that requires Vulkan, I want it, lol. Thanks again for this series, it's extremely valuable to me and I'm sure many others.
@zetadimensions5 жыл бұрын
This is how PowerPoint presentations (and presentations in general) should be made. It's straight to the point and easy to understand. Good work!
@wexalian5 жыл бұрын
I have no idea how Vulkan code looks and it sounds scary but i'm looking forward to seeing you implement it and learn it myself as well.
@jamesmnguyen5 жыл бұрын
Vulkan is beast, but if you already know OpenGL, then you'll hate it but secretly love it. Vulkan is very similar to DX12.
@Shifticek5 жыл бұрын
you can look up 'creating vulkan renderer from scratch' here on yt, it looks scary at first since it's very verbose, but once you get used to it it's quite fun to use
@jamesmnguyen5 жыл бұрын
@@Shifticek Vulkan is very verbose, but somehow, it makes me feel better programming with it, no hidden code, no assumptions.
@darkmissionofficialАй бұрын
I won't be a GameEngine Dev without you
@brennansalibrici5 жыл бұрын
I have learned more here from these videos than any course I've taken to date!!! This is a little throw back to the C++ series. Would you be willing to do a video about best practices or the most efficient methods of 'interop-ing' between managed and unmanaged code?
@TheShadoDragon5 жыл бұрын
I like the way this series is heading. With more OpenGL videos we can learn more in-dev things about for example the frame buffers you mentioned while this series can focus more on the general approach of how a game engine can be designed. With OpenGL as it's base it also means we don't have to wait forever for the basic things to work. This way, people who want to use Vulkan can still implement Vulkan while others might go with DX11/12 or OpenGL or Metal 1/2 without having to wait so long just because it might be faster to implement with their API as it would be if you would go with Vulkan instead. Thought I'd love to see first of all Vulkan and later on DirectX in the future as well. It should be especially interesting to see how a game engine interacts with multiply rendering-api's in code. For my own projects so far, my biggest problem has always been where to draw this line between render API and renderer, especially as I'm still learning C++ and Vulkan. At the end of one project, I always find myself in the position that I could have done thousands of things differently, be it either because I learned new things in Vulkan/C++ or because one or another design decision didn't play out in the end. Guess I'll start another engine in the near future. It'll be interesting to see the differences between your design, someone who works on Games as a professional and the design decisions I made in the past. :) For scripting, I would love to see a C# integration. Another idea of mine would be to port the engine to Android. I always wondered how game engines create APK files and how they integrate with all those native java or kotlin based android libraries and APIs. Especially since so much changes between android versions, like the app permissions or the new app bundles or instant apps.
@csisyadam5 жыл бұрын
Thanks for the videos! Just a side note: some of your "Game engine series" videos (like this one) are actually not added to the playlist. It is recommended to make a filter that automatically adds these kind of videos to your playlist. :)
@zetadimensions5 жыл бұрын
I, personally, am waiting on the DirectX 12 implementation in this series.
@graph2001 Жыл бұрын
AIGC: - The video is part of a game engine series and focuses on rendering architecture. - The presenter expresses gratitude to patrons for supporting the series and keeping it going. - There are two sides to the rendering system in a game engine: the render API, which is specific to graphics APIs such as OpenGL and DirectX, and the platform-independent side. - The presenter talks about the various components needed for the render API, including the render context, swap chain, frame buffer, vertex buffer, index buffer, texture API, shared API states, pipelines, and render passes. - The video is geared towards practical implementation and will be using OpenGL as an example.
@DaveAxiom5 жыл бұрын
The reason that's given for why Vulkan is a low priority in this project is that it's not beginner friendly. It sounds like there should be a wrapper library for Vulkan to make it more accessible. This game engine is a library though but regardless, DirectX 12 and Metal are proprietary. Looking at it from a teaching perspective and tech perspective, adopting proprietary APIs binds learners and end users to specific platforms and their respective business models.
@oahda5 жыл бұрын
I recommend looking into bgfx by bkaradzic on GitHub if you haven’t heard of it! c: It’s a low level wrapper around the most common graphics API’s. Vulkan is still WIP but on the way!
@dominionscave47525 жыл бұрын
Rather than trying to create a renderer API engine for all Render APIs, would not game developers select a single Render API, and depending upon which platform one is developing for, select a render API for a single platform, or in the case of cross platform, select the API that is cross platform? So, would not for cross platform, it is Vulcan, or even openGL for lower requirements. And would not each Render API have different features not present on others that would determine which is selected depending upon ones needs ? But any way, I find all these videos quite informative and good to give a better understanding of C++ and how game engines are put together. Keep up the good altruistic work.
@_Omni5 жыл бұрын
26:47 R.I.P.
@gellertli29165 жыл бұрын
You are the only youtuber that I hit like button before even watching the video
@juliusherbert7095 жыл бұрын
Me too! He is definitely a very honest guys! I wish you the best with this channel and for your entire life!
@shanebenlolo48665 жыл бұрын
This is amazing, thank you so much just wow
@jonphillips40825 жыл бұрын
Congrats!, just do your thing man, always appreciate all your time and effort, you need to have time for yourself. Just don't get in any trouble at that Bach. party, we would like to see you again! Hehehe, hope you have a lot of fun man.
@sam_is_people11703 жыл бұрын
thanks!
@ArchiWorldRuS5 жыл бұрын
Hey, thank you so much for your lessons)
@4teapo2 жыл бұрын
What would u say about render/frame graphs? It looks pretty cool but a downside would be async compute.
@idreesaziz5695 жыл бұрын
Looking forward to the dx12 and vulkan implimentation.
@younghsiang25095 жыл бұрын
A lot of useful stuff!!!!!
@AmeshaSpentaArmaiti5 жыл бұрын
Every time someone mentions Vulkan I get an itch to learn it, but I've never even got a triangle up. Just the setup is miles more complicated than OpenGL. I'm gonna try it again, I really do want to learn.
@ticdonutac5 жыл бұрын
There is a good write-up from Intel. Also if you wanna look at finished code you can lookup the granite renderer on GitHub.
@Youngermaster5 жыл бұрын
Excelent video
@MrCipek12215 жыл бұрын
Nice vid :P Keep going!
@BlackPointOutdoors3 жыл бұрын
17:41
@lucah46135 жыл бұрын
i know ur on that engine grind but i would love a mutex video for c++
@chris_burrows5 жыл бұрын
@Pro PlexTM sunday?
@duo13145 жыл бұрын
Will you come to GDC this week??
@JakobRobert004 жыл бұрын
Is it some kind of natural law, that the more low-level an API is, the more flexible and the more performant it is? Or could we some day reach a state where we can program very high-level and reach the same amount of performance as with Vulkan or DirectX 12? E.g. nowadays there is almost no need to program in Assembly, because compilers are well optimized and it is unlikely that you will do it better by hand than the compiler does it for you. And compiled languages like C++ are still very generalistic.
@renanangelodossantos47265 жыл бұрын
Excellent, keep it up ;)
@nextlifeonearth5 жыл бұрын
I would love to see this engine in Vulkan. I'm concerned that if you start in OpenGL that you can't get all the benefits from Vulkan (or D3D12/PS4 graphics API) without refactoring a lot of code later on, like multiple draw call threads etc. Just an idea.
@dw28435 жыл бұрын
It's way to complex for a tutorial series imo. Have you seen how hard it is to draw a triangle?
@nextlifeonearth5 жыл бұрын
@@dw2843 Yes. I've done it, which is also why I'd like to see it in the series.
@dw28435 жыл бұрын
@@nextlifeonearth If you've done it, you would know how long it would take to explain all those lines of code. We wouldn't get too far.
@nextlifeonearth5 жыл бұрын
@@dw2843 That's just the setup. And like OpenGL, he won't explain the API in the game engine series. He has a separate series for that. And as such, he only needs to explain the game engine side. Setup is partially copy paste and tweaking the settings to your needs. Compared to the setup the rest is not much harder than D3D11, and though it's more code, it's quite straight forward.
@dw28435 жыл бұрын
@@nextlifeonearth Oh right. Forgot that he mentioned that. If he's not explaining the API, I would be interested in Vulkan too!
@billycrooks84015 жыл бұрын
I'm Victorian too, thought you were European or something. Guess this proves that the best KZbinrs cone from 'straya
@brod5155 жыл бұрын
no it doesn't
@chris_burrows5 жыл бұрын
@@brod515 I don't think he lives in Australia permanently.
@SFrankRicharrd5 жыл бұрын
Why are you not using ogre3d or bgfx or nvidia optix, which already has decent rendering techniques. ? Bgfx support almost every rendering platforms. Is there any specific reason?
@chris_burrows5 жыл бұрын
Because this is an educational journey designed to teach you how to write your own.
@supersim13574 жыл бұрын
Vulkan!!
@zephyrox25 жыл бұрын
You are not supposed to know about the bachelor party in advance!
@temps19595 жыл бұрын
hey can the scripting language be lua?
@berthold645 жыл бұрын
how about... Javascript?
@loryon5 жыл бұрын
Or C#
@scrub65155 жыл бұрын
@@loryon C#
@berthold645 жыл бұрын
@@loryon I think C# could be very complicated to implement, because you have to deal with MSIL compiler and runtime thingy.
@nextlifeonearth5 жыл бұрын
@@berthold64 Unity uses mono too, it's not that complicated. Though any GC language is not really desirable for game development. You're better off with using native scripting performance wise.
@jesusredondo5135 жыл бұрын
I would like to know... what do you think about BGFX?
@nextlifeonearth5 жыл бұрын
Not Yan, but IMO it's too much of an abstraction to get what you really want. What Yan was talking about here, that some parts would still need to be native, BGFX still tries to abstract. For high performance/high fidelity you will hit a ceiling sooner than later if you're using BGFX.
@matanmigdal71085 жыл бұрын
hmmm what whit skybox and lights?
@chris_burrows5 жыл бұрын
huh?
@richardlighthouse53285 жыл бұрын
Before 50 viewers
@dnavas77195 жыл бұрын
Can anyone recommend a book/video/ (paid/unpaid) to learn DirectX?
@adr_12_435 жыл бұрын
Chilli tomato noodle yt channel
@dnavas77195 жыл бұрын
@@adr_12_43: Awesome! thanks, not sure why couldn't find him before
@maxi-g4 жыл бұрын
include directx
@agfd56595 жыл бұрын
Hewwo
@202708139780952105 жыл бұрын
this is so exciting! also 💒💍💕😊
@JustARegularPlayer3 жыл бұрын
A comment with 0 likes and 0 replies? With a creator heart? Wow, you don't see it everyday!
@seditt51465 жыл бұрын
You keep talking about liking DirectX and how its better, nicer, faster( a lot faster from benchmarks I have run) Why do you do all your tutorials on OpenGL? When are we going to get a C++ DirectX tutorial already? There is not really many out there but tons of OpenGL tutorials. I want to see a DirectX 11 or 12 Tutorial from you instead.
@dariusduesentrieb5 жыл бұрын
DirectX does not really work for development on Linux and Linux has over 20% market share with developers.
@seditt51465 жыл бұрын
@@dariusduesentrieb I know but at the same time the overall market share of linux hovers around 2% total so it basically is linux developers developing for nothing other then other linux developers lol. I think I got that recursion right. But seriously though, most people use Windows, and DirectX is much faster and better supported cleaner API since its native to the OS itself. As he himself states many times DX is better yet we see him doing no directX code. I personally would like to see it because OpenGL tutorials are a dime a dozen. I mean hell, if I am not mistaken Apple is cutting OpenGL in favor of Metal and Apple has a much larger share then linux so a tutorial should stress that before it panders to the linux market. Don't get me wrong, I like linux and do some code there myself but that is not the point right now. Almost everyone has Windows machines anymore.
@dariusduesentrieb5 жыл бұрын
@@seditt5146 You can develop with OpenGL on Linux for Windows and Linux so Linux developers do *not* develop only for other Linux users. Also, DirectX is not really faster than OpenGL. If it is indeed faster then not that much that it would matter for our level of understanding. Additionally, it seems like the current trend is towards portability (see for example how much Steam tries to get games working on Linux (Proton)). So it is easier to just start with OpenGL, instead of doing it with DirectX and then again with Vulkan or OpenGL.
@seditt51465 жыл бұрын
@@dariusduesentrieb Your fucking kidding me, this new KZbin reply system just caused me to lose a massive response I wrote for you. TL:DR because I aint writing that shit again... DX is for Windows, by Windows with a heavy hand in the hardware development. Its born and breed faster. I had a PS2 emulator( yes terrible benchmark but still) 120+ fps for DX11, 4fps for openGL if it didnt crash. The Linux thing, a joke, a slightly accurate joke lol, but still a joke. Sorry response is hacking but I aint writing that wall of text I just lost all over again because I clicked outside this friggin chat box.
@chris_burrows5 жыл бұрын
@@seditt5146 Surely those PS2 emulator stats are meaningless. The framerate in each of those emulators is dependent on the prowess of the programmer who wrote them and not a reflection of the graphics API's rendering speed. And anyway this course seems to be focusing on general engine structure and management which is something covered publicly nowhere to my knowledge, huge deal, API is mostly irrelevant here, can't fucking wait holy shiiit.
@SFrankRicharrd5 жыл бұрын
Im ur first viewer
@wawied78815 жыл бұрын
first
@rikseth96065 жыл бұрын
Please do the directx API after opengl......Directx is a very good SDK...It would be better to implement it at first.....