How to Make a Game Engine!

  Рет қаралды 335,090

TheHappieCat

TheHappieCat

Күн бұрын

Пікірлер: 381
@sanlistonmadzima
@sanlistonmadzima 8 жыл бұрын
I immediately subscribed after you said you prefer to give stupid easy explanations instead of trying too hard to sound smart.
@fdist04
@fdist04 8 жыл бұрын
Though people repeatedly repeating the same broad and superficial statements when you ask them questions asking for complete and full understanding can get awfully annoying.
@omfggoodwill1234
@omfggoodwill1234 8 жыл бұрын
I could not agree more with this sentiment
@bigboss2174
@bigboss2174 6 жыл бұрын
I hate that.
@seigeengine
@seigeengine 6 жыл бұрын
If you want a complete and full understanding, read the documentation/source, don't ask somebody. It's not their job to be the documentation/source.
@jianx7807
@jianx7807 4 жыл бұрын
same xd
@TheHappieCat
@TheHappieCat 9 жыл бұрын
Hey! Let me address some comments: I'm using an old version of OpenGL. It's what I learned with, I don't do graphics programming often, so I apologize! Second, as I said, this is NOT necessarily the perfect or correct way to start making an engine. Part of the learning experience is figuring out how to improve on everything as you go... You start to naturally see the limitations of your project and think "This is bad. How can this be better?" I was trying to give a simple explanation for beginners, since I always found that the hardest part was figuring out how to get started so I was hoping this type of video could be helpful to someone else. I'm glad people are critical of the code though, that was what I was hoping for!
@dandymcgee
@dandymcgee 8 жыл бұрын
+TheHappieCat Ah, yeah. I learned OpenGL 2 from NeHe *years* ago and have just recently taken the plunge to start learning OpenGL 3.2+. It's actually quite fascinating!
@medk__
@medk__ 8 жыл бұрын
Awesome video! Please do you use C or C++ for OpenGL? And which one is better? Thanks!
@DavidChipman
@DavidChipman 8 жыл бұрын
It's C++. The creation.use of object classes (like Vector3D) should make that clear.
@medk__
@medk__ 8 жыл бұрын
David Chipman Can you tell me please a course for opengl using c++? Thank you!
@Xeverous
@Xeverous 8 жыл бұрын
You should make a video containing basics about Event-based programming. I think most ppl here don't understand what is blocking/nonblocking function, how is it possible to render screen and take keyboard/mouse events *at the same time* without multithreading (remember how getline/cin blocked the whole C++ program untill you typed something?) and most important: how/why everything happens in a loop like: while(window.isOpen()) { Update(passed_time_since_last_frame); CheckEvents(); Render(); }
@lordadamson
@lordadamson 9 жыл бұрын
I love how you don't just do simple stuff. you go into the most intimidating tasks and nail them and explain them pretty awesomely. Thanks a lot :))
@tlea105
@tlea105 8 жыл бұрын
Holy crap, this is what I've been looking for. I'm a programmer who doesn't do games but loves games, and I've been looking for a channel that has interesting content about games that also appeals to programmers. Thanks for what you do!
@LordHog
@LordHog 8 жыл бұрын
@TheHappieCat, being an embedded developer and really not knowing how game engines work, I find these video fantastic and learn many topics that I do not use in my day to day activities. I just wanted to thank you very much for all the great videos.
@vedantchaudhari7123
@vedantchaudhari7123 6 жыл бұрын
What a Happie Cat :D This may be very old but its extremely helpful for people like me!
@BarendNieuwoudtZA
@BarendNieuwoudtZA 8 жыл бұрын
I am watching this video while putting of studying, then she starts talking about Linear Algebra which is exactly what I am supposed to be studying, I'm gonna go study now..
@arcticheroh
@arcticheroh 6 жыл бұрын
Lmao
@zajec11
@zajec11 6 жыл бұрын
Sad
@lemonglataitor2123
@lemonglataitor2123 4 жыл бұрын
You still studying?
@kurdishpotato1707
@kurdishpotato1707 4 жыл бұрын
Legends say he's still studying linear algebra
8 жыл бұрын
I always had respect for game creators buy this!? man!! mad respect... it looks extremely complicated.
@XDreamFallacy
@XDreamFallacy 8 жыл бұрын
Are you a programmer?
8 жыл бұрын
No, I wish I was though
@XDreamFallacy
@XDreamFallacy 8 жыл бұрын
Tangle wood317 So that's why it looks extremely complicated. It's like reading an essay written in language you don't understand. From programmers standpoint it's pretty regular stuff. Very nicely presented though.
8 жыл бұрын
Exactly, that's what I was saying... And yes I'm incline to agree with you, very well put together video.
@purpleice2343
@purpleice2343 8 жыл бұрын
This is really simple. Compared to other things.
@BulletProofCupid7
@BulletProofCupid7 8 жыл бұрын
This video should be shown to kids in schools just to remind them why they actually may need algebra at some point in life :D
@webgpu
@webgpu 6 жыл бұрын
i think everyone's comfortable with algebra... but _Linear_ algebra, that's another story :-) !
@polarcat0156
@polarcat0156 5 жыл бұрын
So just in case you make a game engine we are gonna learn algebra??
@anonthenon196
@anonthenon196 4 жыл бұрын
Late comment, but... That's if they decide to make a game engine, or go into some STEM major, LOL. Otherwise, Algebra is useless to them.
@SatisfactoryContent
@SatisfactoryContent 4 жыл бұрын
bpc7 I’m a 9 year old kid coder. My website OneShot316.com
@shadybandit7PK
@shadybandit7PK 4 жыл бұрын
new kids are stupid.
@jammydodger1449
@jammydodger1449 8 жыл бұрын
Very impressed with this video, I believe it should have more views. Specifically the way in which you explain things is extremely accessible to most novice programmers. I'm a third year computer science games engineering student from a university in the UK and everything you've covered here is present in the course material. Definitely useful for me to have a less technical explanation of things, like you said with people trying to seem smart or confuse people. subbed
@ScienceDiscoverer
@ScienceDiscoverer 7 жыл бұрын
I watched this 9 monthes ago, knowing almost 0 of C++ and absolute 0 of linear algebra. It looked like pure magic to me, 0 undestanding. Now I've self learned C++ and linear algebra. Rewatching this video is totally different expirience! Thank you very much! I wan't shure what to do next, I didn't want to use libriaries or frameworks made by others, like a cats in a boxes! And now I know what to do to make my engine! @TheHappieCat (幸せ猫), you are the best!
@marc2ster878
@marc2ster878 8 жыл бұрын
Just discovered your channel and immediately subscribed! Thanks for this video :D
@raiika0712
@raiika0712 9 жыл бұрын
You've gained a new subs, I'm also interest in games and engines but it took a lot of work to make a game so all I can do is watch other people create their own game. :)
@JoeyQuint
@JoeyQuint 8 жыл бұрын
I've just discovered your channel and I guess I'm gonna check more videos. I love how things are explained clearly, and you've talked about many important points. Plus, as a non native English speaker I find your accent very accessible and understandable which is appreciable obviously. As I'm planning to eventually work on making games, and I'm touching things in my personal time, your channel will be very useful!
@MXUguitar
@MXUguitar 8 жыл бұрын
I've been playing around in Unity for a few months now, but you have successfully inspired me to take the next step. Thank you!
@inzanozulu
@inzanozulu 7 жыл бұрын
Just saw this video a couple of minutes ago. Instant subscription. Thank you for having a refreshing take on not just game dev but programming. I know that's a lot to say from just one video, but it really is a very nice blend of accessible care-free attitude, without oversimplifications. And your content on GitHub shows you're serious. I haven't a clue of how experienced you are (or were, at the time of this video), but my guess is you're a pretty competent programmer, and if so you did an excellent job of putting yourself in an actual beginning programmer's shoes. Not some person who just -says- they really want to program, but perhaps somebody in school for it at the time. I'm looking forward to checking out some of your other videos.
@crr0004
@crr0004 9 жыл бұрын
It was brushed over in the video, one improvement would be moving all vector math operations into overloaded operations and having operations like += do in place operations instead of creating a new vector
@andyh495
@andyh495 9 жыл бұрын
I think immediate mode is perfectly okay for learning. I know, every single programming book written in the past few years (except those targeting mobile opengl 1.0) says DON'T USE IMMEDIATE MODE NO MATTER WHAT YOUR COMPUTER WILL CATCH ON FIRE, but it is significantly easier to debug C++ than it is to debug shaders. I feel like shaders are an intermediate level thing, for those of us who already know 3D. (Although if you really want to teach someone 3D basics, you should just write a software renderer, either vector or textured.)
@StarEater85
@StarEater85 8 жыл бұрын
Hi HappieCat :) Just wanted to thank you for your this good overview. I recently started programming myself again but I always got stuck at that point this video ended because i got lost in what i am doing or have to do next. Seeing you doing the same as me (or more the other way around) really encourages me and showed me that i am on the right way :D
@Cbirked
@Cbirked 9 жыл бұрын
You're awesome happie. I'm just looking at it from an hobbyist standpoint of, "Aw this is cool stuff, Imma try and learn some of it." Thanks for posting these :)
@nonstopdude
@nonstopdude 3 жыл бұрын
man.. i know this is 6 years ago but... it actualy helps a lot.. thank you :D
@Kiet1
@Kiet1 8 жыл бұрын
Just discovered this channel. Fantastic work!
@baguskelvin7170
@baguskelvin7170 4 жыл бұрын
Love your video , from indonesia , its help me a lot with my class project, i hope you always have a nice day✌️
@ftutorials5065
@ftutorials5065 8 жыл бұрын
I really like the way that you take your time to explain what you are doing and why. This seems like the single most difficult thing in programming courses which are all male dominated and devoid of any pedagogical skill.
@Yadeehoo
@Yadeehoo 8 жыл бұрын
Mindblown, I love your holistic approach
@misiddiai
@misiddiai 8 жыл бұрын
Hello, i'm a new subscriber and wanted to say that you're really cool. Your enthusiasm is just awesome. Now, this video is pretty old, but still i'm hoping that you or anyone else read this comment and answer... I have a huge problem with programming although it would be great to be able to do it. Math and physics are wonderful. I literally love the problem solving process. Splitting up a complex problem into simpler pieces and getting to a global solution step by step is a beautiful, challenging thing. And then watch all my ideas, all the solutions I've come up with become real and actually do stuff...I would be doing it non stop, if I could. BUT having to do it by coding makes it IMPOSSIBLE for me. Even the littlest things about coding are so frustrating. I just can't be bothered to remember the syntax for every instruction, and stuff like that. Not to mention the memory management... I just can't. Those things just drain all my energy and make programming a nightmare for me. What can I do? I'm so desperate... ._.
@luukvanoijen7082
@luukvanoijen7082 8 жыл бұрын
misiddiai Go for a game engine, or something easy like Love2D. Both are really good, and love2d is actually very good too, as it uses opengl but in a really easy way. Good luck
@mplabs23
@mplabs23 8 жыл бұрын
This is one of the best explanations of the topic I have seen so far. Kudos to you!
@gillianorley
@gillianorley 8 жыл бұрын
What a great channel and I just sort of stumbled across it. It's nice to see such technical information addressed.
@nicogreco6926
@nicogreco6926 9 жыл бұрын
This is great stuff, although I have yet to get to this point in my studies. So I don't understand all the aspects going on here, but I was able to follow along with the Vector class, and even wondered why you didn't overload the arithmetic operators to begin with...and then you mentioned why in your video, along with a potential shape class that can be downcasted to your cube. I think I'm still 1-2 months away in my research until I get to this point. I'm still learning a lot of Beginner - Intermediate C++ right now.
@lewisb8634
@lewisb8634 9 жыл бұрын
Same, I would say I'm intermediate in that I know what something does if you quizzed me on it, but I haven't tried using it all yet! I'm learning lots and then trying out/using a little bit. It's like knowing the biological structures of egg, flour, milk off by heart etc but then not knowing how to make the cake! :P
@SWiSHRoyal
@SWiSHRoyal 8 жыл бұрын
hey, you are doing great informative videos. I am an biophysics undergrad and try to simulate ways how proteins interact. The basics are very similar to a game engine and I have to get up to speed in C++ so your videos (i.e. on Quaternions and a bit OpenGL) are really helpful. Thanks!
@Nazareadain
@Nazareadain 7 жыл бұрын
Gotta say I'm pretty happy with unity, but I'm curious about the foundations and you're making this very palatable, so I think I'm gonna find the start of this, or more.
@TarhIk
@TarhIk 8 жыл бұрын
Cool video!!! I also created my very own game engine (there is no software like home-made software), but I used DirectX instead of OpenGL. I also built it from scratch. I took advantage of the DirectMath library, though, but I went as low as to create my own sprite manager using instance drawing. I was fortunate enough to finish it an released a couple of games with it. It is so great to find other developer building his/her own game engine!!!
@teriyakichicken1848
@teriyakichicken1848 8 жыл бұрын
You were pretty much giving a lesson on vectors haha I'm a super programming noob but I for once I felt like I knew what you were talking about when you were explaining the dot product etc
@TheAbsoluteProduction
@TheAbsoluteProduction 4 жыл бұрын
I started creating my own game engine months ago and it looks very good. I used html,css,js and some javascript libraries (three.js, ammo.js, physijs.js). And i added some stuff like "add a component" for example a cube, sphere or even scripts, I added physics, obj collision detector, textures, sky, lighting etc...I also made a simple video game using my own game engine. And I'm sure that everyone can do that too. Because creating a game engine it's not hard, it just sounds hard.
@TheAbsoluteProduction
@TheAbsoluteProduction 3 жыл бұрын
@Apple TV I started in august 2020 and i'm still working. I started reading some tutorials and then, as i said before, i used some graphic js libraries to make it easier. I wish you all the luck in the world.
@rjmunt
@rjmunt 8 жыл бұрын
You're awesome! Thanks for the videos.
@tdc22a
@tdc22a 9 жыл бұрын
Hi, I've been watching the videos on this channel for quite some time and I really enjoy them. I'm myself actually developing a small game engine as a hobby for about two years now (including rendering, physics and all that stuff, Github: JAwesomeEngine) so here are some of my thoughts about this video and some hints for people who want to write their own engine: - It was a good idea using deprecated OpenGL for this because you can quickly implement short and understandable examples. However if you want to render more than a few hundret cubes (and especially more complex models) then you should go for something like OpenGL 3.X with VBOs and Shaders. This can be quite tricky at the beginning but in the end it's totally worth it. There are many good tutorials for that. - As others (uzimonkey) already mentioned: there seems to be something wrong with the translation of the cube. First the vertices are transformed manually (you shouldn't do this, that should be done by the matrix stack) then translatef is called but later discarded, because glLoadIdentity is called. Moreover drawCube gets the parameter pos but doesn't use it. - Like already stated in the video: it's always good to split up stuff. Splitting up code in multiple classes makes it easier to read, understand and edit later on. - Specifically you HAVE to split rendering and logic in the engine no matter what. Within the move-method you call glTranslatef which has no effect there. Any kind of OpenGL-call should be done in the rendering (display-method) otherwise you mess stuff up. Anyway, great videos! Keep it up. :)
@TheHappieCat
@TheHappieCat 9 жыл бұрын
+tdc22 Thank you for putting everything I wanted to say in a nice post! :)
@antiHUMANDesigns
@antiHUMANDesigns 8 жыл бұрын
I might be wrong, but I think VBOs have existed since something like openGL 1.5?
@tdc22a
@tdc22a 8 жыл бұрын
+antiHUMANDesigns That is true. (Don't know the exact Version though.) But I'm generally talking about "modern OpenGL". Some features that are still used of course have been introduced in 1.X and 2.X and yes, you can for example use some variant of VBOs with earlier Versions but I personally recommend using 3.X. That of course doesn't mean that you can't use older features at all (that most likely wouldn't work) instead just avoid deprecated ones and use the "optimal" way to implement a certain feature with that Version. Of course you could then say "Why shouldn't I use the most recent Version?". The answer to that is that especially the newest Versions can be poorly supported and might just run on newer graphics cards (similar to dx10/11/12).... and then there is the beautiful world of Extensions. (Don't use them!! .... Except for e.g. FBOs on Mac?!?) Complex topic. Yes you're right, they existed before - I just wanted to clarify my point. :)
@antiHUMANDesigns
@antiHUMANDesigns 8 жыл бұрын
tdc Yes, it's a "balance", which openGL version to aim for. I find it a bit weird that while direct drawing has been deprecated for such a long time, it still works perfectly on my GTX780, for example, which has openGL 4.5. So what does it *really* *mean* when somethign is deprecated? :P Is there an actual time table as for when it'll stop being supported? Of course, a good engine will adapt to the capabilities of the gfx card. We can check for extensions at run-time, and choose whether to tuse them or not. This was common practice especially around the time that VBO's came.
@GamesForTheWlN
@GamesForTheWlN 7 жыл бұрын
I had a look at your project. Looks interesting. I myself also worked on a small game engine with a friend for about 6 months. (It's called Tristeon on Github)
@Takethisstudios
@Takethisstudios 9 жыл бұрын
Great video. It is hard to find people online that will actually teach on these topics instead of having the viewer copy and paste. It can be possible to learn from watching someone through each line of code, but once they type in some outdated code like with OpenGL, then the viewer will be completely lost because they don't understand how they actually came to that point in the project. I do things at a much higher level but have wanted to learn what is needed to build an engine but I have never found a good starting place that isn't a step by step. Thanks for this! It would also be cool if you could but like an "uploads" widget on your channel page. I didn't even know you had this one up yet.
@screenworks267
@screenworks267 4 жыл бұрын
wow you should make more videos explaining stuff your voice and presentation are priceless
@BTGW776
@BTGW776 8 жыл бұрын
I'm learning how to make games and i'm also looking forward to make my own game engine me and my future partner may think about making our own game engine but we're still learning of modeling objects, characters, and props. but after doing all that we might wanna make our own game engine :)
@invntiv
@invntiv 7 жыл бұрын
Wow this is an AMAZING video! Thanks so much for this low-level insight on the foundation of a custom game engine. It's incredibly useful and informative for a programming student like me who wants a better understanding of game dev! Thank you thank you thank you !!!
@TheForsakenEagle
@TheForsakenEagle 8 жыл бұрын
Alright, you definitely earned a new subscribble!
@powerpc6037
@powerpc6037 3 жыл бұрын
If this is the start of an engine, I also made one using BlitzBasic3D for an Arkanoid game, coded using 3D blocks and having the ball move in 3D space using collisions. I created the blocks and even the paddle using code that creates a mesh, it's surface, the vertices and triangles on that surface, all using the BASIC language. I also have a moving light and shininess on the blocks. And it's compiled into an exe so you can just run it by double clicking it. It also runs pretty smooth (60+ fps). I even have explosions in it (just some quads that move outwards in a circular fashion and then fade away). It took me a few weeks to figure it all out but it still works even though the language doesn't exist anymore (website is down) and still uses DX7.
@RyderSpearmann
@RyderSpearmann 9 жыл бұрын
Wow... impressive. Quite a chunk of work there. I'm a bit humbled before your skilz!
@nodisponible8
@nodisponible8 8 жыл бұрын
Holyshit, this its some high level stuff here, its seems very complicated but your explinations are so good
@pritemloo
@pritemloo 6 жыл бұрын
Thank you soon much this helped so much. Also love the way u explain stuff
@kollerjon
@kollerjon 8 жыл бұрын
hippie cat you make great videos
@davislast7891
@davislast7891 7 жыл бұрын
I know it's been eight months, but I don't care *happie (I'm a grammar Nazi)
@Lillu700
@Lillu700 7 жыл бұрын
I know it's been six months, but I don't care. I'm fairly certain that it was a joke, a play on words.
@shekelboi
@shekelboi 7 жыл бұрын
I think he just misread it. Maybe he'll reply and reveal the truth.
@Lillu700
@Lillu700 7 жыл бұрын
Maybe... maybe he will.
@BlazertronGames
@BlazertronGames 6 жыл бұрын
Davis Last *spelling. Misspelled words aren't grammar.
@Airaddicted
@Airaddicted 7 жыл бұрын
Woooow, that's a pretty clear explanation! Many thanks for that. And I love your clear and good understandable English! What state are you from?
@MadMexism
@MadMexism 8 жыл бұрын
You my friend are AWESOME!!
@olimszecsody
@olimszecsody 8 жыл бұрын
Very nice video! Atlast I can watch an learn how to make game engine.
@MeniscusSunrise
@MeniscusSunrise 4 жыл бұрын
You are my new hero. Thank you for the inspiration.
@phyllisginger1147
@phyllisginger1147 9 жыл бұрын
Excellent tutorial. I use immediate mode GL for all my stuff. But I don't do game programming, so I don't need optimum graphics speed. At just before 4:00 you say that 'OpenGL handles interfacing with the hardware ...'. Isn't it glut or freeglut that does that?
@SlackerCast
@SlackerCast 5 жыл бұрын
This would be an amazing video to revisit and see how you feel about these issues today...
@oraz.
@oraz. 7 жыл бұрын
I haven't seen namespaces used to define functions in separate files in that way. I will have to try to use that.
@valdemarramirez6015
@valdemarramirez6015 8 жыл бұрын
Better explanation of dot product and cross product then my calc professor...
@Clairvoyant81
@Clairvoyant81 8 жыл бұрын
The only issue with the dot product explanation: The visualization shown in the video implies that the dot-product actually is that white line, while the dot-product is a scalar, i.e. not a vector or a line.
@pabloo.o1912
@pabloo.o1912 8 жыл бұрын
This video is awesome! Wish to see more
@JohnStClair-nb5jn
@JohnStClair-nb5jn 6 жыл бұрын
This is positively fascinating! Thank you for sharing!
@javaanimations9741
@javaanimations9741 8 жыл бұрын
I was wondering if you could show how to add a basic interface to the engine like unitys or UE4
@anixias
@anixias 8 жыл бұрын
Java Animations Generally, engines don't need to have an interface. If they did, you would make the engine as an application itself that can take source files and pair them with the engine's source files, and then build it into an executable or installer. Basically, you'd make the engine as a program rather than a bunch of source code you just throw into a project
@SeverSFSs
@SeverSFSs 6 жыл бұрын
@@anixias im pretty sure they were trying to figure out how to create plugins for the engines. Kinda like adding new tools that the engine doesnt include.
@starslayer1493
@starslayer1493 8 жыл бұрын
I've always wanted to make a videogame, and I was going to use Unreal Engine 4. Now I think I might make my own Game Engine.
@tempestiarrow8753
@tempestiarrow8753 8 жыл бұрын
You're a fucking boss! XD
@justsomerandomguy3049
@justsomerandomguy3049 8 жыл бұрын
Lol. You answer all the questions i that pop up in my mind immediately xD it's creepy! Thanku so much for these amazing videos! Hope you become a successful dev someday! :D
@dococapocalypse7580
@dococapocalypse7580 8 жыл бұрын
Me trying to watch and comprehend this video: 😁 😯 😐 😥 😦 😰 😱 😫 💢💥
@LBZDreamer
@LBZDreamer 6 жыл бұрын
Mehh.
@shadybandit7PK
@shadybandit7PK 4 жыл бұрын
you so bad iamgin
@langi9095
@langi9095 6 жыл бұрын
Its like trying to watch that one series your friends are but it has more than 12 episodes
@komodot9249
@komodot9249 8 жыл бұрын
I actually understand this almost completely. 😊
@samfay9820
@samfay9820 8 жыл бұрын
2:55 Any link to the graphics and engine videos? I cant find them.
@fastsolution
@fastsolution 8 жыл бұрын
i am always motivated towards learning new tech and languages can u make a video how u. learned so much we want all the details about ur knowledge . hv a nice day
@lewisb8634
@lewisb8634 9 жыл бұрын
Thank-you very much for sharing this! I moved into starting to learn OpenGL yesterday so this is great timing! Considering I'm starting off at the beginning and this is all new information going into my head, is this the most modern, new, up-to-date openGL to get started with? I'm worried that if I set off with this and get used to immediate mode (?) then it'll be a pain to re-learn stuff if I want to get into OpenGL 3.0. Thanks again :)
@TheHappieCat
@TheHappieCat 9 жыл бұрын
+Lewis B This is not the most modern version! Haha, my apologies. Conceptually, the ideas I talk about (matrices, translations, rotations) will be the same.
@andyh495
@andyh495 9 жыл бұрын
+Lewis B I wouldn't worry about it. You're going to have to learn Vulkan/DX12 in the future anyway. Once you fully understand the general concepts, the specific API you use barely even matters. (Although I agree that shaders are important and Happie should do a separate video just on how shaders work.)
@lewisb8634
@lewisb8634 9 жыл бұрын
+Andy H Ah yes Vulkan - the newest of the new OpenGL. Good point actually. I'm still tempted to go straight into user created matrices (as opposed to premade ones) and GLSL with OpenGL 3 just so I don't end up mixing them up!
@tdc22a
@tdc22a 9 жыл бұрын
+Lewis B I can just recommend going straight for OpenGL 3 (VBOs/VAOs, Shaders, etc.) with premade matrices if you have the necessary knowledge. I've pretty much worked my way up through the Versions and OpenGL 3.X with user created matrices have the huge advantage that the Shaders are easy to write and and they look very clean because you don't have to worry about what is passed and predefined but you can pass everything yourself. So yeah: go for it. :)
@egonbraun
@egonbraun 4 жыл бұрын
Hello, one question. Is there a technical reasons why we want to write everything from scratch instead of using a library? Is it just for the fun and learning or is there a deep technical reason why it is better/more optimized?
@thefox8198
@thefox8198 8 жыл бұрын
Thank you it's been helpful,to learn the basics of game engine,you are wonderful :-)
@aggbak1
@aggbak1 8 жыл бұрын
You are a very decent wheelmaker
@petar.georgiev.11
@petar.georgiev.11 8 жыл бұрын
Awesome! One thing tho- wouldn't it be better if the Vector3D class had the 3 coordinates inside of an array instead of just as variables- as this way they will be linear in memory and faster to get?
@DirtPoorWargamer
@DirtPoorWargamer 7 жыл бұрын
Maybe I'm missing something, but doesn't a cube only have eight vertices? Each vertex is shared by three faces. Looking at that cube def, you only have eight unique vertices, each with three copies in total. Do the 16 duplicates serve a necessary function?
@roguedogx
@roguedogx Жыл бұрын
5:08 agreed, and thank you for doing that. I kmow how easy it is to accidentally forget something isn't universal knowledgeable and then you jusy lose everyone in 15 seconds because of jargon that's second natureby this point.
@benzenatizineeddine7816
@benzenatizineeddine7816 4 жыл бұрын
Things that aren't mentionned : -You need a team to do such a complex project -You need first to get to know the protocol of making softwares (Subversion,Forge.....) -You can't just open Eclipse and rock n roll NO you need to draw your ideas and have a starting plan (first objectives that brings others) But if you have the motivation to make it and worked hard for it there(s nothing you can't build
@bobig123
@bobig123 7 жыл бұрын
For defining variable like cubePosition why and what do the 0.f parameters mean? Is that short for writing a float variable?
@industrialdonut7681
@industrialdonut7681 5 жыл бұрын
The dot product is a scaled projection by the magnitude of the other vector it's "projected on" is it not? That example where you said "this is basically the shadow" is visibly not that, for the shadow is twice as long as the simple projection onto that axis would be I think
@matthiusatomfist1168
@matthiusatomfist1168 7 жыл бұрын
Do you have to instantiate each of these classes before you can use their methods? That would seem a bit odd to me for something like the "math" class. Should you make the methods static in those cases?
@lejogador
@lejogador 8 жыл бұрын
hey, can anyone explain how would a engine that's not bound to frames basically work? As in, what else could it rely on?
@mistakenmeme
@mistakenmeme 7 жыл бұрын
Your so smart wow! But not over complicated, very clear and helpful!
@eliptikstudios8996
@eliptikstudios8996 4 жыл бұрын
I was going to develop a simple engine on Scratch tomorrow (I have a years experience of coding and still have no idea what I’m doing) so I wanted to see what other people make. I find videos like these and I realize “damn I’m lame”. Lol
@judahellis2736
@judahellis2736 7 жыл бұрын
lol this is so far above my knowlegde of code, I just started a few weeks ago...
@judahellis2736
@judahellis2736 4 жыл бұрын
@Nicolas Tapia Abadiano holy shit thanks for a walk down memory lane. Right now I'm in college for game design. Much much better at coding haha.
@Leverquin
@Leverquin 9 жыл бұрын
i am kinda new in programming and I am learning C and C++ and all my programs are written in command line. so if i want to start making window stuff with GUI shall i start learning QT openGL or SDL?
@LegendaryWizardPS
@LegendaryWizardPS 7 жыл бұрын
You can make a simple game engine inside unity - although I don't condone it there are better softwares, for example you could have a script with many static methods, for example here is one that returns a random integer (there is already an in built method to return a random int but this one shortens the process) public static int RandomInt(int min, int max) { float RandomFloat = Random.Range(min, max); int RandomInt = Mathf.RoundToInt(RandomFloat); return RandomInt; }
@azizas9366
@azizas9366 8 жыл бұрын
What do you think if this book Game engine architecture?
@Athomield3D
@Athomield3D 8 жыл бұрын
I have a rally burning question : how can you replace opengl ? I thought it goes to the lowest point of the game engine hierarchy
@sugarwarlock
@sugarwarlock 8 жыл бұрын
You don't. It's madness to replace the graphics API. Literally madness. The reason why OpenGL was developed was because you needed an abstract layer between the GPU driver and the code running on the CPU so you don't need to rewrite everything for a different GPU. DirectX (or rather Direct3D) is the same as OpenGL. Microsoft got tired of working with the Khronos Group and started to develop their own API.
@lake4ishikawa
@lake4ishikawa 8 жыл бұрын
quot: "And maybe someday we can replace OpenGL with our own code and feel very good about ourselves". HELL YEAH!!!!!
@basedboi8852
@basedboi8852 6 жыл бұрын
8:33 I know it would seem it isn't a good thing if you learned C++ in an object-oriented way, but there are things called unity builds (not the engine).
@b3zaleel
@b3zaleel 6 жыл бұрын
So with the release of OpenTK, we can make a game engine with C#?
@amirhosseinrostami7025
@amirhosseinrostami7025 8 жыл бұрын
Good Idea!!! Thank you very much. As I watch the video, I am thinking of implementation OpenGL as HDL code in FPGA and your c++ code as C code in the processor core of FPGA (like MicroBlaze or ARM in Xilinx's FPGA). Cool idea. I'll try it.
@thatguyfromca
@thatguyfromca 6 жыл бұрын
Did you talk about setting up OpenGL? or did I just miss that part??
@Havie
@Havie 6 жыл бұрын
Thanks for your great starting point, think this channel will be very helpful, Quick question though- I find most beginner game engine tutorials are starting with OpenGL, but most windows games i can think of seem to use DirectX. reason to start with openGL? thanks- just trying to start learning.
@BlazertronGames
@BlazertronGames 8 жыл бұрын
I hope I'm able to do this one day! I'm learning c# on the udemy unity course. It's complicated, but i can understand it
@BlazertronGames
@BlazertronGames 6 жыл бұрын
over a year later and you still haven't learned anything about unity.
@Hetp111
@Hetp111 9 жыл бұрын
Great job!
@rtleitao78
@rtleitao78 8 жыл бұрын
you are brilliant. that is all i wanted to know. very nice
@sozzledape6659
@sozzledape6659 5 жыл бұрын
Where did you learn how to do this?
@amirhafizi9544
@amirhafizi9544 7 жыл бұрын
Seriously, I like your voice...😍😍😍...and your nice tutorial video
@hugoestrada194
@hugoestrada194 8 жыл бұрын
creative and simple
@MichaelMiller-rg6or
@MichaelMiller-rg6or 8 жыл бұрын
Have you ever considered teaching at a university? I think you'd do really well.
@jackgreen7273
@jackgreen7273 5 жыл бұрын
I have a question to you all game programmers. Can someone explain to me the controversy over the higher core cpu's? some say that game programmers are only utilizing up to quad core processors or dual core cpu. They say the hoopla over 12-16 core cpu's mostly go unused except for GPU on the graphics card, which lend themselves mostly to parallel programming. thank you.
@christinaduan9473
@christinaduan9473 7 жыл бұрын
Ugh...Whats the difference between the linear algebra and matrix algebra?
@geico105
@geico105 7 жыл бұрын
I came to see how a game engine is made and I ended up learning Linear Algebra stuff that helps with my Calc 3 class lol
How graphics works? Render pipeline explained. Example OpenGL + Defold
14:00
So you want to make a Game Engine!? (WATCH THIS before you start)
14:39
Giant Sloth Games
Рет қаралды 349 М.
The evil clown plays a prank on the angel
00:39
超人夫妇
Рет қаралды 53 МЛН
Dear Game Developers, Stop Messing This Up!
22:19
Jonas Tyroller
Рет қаралды 796 М.
Ep. 1: Window - Sparky Engine (How To Make a Game Engine)
48:59
The Cherno
Рет қаралды 263 М.
Learn Any Programming Language In 3 Hours!
22:37
Code With Huw
Рет қаралды 635 М.
How I learned Unity without following tutorials (Developing 1)
18:11
Game Maker's Toolkit
Рет қаралды 2,1 МЛН
I Made a Graphics Engine (again)
8:27
Zyger
Рет қаралды 184 М.
How to Make and Self-Publish a Game in 12 Months
29:58
GDC 2025
Рет қаралды 744 М.
An introduction to Shader Art Coding
22:40
kishimisu
Рет қаралды 1 МЛН
How to Code (almost) Any Feature
9:48
DaFluffyPotato
Рет қаралды 714 М.