How Game Engines Work!
HTML-код
- Опубликовано: 30 июл 2024
- Disclaimer: This is intended for people who aren't entirely sure what a "game engine" is. I have more in-depth programming videos on my channel, this is just how I'd explain engines in general to a non-dev friend :) It's also one of my oldest videos from when I had very few subscribers, I'll redo it if I ever have a chance.
My Second Channel: / thehappiercat2
Subreddit: / thehappiemakers
Twitter: / thehappiecat
Facebook: / thehappiecat
Twitch: twitch.tv/happiecat Наука
RUclips recommendations are slowly getting better
they've always been the shit. i've been getting lost in my recommendation box since 09
They rely on your likes and dislikes so over time they should be better. Also, because of probability, so maybe it's just luck.
No, Sir. You are slowly getting better :)
Ever evolving in a circle of self exploitation. burnout HYPE
Joe Green ikr
For sure
This is the only PowerPoint presentation I would ever watch voluntary.
Me too
voluntarily*
im curious about if they knew about godot before making the video or did they not have enough research into it for adding it
@@kaihentheI'm pretty sure Godot wasn't a thing 7 years ago
If you enjoy this learn it perfect it and turn it into income. Live happy
I can write coding for 'Hello World'!
You know more than me already.
i cried
Gaurav Solanki haha that's was the best
Did you take CS-50? Hahaha
waat?! ive been learning to code and i still cant.
its been years
Excellently done! I'd just like to add that the main difference in an engine vs a set of libraries is that the engine runs its own loop and calls your code, and with libraries YOU own the loop and call the library routines.
Thanks for clarifying.
Just a clarification first Witcher was made on Aurora Engine (BioWare - Neverwinter Nights), they made their own engine for the Witcher 2 and 3.
+Pan Domagałke Thanks for the catch! I'll add in a note.
+TheHappieCat Bethesda really needs to use unreal engine 4 or frostbite engine for tes 6
Mu zyd IIRC the engine was heavily modified for Witcher (80 percent rewritten?)
I concurrrrr. Not because an own engine is worse, but because *their* own engine is worse. :P
Edit: i answered to JuruX SayokaX but RUclips sux 2 much to be bothered to differentiate between an answer to an answer and an answer to the answer to an answer.
+TheHappieCat subscribed, say hi for me ;)
Actually I've never used a calculator app that has sound.
+Zibbymen I was thinking exactly that
+Zibbymen Then you, my friend, have not yet lived.
I made a calculator app that had sound when you clicked the buttons.
But there's a physical calculator....
Search "Disco calculator, Matt Parker "
Divide 0 by 0 and you will hear a sound.
How do I make C++ from scratch?
What do you mean?
C is a programming language with a lot of branches - one of them being C++ - and it's not something you 'make' with a drag and drop interface; it's something you learn with years of practice. Code is literally just talking to a computer, so you learn its vocabulary, you learn how to structure sentences, and you learn the limits of your system.
If you want to write code, there are some intro level videos on youtube. Get a notebook, start making notes, start writing SIMPLE code, and start making errors. After the first few months, the errors will reduce, and you'll be writing code for real.
Get over yourself xD hating on drag and drop vpl coders and scripters. Dude didnt mention any such thing. Bellend alert.
I do not intend to learn programming. Just curious, if you make games with game engines, and you make game engines with compilers, how do you create a compiler or programming language then?
Nowadays people rarely start from scratch, they build onto decades of previous developments.
If you were to start from scratch, first you would design circuits that would perform different actions based on different combinations of on and off signals; including among other things, commands to write to disk, to temporary memory, read from disk, from an input device, and from memory, and manipulate the contents of the temporary memory. With the circuits ready, you next would probably create a very basic text editor to create and modify data on the disk, writing it in low-level code straight into the disk byte by byte. Now with the text editor, you write a compiler, that is a set of instructions that will write low level instructions to the disk by interpreting human-readable data (at the simplest, just substituting long series of bits (ie, many letters in a row) with shorter sequences, following a manually defined substitution rules).
At this point, you can start writing programs in a way that is easier for humans to read, and then convert that into series of instructions for the circuits to follow; it would probably be a good idea to create a more advanced text editor now it's a little easier to write programs, and with that code a more advanced compiler as well. And now it's a matter of deciding how much effort you wanna put into making things versus into making making things more convenient.
ps: I typed this all off the top of my head, maybe I skipped some important steps; and this isn't based on any architecture in specific, just some general concepts.
As someone who went to college to become a programmer, then got in WAY over his head, I appreciate this succinct explanation. I don't have a coder's mindset, so it's good to know that tools like this exist, and are at least easy to use, so if I ever decide to go that route, I have a place to start.
"have a happy day!!"
DON'T TELL ME WHAT TO DO !!
Erion Mema LOL!
Drake & Josh is great!
This is how games really work ruclips.net/video/D-OpZ5UOkIQ/видео.html
You can’t tell me what to tell you what to do!
Something like that pops into my mind every time someone says something like that
wow... it's the first time that i stumbled into this channel and so far the 2 videos i saw were so helpful in clarifying many doubts ive had for a lot of time while wanting to be a game developer. THANK YOU for these videos and i hope they keep coming
Shoutout to FOX engine, doomed to only be used in MGS V
ace567z what about dead stranded.
The highly controversial Metagl Gear Survive as well. But all of Hideo Kojima's future projects will include the FOX Engine, since he pretty much made it.
Uh... No. Konami retains the FOX Engine code and all legal rights over it. Kojima was forced to leave his technology behind when he parted ways with the publisher, and now he's partnering with Guerrilla Games to use their tech (the Decima Engine) in Death Stranding. The dutch team is providing the tools, while KojiPro is providing the artistic flair and mastery: both are benefitting immensely from one another.
ace567z fox engine is used in the pachinko machines in japan
ace567z also metal gear survive
I discovered this video from one of my CS textbooks. Six years later, this is still very relevant and informative! Game development has always fascinated me, and I believe that it is a great way to develop our skillsets and push our boundaries. RUclips should give us a "Love" button for videos like this. PS these games brought back so many memories
You might be glossing over a distinction between the game engine and the game development application. The engine manages the game at runtime, providing functions to perform certain important features optimally (like 3D rendering), while the application provides an environment for developers to work in. Applications are usually coupled with libraries, since this allows you to line up what the application makes easy for developers with what the engine makes easy for computers; and in many cases, including your examples of GameMaker, Unreal, and Unity, the two are so closely connected that they go by the same name.
But you technically can have an engine without a game dev application, and vice versa. For example, something like Eclipse can be used as a game dev application even though it has no particular engine associated with it. On the other hand, PyGames is a game library (I think you could call it an engine?) with no development interface.
This distinction becomes especially important when new software is notable in one aspect and not the other. For instance, the Crysis Engine is famous for high-performance rendering, while GameMaker is noted for the experience it provides to the creator.
Here's another way to put it: what's important about the game engine is what it allows the software to do (and especially how quickly), while what's important about the game dev application is what it allows the developers to do.
@@spell105 couldn't be further from the truth, stop spreading misinformation kid.
@@spell105 He was responding to Mattias
Mattias Martens I thought you refer to game engines without an editor/application as a framework. Frameworks are usually just libraries you include into your project and provide functions and classes for rendering and other useful things you need for game development.
@@spell105 Unity's and Unreal's editors are separate applications from the engine itself. You can download a unity game without the unity editor, same with unreal. The editor is an application that uses the engine, like the game is
This is what I love about the internet. Passionate people eager to share their knowledge. I've learned a lot!
I love your voice, and your enthusiasm. Subbed, and binge watching all of your videos
Unity is actually a very high end engine that even gives Unreal a difficult time when it comes to graphics, performance and usability. Because it was also free and Unreal was not, alot of "wanna be developers" made sad excuses of games and then pushed them to Steam, hoping to make a few bucks.
unreal graphics r better no compromise
@@rialseebran2072 It depends almost entirely on the Developer's ability to make graphics, not the game engine. The game engine's mainly differ in how they handle the lighting.
And with Unity's new High Definition Render Pipeline that's being worked on, developers can make some really nice graphical effects with it.
@@qvindicator "Unreal is still the best engine out there because it is so advanced, you can do more stuff with it. " Tell me what those things are, that you can do with Unreal but not with Unity? Also tell me how Unreal is more advanced (or do you mean built in tools so you don't have to code and made things by yourself so much)? Because I dont really know... I master both engines and went so deep with them. Also in the past (when there was no official game engines yet) I have wrote game engines from scratch by myself, so I think I know what I'm talking about. I don't know where that "Unity is shitty and no capable game engine" come from. It sounds to me that haters really don't know enough about techniques, coding and game making overal and can't achieve good results unless there are lot of pre-made tools and assets and magic buttons labeled "generate awesome shader" etc.
i use unity and i can say that unreal is better
@@Gerpar_ as graphic programmer , i quite disagree with this since engine providing tools of u need . Sure it still depends on the lighting artist , but engine also provide those tools that u need.
Damn it why did I have to find a two great RUclips channels on a Sunday?! Now I need to binge two RUclips channels at the same time, all before the week starts tomorrow! Damn it TheHappieCat why do your videos have to be good?
You have excellent speaking and presentation skills. Without even addressing the content of your video, great job on presentation.
Better not talk about the content lol
A girl talking of Game engines.
Damn where do I find this kind of pokemon.
+Felype Rennan she can read
She's a legendary pokemon.
She can act and read off her male director's script. lol
TheHappieCat we're just messing with you. lol. Everyone knows you know what you're talking about. It would be impossible for you to answer questions and go into so much details in your lectures.
TheHappieCat I bet you're unfortunately used to sexist crap, not my intention. I legitimately amazed by your high quality videos on game design and software engineering. Stay awesome.
Thanks for your research and breaking it down in such an nice and easy way to understand it all!
This is such a great, clear video to help the everyday person understand (or understand more) about game engines. Thank you.
Why did I find this channel only now? The explanations are great. Binge watching all of it. (Don't send help, I'm ok... mostly)
dude i know, 10 minutes ago i found this channel
Me too. Loving the content. So informative!
dont worry nobody cares about you :D
Finally, something I don't understand.
I hit this comment into 100 likes
@@dillpickles3046 lie
Lol, you made my day
Where did consciousness come from?
What is the origin of our universe?
What is the essence of quantum mechanics?
CrazyTesseract 1. God. 2. God. 3. No clue
I covered Cryengine a bit at college. Though I was entirely reliant on using existing included assets and there was some weird bug with the trees, the leaves specifically. A key feature is the background in a scene. That is objects that don't do anything but build up an enhance the realism and atmosphere of a game level. For example in an urban scene you might have litter, streetlights, manholes, general wear and tear (esp for grungy environments), graffiti, surface painting paraphernalia inside garages (paint pots, brushes). etc.
Damn your videos are exactly what I was needing. Thank you!
Started with Gamemaker.
Tried RPG maker but HATED it because I couldn't use actual code.
Almost got UE4 but decided to go to Godot.
Learning that now. It's a good engine.
yes
I started working on my own small 3d engine... 2 years in it now... what have i done..
It's a very difficult task. Best of luck to you.
Sparky
I know, I am already in the middle of it, it just takes too long to write a framework on your own to build simple 3d games with
Conex Xenon It's worth it, trust me.
Sparky
That's why I am doing it, It takes forever to get simple shit done, but if i wanted to build a game right away, i wouldnt have struggled/still struggle with building custom tools and implementing physics and other game mechanics from scratch.
why would u do that?
This was entertaining and as someone who uses Unreal, it was nice to hear your perspective on Unity
darn, you channel just show up when im wondering where to start learning game engine. what a life-saver :)
Have you considered an episode of "how collision works"? I'm working on a 2d platformer where getting the collision to work perfectly has turned out to be a challenge. Anyway thanks for the video, you explain this really well.
+Quinte Vail That topic might be coming up soon!
Looking forward to your future work
You have hspeed and vspeed;
You add let's say, players hspeed to his x and vspeed to y;
But before that, you check if x += hspeed will make player get stuck in a wall or whatever, and if it will (that's not my problem, Idk what you use, aren't writing 10 pages for every game engine) then you simply put a while loop and make player move on that axis by one pixel in while loop, where while should check if moving one pixel to the direction you're moving will get you into the wall, if it will, then loop breaks and under it you just do hspeed = 0 or vspeed = 0;
Hope this puts you on a right track.
Anyway, if you're using gamemaker, then I can share how I do it here:
//Vertical collision
if(place_meeting(x,y+vsp,obj_wall))
{
while(!place_meeting(x,y+sign(vsp),obj_wall))
{
y += sign(vsp);
}
vsp = 0;
}
y += vsp;
same with horizontal collision, but shouldn't be hard to change it yourself.
+Quinte Vail Same... it's HELL. But I'm getting closer everytime i take a look at the code! x)
Getting collision to work "perfectly" is actually kind of impossible. If you wanted to solve analytically, you'd need all movement in your engine to be representable by differentiable functions - i.e., something that's never been done before. Of course, you could do some sort of ridiculously-tiny-epsilon discrete solver, but that would strictly speaking be imperfect.
RUclips recommended this because I watched Unreal Engine 5 real time demo for Playstation 5. 😌
Or so you think...
@@rishabh.malviya😂 now I'm terrified
I got recommended this video after I watched a Bethesda studio tour
This is probably the most to the point and understandable explanation on this subject I have yet come across.
Very well done and an excellent foundation intro to game making. Thank you!
I enjoy your MS Paint aesthetic :)
Fun Fact:
More recent updates to the Unity game engine have included a High-Quality rendering pipeline. Unity 2019 will also (eventually) have blueprint programming as well. This means that It's basically on par, if not better than Unreal. Except for the floaty physics.
great video! i'm not really a gamer anymore (i was only a casual gamer, at best) but i've always wondered what an "engine" was and how it worked. thank you very much for your clear and enjoyable explanation!
This video was very well or together and I'm so happy RUclips recommended it to me. Thank you for the information lecture 😊
This video reminded me of Game Maker. I remember using it to create really basic top-down RPG's when I was 9. Good times :)
thank you so much!
Came here expecting lots of eye rolls - left after watching a fantastic video that did a hell of a good job explaining the very complex work of game engines. Nicely done!
this is my first time seeing any of your videos I like it keep up the good work
Psh. 'Tis all about 'Klik&Play' (1994).
Daniel Renard lol
This is how games really work ruclips.net/video/D-OpZ5UOkIQ/видео.html
so is that where memory leak come from? the game not deleting the previous objects which makes it flood up the memory?
Another kind of memory leak would be the null reference. Basically meaning that you're trying to use a deleted pointer.
What an awesome video - all game engines mentioned have made some amazing games
thank you so much, nice detailed explanation..last night on psx they were talking with kojima about his new game engine and i was confused wth they were talking about..but this made it all clear.
5:45 "I wuv it's.."
This is not how game engines work. This is _game engines and names of games they appeared in._
+1
would be a 4 hour video if it did
Yeah, also what a game engine is and why did they get created.
They literally explained what a game engine is and how it works at 0:33 to 3:42. They then went over different engine types and how they're different from each other.
Gamemaker studio: Easy to pick up with time, popular for RPG games like Undertale (Undertale was actually programmed in Gamemaker Studio 2)
Unreal Engine 4: Quite difficult to understand how to program complex logic, but great for rendering photorealistic scenes
Unity Engine: Easy-ish to understand and can be quite powerful and lots of people showing tutorials on how to use it.
@@PonzWasTaken uP
Great explanation, and love the ms drawings, it's cute but functional.
I can't believe I found you channel on youtube recommendations. You gained a new subscriber.
lol in the ending you reminded me of Bob Ross XD
Sadly, Unity does not use Javascript, but rather UnityScript, which looks a lot like JS. I was drawn into Unity for that reason and backed right out of it rather quickly and got into UE4. I'm very happy with the Unreal Engine for its blueprint system. From what I gather, good workflow is to make base classes (character, stats) with C++, make those into blueprints , then prototype and design as much as possible with BluePrint while making more custom blueprints in c++ when necessary.
Thank you for this great explanation i have never understood quite what a game engine is but this helped a lot
Yes, I enjoyed your MS Paint aesthetic :)
Nice video. I havent ever developed a game, so this was a great resource. :)
This is more about the politics of free vs proprietary game engines, than about what a game engine actually does to run a game. Just saying.
Where was there an open source game engine? I didn't see any mentioned... All of these are proprietary.
+The Cheaterman UE4 is open source so.
It's a shared source model, that doesn't qualify as open source actually.
Y no cryengine mention??
What an awesome vid! Very much enjoyed.
Nice video, just what I was lookin for :)
Why did you start yelling while talking about unreal engine?
Because estrogen and feelings.
Lol
That was the moment Trump suddenly grabbed her. :p
That would be why yeah.
Simply because it's awesome and it's the best
0:22 OH GOD, GET THAT OUT OF MY FACE!
Awesome video! Thanks for the knowledge I gathered. Downloading Unreal Engine 4 to give it a try.
Also, I fell in love with your voice.
How have I never seen this channel before? Subbed!!
Anybody felt sad when she switched away from the Mario game?
Yeah, my grandad
+MisterProzilla fuck off kid
+Darren Davenport responds to a response just to tell the person responding to the OP to fuck off; loses *The Internet*. Bad luck, please play again.
R Stewart maybe *fuck off the internet* then?
no
Whoever inveted the sign of three interconnected gears .... they won't turn ... ironic sign really, should stand for something that works while it doesn't work at all.
Yes they will...
wtf
Thank you for narrating instead of reading. Earned a sub.
Very well said. Very clear and easy to follow. Great job!
i dont like the way Mario is being played in this video. Sloppy and negligent. What nerve.
:D
:[ of all the things shown in this video, you noticed only that? LOL lmfao
My favorite engines
3. Frostbite
2. Cry engine
1. RB26DETT
Fox engine is pretty good.
Skyline R32,R33 and R34!
OK so... this video just inspired me to download UE4 and start making a game I've had stored in my memory banks for a few years now...
You're a Godsend. Thanks for simplifying the matter! I literally have been waiting for someone to help me with the technical aspects of game making (while I would take care about the creative portion and direction), but this essentially convinced me that I could start it off on my own, and eventually get people on board with it to finish it off.
Thanks again!!!
Nice bro
I think I read somewhere that many early games were written in Assembly code or some other language that communicates directly with the hardware. So basically, developers didn't even have a user-friendly programming language to interpret their instructions. They literally had to tell the hardware exactly what they wanted it to do. As simple as games used to be, knowing that fact really makes me appreciate how much skill it took to make them back then.
So what kind of fuel do I need for these engines? High test? Diesel? Regular unleaded? Lemme know. ;)
Bewildering Truth Seeker Electricity ⚡️
Makrinus lol :)
You need CPU processing time.
After gta 6 leak
Thanks for this very interesting and informational video!
Beautiful voice btw:)
this video is fantastic. keep up the good work !! :)
This genuinely is an awesome video; it’s short and sweet, easy to follow and understand, and I feel like I can relate to what you’re saying.
I’m very interested in developing games and just having fun while doing it. But with development software being so detail oriented and having all of the options that it does, it’s pretty daunting for me to just jump into anything.
So you making videos like these makes all the difference and I look forward to seeing more!
Subscribed? ✅
I love how she talks about the beauty of unreal engine 4 while now everybodys waiting for unreal engine 5
Great video!! thank you. I'm learning to program using Visual Studio and Eclipse, and now I understand you can also make video games using similar tools.
This is really helpful, I can see if programming is my interest
Thank You!!
I once downloaded ue4 on my intel IG laptop.........big mistake!
Indeed. RIP Laptop, may he be forever missed
CheekiBreekiStulkur lol xD
3 dots please
m1ksu / Random Gaming Videos moar dots ....... moar dots!
Once i downloaded UE4 on my 13 years old 2gb ram PC... i couldn't even run it bc my PC is 32 bits!
We appreciate more a graphical engine rendering based on a real place, than the place itself. It's funny.
I know! Kind of bizarre right? But when it's onscreen we're appreciating the way it's been drawn and how believable it looks and then also technical sophistication of the computer and software to recreate it.
This is so well done
thank you for making this video about game engines. i think i have a better understanding about this.
*there are a lot of "game makers" but few game developers...*
amen to that
Bruno Andrade I assume the difference being one is very ameteur the other is professional/skilled?
not even this. one is someone who *wants* to make a game. Other is someone who *knows* to make a game.
that's because game development and programming in general is still very inaccessible and otherwise draconian.
also AMAZON released lumberyard game engine for free
+Rodolfo Aguinaldo Jr You mean "CryEngine with their cloud stuff".
TawreCZE
i think it was literally "lumberyard"
+Rodolfo Aguinaldo Jr Yes, it is called Lumberyard, but they basically bought Crytek's Engine
Braindrain85
ah i see. wouldnt it be better then since they are releasing it free
or are there hidden fees or something
+Rodolfo Aguinaldo Jr I think the only catch is that your game may not read or write data to competing cloud services (only amazon) ... other than that it is free. You even have access to the source code.
Very entertaining and great job explaining all of this.
That's kinda what I like and appreciate about the games I played as a kid. Almost all the games I played as a kid all had their own engine made specifically for that one game. And sometimes if those engines were really good. They would reuse and update them. For example, the original buffy game on the og xbox uses an engine called the Slayer engine which was also used for Silent hill Homecoming I believe.
I have used both Unity and Unreal Engine. I actually thought that Unreal Engine was easier to learn. Unreal has a more intuitive interface, more options, and a hell of a lot less bugs then I was running into using Unity.
Heh... I've been trying to make my own game from scratch, in Python 3.4... It ain't easy. XD 'Specially since Python usually isn't used for that... There's a few things out there, like Pygame, but not much else that I could find.
It's possible. :P
This was made in Python and Pygame(most of it was made in 48 hours for the Ludum Dare):
cmlsc.itch.io/artifact-hunter
CMLSC7 Difeas Thank ya both. =3
I personally chose python 'cause 'a the natural language part of it... Easier to read, somewhat. I learned a bit 'a C# (prolly completely different from C++) in high school when I took an iPhone app development class and messed with xcode, but that's the extent of my knowledge, aside from a few tutorials I watched on my own time, a couple years before that. The only other language I've messed with is lua, 'cause I'm a bit of a fan of Garry's Mod. I'll look into C++. A bit more when I get the time. =3 Mark Calhoun
Blender game engine, Godot
Use GameMaker. Gunpoint and Hotline Miami were made using it. It's better than people think
Keep doing this HappieCat! I just suscribe you because of this video~
Great video, Lots of good info here
Why not just C?
Its much easier to make engines in object-oriented languages
Anthony Lewis you can't define classes as objects etc.... it isnt object orientation. garbage collection simplifies stuff also
Anthony Lewis alright. i knew it would have some kind of object creation, otherwise how would you make instances in a game. in java you can define variables as a type that you have created as an object. can you do that in c?
Anthony Lewis i dunno much about c, but 'objects' in the language appear to be inherently related to structs. in object oriented languages you create and use your own objects. what i meant by that sentence was that in c, it appears that you have to use a struct type any time you want something that resembles an object.
as far as engines n stuff is concerned, objects support the easy instance defining model of modern game design. it is much easier to expand upon your structure and implement new objects.
Anthony Lewis idk mate. i think it would just be easier to manipulate a bunch of objects with methods and stuff than to manipulate structs
Sad to see that games are made on PC, than ported to the Consoles and than ported back to the PC where they need stupid "NASA" hardware and don't run as smooth ad their Console counterparts
Sebastian Bach what
Sebastian Bach PC is by far better than console in any manner
Lol you do know that consoles are computers too? It's just a DEDICATED GAMING computer meaning its operating system will only manage to play games.
It's not better nor worse. It just satisfies an specific need.
Juan Correa probably, but at the time, PC's are more powerful and versatile
sorry wtf
Good work, you share a lot of interesting information in this video
Very informative and easy to understand. Thanks for the video
I think game engines are the only way I could make a game
(I never made one before)
its not the only way i think. without the engine, u need to do everything all by urself. for example ,the codes for functions that could be both used for Witcher 3 and GTA V may be similar(in third-person, RPG games, u got to walk anyway) . it just saves u a lot time cuz some(most) parts could be similar. programers are lazy, cuz they dont want to write the proved-right codes a second time. just from my ex of web developing lol.
Witness Wang what I ment was
I don't think I have the knowledge to create a video game without useing a engine
cat kook oh, i get it now.
Witness Wang I want to create video games as a career
The only problem is
I don't know how to create video games
is there any online open course website so u can get to know how to begin with? what i know mostly they are web development programing.
Here after gta 6 leaks
Awesome video! Thanks for making it! Very Informative.
Very informative and well put together video! You have my praise lol.
5:10 "Boring things like memory management." Don't you mean vitally important things like memory management?
No love for Source :c
I just got into this game developing thing and once I saw your video I hit that subscribe button
Excellent content 👌👏
You can draw and program, color me impressed. I know what an Engine is but I like the way you explain it because there was alot I didnt know, thank you. I wish someone would make a tutorial in C++ on making a 3D Game Engine and all that entails.