bros doing gains in both Elden ring and game engine.
@sammer11223 күн бұрын
its worse than scratch, but better than unity :D
@dontuo3 күн бұрын
I will definitely use your engine when it is available on linux. I use arch btw
@ahuvagottdiener66052 күн бұрын
I use arch btw
@Code_Gains2 күн бұрын
Guess, I'll need to buy the socks then.
@dontknow78633 күн бұрын
💪💻 🤖
@rileyhawksworth8362Ай бұрын
I'm back from a previous episode. I remember commenting about my interest in creating my own game engine. I followed through with it and I have a GitHub for it. Development is slow though and it is in a very early state. I only started it 2 weeks ago. As a challenge I'm using Vulkan for rendering.
@Code_GainsАй бұрын
Good luck!!
@rileyhawksworth8362Ай бұрын
Thanks! Good luck too!
@python_n_cАй бұрын
Subscribed because you use C++. Cool project!
@mohammadshoaib8086Ай бұрын
Good. Now make it remote controlled.
@levmurflatazara9853Ай бұрын
Hey i am also dumb so i will ask question to same dubness but more experiencess human entity Is it good idea to make game editor separate programm that will somehow load game code and edit save files itself when running game to show game world and its transforms? Or it is better to somehow implement editor into game loop and idk like turn it off somehow in release version??
@Code_GainsАй бұрын
I wouldn't dare to say how it SHOULD be done, but I ended up making the Core a static library and the Editor a separate application (with the intent that games are also completely separate and would have no editor code in them). You can check out the latest video to this date.
@bioblazepayneАй бұрын
I just worked on excluding editor/client/server code last night in VS2022. You can use #if IS_SERVER and then in VS2022 you can define it as a variable, and if that variable is set then it will only compile that code, else compile the other. **Thumbs up**
@tutacatАй бұрын
visual studio is literally just an editor. it doesnt do anything except integrate.
@dontuo2 ай бұрын
It's cool that you finally chose the build system. But I'm interested in one question. Will you make the engine cross-platform? (at least for linux and windows)
@Code_Gains2 ай бұрын
Yeah. I have plans for Vulkan in the future once the core architecture settles a bit. The plan is to make some sort of preprocessor code that would allow to compile for all platforms.
@dontuoАй бұрын
@@Code_Gains cool😎
@NexusGamingRadical2 ай бұрын
I never thought to cook my spaghetti code, good thinking!
@Alguem3872 ай бұрын
build.ps1 > build systems
@forest60082 ай бұрын
I love this, hope you make something awesome, im trying to do the same thing
@Code_Gains2 ай бұрын
🫡
@DeuxisWasTaken2 ай бұрын
dx11?? but why tho edit: ok I saw the explanation in #0, doing it just to learn because it's beginner-friendly is probably the only sensible reason to use it. It's a shame that by choosing it you've immediately committed to the engine being Windows-only and kinda outdated from the get-go, but it's better than trying to start with Vulkan and then giving up because it's too hard.
@scrapmine2 ай бұрын
dxvk and proton exists.
@DeuxisWasTaken2 ай бұрын
@@scrapmine yeah, and they're translation layers that introduce overhead and bug surface just to run an outdated (by 8+ years at this point) graphics API meant for Windows by design. It's awesome that they exist and have gotten to the point of working (pretty) well; it's understandable when people fall back to relying on them due to learning or severe time/budget/workforce constraints, but using them is still quite a bit worse than developing for native support using the modern multiplatform API that is Vulkan.
@scrapmine2 ай бұрын
@@DeuxisWasTakenRunning dx11 games in proton gives near native performance for many games.
@DeuxisWasTaken2 ай бұрын
@@scrapmine many, not all, and that's only because the wine/proton people poured sweat and tears implementing it. "Performance in best case scenario" isn't all there is. Besides, I've seen that some games run faster on Proton than on Windows. That's not due to Proton being magic but due to the linux kernel, drivers and whatnot being more optimised enough to offset the overhead brought about by Proton. Running natively they'd get even better performance.
@dizimo11882 ай бұрын
Vulkan only opens up the possibility for running on Linux which doesn't expand the userbase much at all. It might be a good idea compared to DX12, but it's not worth the headaches caused if it's unnecessary.
@Benjaneb2 ай бұрын
8:40 I see a lot of people write code like this, having a pretty much empty main function that just calls another function. I usually think it looks stupid but is there actually a good reason to do it? Did you do it because you know you want other code around the editor?
@Code_Gains2 ай бұрын
I don't think there are any hard set rules for this (because the program won't run faster or better), but for me If I have a project and see the main function I want to immediately understand what the entire application does and in this case it runs the editor (this is opposed to reading that messy code to understand that this is the editor).
@scrapmine2 ай бұрын
I know that with rust it reduces build times by a significant about, might be the same for other languages.
@Benjaneb2 ай бұрын
@@scrapmine Build time would only be reduced if the code is separated out into another compilation unit (i.e. another file) and that unit is already compiled and you haven't made any changes to it, so if that's the piece of code you're actually working on it would do nothing to build time.
@thundertastic8962 ай бұрын
The cherno video he referenced touches a bit on this but it's a combination of DX ergonomics when debugging & having the ability to restart your whole editor "view" without closing your application process completely (which may be a hard requirement for certain features).
@Samrax862 ай бұрын
Nerd
@rordo.2 ай бұрын
Excited to see where this goes next!
@thomasp95112 ай бұрын
knowledge acquired (IQ inceased +1 total 69)
@dontknow78632 ай бұрын
💪
@fakedy95392 ай бұрын
Im glad i found this channel. I'm planning on creating a new engine myself since ive matured a lot since my first attempt. I like your style :)
@drominitoketchup3 ай бұрын
Nice, another guy who loves low level programming². Oh, I'm already a subscriber to your site, I didn't even notice 🤔
@nolram3 ай бұрын
Do NOT use Cmake. Cmake is one of the worst programs ever written. Dependency management is hell with it, it’s not backwards compatible and breaks every few years, and doesn’t even allow multiple versions to coexist. The documentation is sparse and often features just… break. Use Premake if you value your sanity.
@guilhermerodrigues48533 ай бұрын
I’m using Cmake for my game engine and it’s alright. There ar some playlist that you can watch and learn, there is a video called “do you even test? - Cmakel” (or something like that) that you use to add modules to your project. I never tried premake, but whenever o check forum, the results say Cmake is kinda the standard
@anthonyapm3 ай бұрын
Good job man. I've been battling the same problems 😅
@hexdragon_3 ай бұрын
you can actually draw a hexagon using just 4 triangles
@Code_Gains3 ай бұрын
And now I know. Thank you. I only saw it after you commented and I will not be able to unsee it.
@Code_Gains3 ай бұрын
I love your youtube handle as well. You live up to it.
@graphicstalk76093 ай бұрын
Use tuples instead of vectors. Tuples allow you to have a dynamic array that contains multiple types.
@Code_Gains3 ай бұрын
Thanks for the tip. I will be sure to include tuples in my analysis once I come back to this in the future vids.
@timtreichel31612 ай бұрын
No I don't think this is a good if you want to go with an ECS architecture. You want the components to be stored continuously, for each component type. So going with a single vectors for each component is exactly the right way to go. Then you want to iterate over the components vectors individually when updating the game/simulation state. That way you have the most cash benefits. Code duplication can be avoided with templates. Looking up components can also be implemented with linear or binary search and will probably be fast enough in most cases. Dealing with hash maps brings their own draw back, but I guess it can be done and might be needed in some cases.
@MasterBroNetwork3 ай бұрын
Great video, I think there is a way to disable that right-click menu in File Explorer with a registry tweak, I'm not sure though.
@Code_Gains3 ай бұрын
I found some github repositories that have an executable to remove that pesky menu later.
@kudorgyozo3 ай бұрын
your engine looks great, with UI, enemies and everything. Very nice!
@Code_Gains3 ай бұрын
The only enemy is me. Thanks though.
@MJ123and53 ай бұрын
Mine is worse ahaha
@Sam-rr4ek3 ай бұрын
help i am big noob, what programs do i run so i can code in c++ for unreal engine 5
@xzaz23 ай бұрын
This looks like Silkroad online
@basboerboom93283 ай бұрын
I feel your pain. I am currently on my countless'th iteration of ECS for my game. Every time I almost get a Eureka moment, I run into a problem with my ECS system.
@aurimasjurgelis22613 ай бұрын
I found this video randomly, thanks to the KZread's algorithm. I wasn't disappointed because I used to be interested in game engines too (and Lineage 2). Nostalgic and educational.
@aliceberethart3 ай бұрын
0:17 lol ain’t that the truth Learning is addictive hell
@tarck333333rrrr3 ай бұрын
Noooo, build systems are a trap! Never worry about BS like separating editor and code at this stage! I even seen AAA project that do that with extra build. Heck, look at DOOM BFG source! It has only 4 projects and it mainly for mod support. It even has editor build in into main exe! All crap like this just distract you from your main goal - making game or gameengine.
@Code_Gains3 ай бұрын
I think it is better done early, than when I have a completed project. Also I think it is a very valuable thing to know how to do and I want to learn it.
@tarck333333rrrr3 ай бұрын
@@Code_GainsValue is doubtful. I can be done later or never - lots of AAA projects begin by checking in last title source into a new repo.
@thomasp95113 ай бұрын
Hmmmm..yes..oh…true dat.. big brain
@rileyhawksworth83623 ай бұрын
Hey, I really like the videos and you are convincing me to make my own game engine. Keep u the good work. I've used cmake before and it seems good but never used premake. If you plan on sticking with compiling on windows msys2 or the windows subsystem for Linux might be helpful.
@Code_Gains3 ай бұрын
Thanks! Good luck with your engine if you decide to do it in the end.
@rileyhawksworth83623 ай бұрын
Thanks, good luck too. Currently I've just been learning Makefile because I was recommended that by someone part of Travis Vroman's discord server. He is also making a game engine, might be a useful reference. The reason I was recommended Makefile is because I'm only planning on supporting Windows.
@InfiniteCoder013 ай бұрын
Ha, you are following my way and the way Low Level Game Dev went. Welcome to the club!
@orbyfied3 ай бұрын
🔥🔥🔥🔥🔥
@sleepymushroom94033 ай бұрын
Hello there
@Code_Gains3 ай бұрын
Hi?
@GTGTRIK3 ай бұрын
This is really helpful on my own ECS journey. I've been struggling with the whole magic layer of "linking components to entities".
@Code_Gains3 ай бұрын
Glad to hear I helped someone
@KarimHamdallah-gc2el3 ай бұрын
amazing work, hope you get into material system with pbr and model loading
@grand14153 ай бұрын
Insanely underrated channel, you are the goat o7
@SillyOrb3 ай бұрын
5:10 Uh-oh. Is anybody going to point out that world and universe are the same? World is often used to mean planet Earth, but it really means universe / cosmos. To be fair, the analogy still holds, if the "outer" universe is removed, due to e.g. the many-worlds-interpretation of quantum mechanics providing a linguistic precedent and concept. What is beyond the world / universe / cosmos? We don't know. You do you though, this has no bearing on what you call the concepts in your code. (Please use parent & child instead of father & child, which Unity does. 🤦) My irrelevant nitpicking aside, these videos are both very entertaining and quite informative. I am very partial to the presentation and the overall perspective. It is good to have the option to use bson, which is simply binary json (that Cereal apparently supports, as per the video). Especially for files, that don't absolutely must be text. Many people prefer text files for development data and binary files for final data, as the latter is more compact and faster to parse on top of that, but the former can be trivially inspected, fixed and merged.
@Code_Gains3 ай бұрын
Didn't think about that, indeed, it might make sense to re-name Universe into a World Manager, or just come up with a different naming scheme entirely. The thoughts on using text for development and binary for production makes sense to me especially considering that multiple people might work on a single project. Thank you for the support.
@callumcassidy-nolan58723 ай бұрын
Remake blender with good UI pls
@Code_Gains3 ай бұрын
I first need to learn how to use blender myself...
@z4pp8203 ай бұрын
that would be quite the piece of work. blender has been released since 1995, so that'd be 29 years of work. but here's the catch: more than one person worked on blender.
@billymays88642 ай бұрын
Wait till this guy gets a hold of maya
@thisguyisnotable3 ай бұрын
your videos are super informative and entertaining, keep it up!
@Code_Gains3 ай бұрын
Thanks. Glad to hear someone found this informative.
@quantumgamer62093 ай бұрын
Can you use python to make a game engine IDE with C compiler to complie your python code? I am currently making a game engine in python with C/C++ game dev library but I am using the python version of the C/C++ game dev library like imgui, jolt physics engine, ogre graphics rendering engine, vulkan, bullet physics engine and other C/C++ library and I am using pygame pyglet for 2D and 3D game framework for the game engine. The game engine will be for simple 2D and complex 3D games and I am just like you dumb but I am learning game design and development at college and university this September to do computer game development foundation year for 4 years.
@doce36093 ай бұрын
Definitely one of my favourite game dev youtubers. Love it
Пікірлер
bro created runescape at 7:04 GG
It actually looks similar, now that I look at it
bros doing gains in both Elden ring and game engine.
its worse than scratch, but better than unity :D
I will definitely use your engine when it is available on linux. I use arch btw
I use arch btw
Guess, I'll need to buy the socks then.
💪💻 🤖
I'm back from a previous episode. I remember commenting about my interest in creating my own game engine. I followed through with it and I have a GitHub for it. Development is slow though and it is in a very early state. I only started it 2 weeks ago. As a challenge I'm using Vulkan for rendering.
Good luck!!
Thanks! Good luck too!
Subscribed because you use C++. Cool project!
Good. Now make it remote controlled.
Hey i am also dumb so i will ask question to same dubness but more experiencess human entity Is it good idea to make game editor separate programm that will somehow load game code and edit save files itself when running game to show game world and its transforms? Or it is better to somehow implement editor into game loop and idk like turn it off somehow in release version??
I wouldn't dare to say how it SHOULD be done, but I ended up making the Core a static library and the Editor a separate application (with the intent that games are also completely separate and would have no editor code in them). You can check out the latest video to this date.
I just worked on excluding editor/client/server code last night in VS2022. You can use #if IS_SERVER and then in VS2022 you can define it as a variable, and if that variable is set then it will only compile that code, else compile the other. **Thumbs up**
visual studio is literally just an editor. it doesnt do anything except integrate.
It's cool that you finally chose the build system. But I'm interested in one question. Will you make the engine cross-platform? (at least for linux and windows)
Yeah. I have plans for Vulkan in the future once the core architecture settles a bit. The plan is to make some sort of preprocessor code that would allow to compile for all platforms.
@@Code_Gains cool😎
I never thought to cook my spaghetti code, good thinking!
build.ps1 > build systems
I love this, hope you make something awesome, im trying to do the same thing
🫡
dx11?? but why tho edit: ok I saw the explanation in #0, doing it just to learn because it's beginner-friendly is probably the only sensible reason to use it. It's a shame that by choosing it you've immediately committed to the engine being Windows-only and kinda outdated from the get-go, but it's better than trying to start with Vulkan and then giving up because it's too hard.
dxvk and proton exists.
@@scrapmine yeah, and they're translation layers that introduce overhead and bug surface just to run an outdated (by 8+ years at this point) graphics API meant for Windows by design. It's awesome that they exist and have gotten to the point of working (pretty) well; it's understandable when people fall back to relying on them due to learning or severe time/budget/workforce constraints, but using them is still quite a bit worse than developing for native support using the modern multiplatform API that is Vulkan.
@@DeuxisWasTakenRunning dx11 games in proton gives near native performance for many games.
@@scrapmine many, not all, and that's only because the wine/proton people poured sweat and tears implementing it. "Performance in best case scenario" isn't all there is. Besides, I've seen that some games run faster on Proton than on Windows. That's not due to Proton being magic but due to the linux kernel, drivers and whatnot being more optimised enough to offset the overhead brought about by Proton. Running natively they'd get even better performance.
Vulkan only opens up the possibility for running on Linux which doesn't expand the userbase much at all. It might be a good idea compared to DX12, but it's not worth the headaches caused if it's unnecessary.
8:40 I see a lot of people write code like this, having a pretty much empty main function that just calls another function. I usually think it looks stupid but is there actually a good reason to do it? Did you do it because you know you want other code around the editor?
I don't think there are any hard set rules for this (because the program won't run faster or better), but for me If I have a project and see the main function I want to immediately understand what the entire application does and in this case it runs the editor (this is opposed to reading that messy code to understand that this is the editor).
I know that with rust it reduces build times by a significant about, might be the same for other languages.
@@scrapmine Build time would only be reduced if the code is separated out into another compilation unit (i.e. another file) and that unit is already compiled and you haven't made any changes to it, so if that's the piece of code you're actually working on it would do nothing to build time.
The cherno video he referenced touches a bit on this but it's a combination of DX ergonomics when debugging & having the ability to restart your whole editor "view" without closing your application process completely (which may be a hard requirement for certain features).
Nerd
Excited to see where this goes next!
knowledge acquired (IQ inceased +1 total 69)
💪
Im glad i found this channel. I'm planning on creating a new engine myself since ive matured a lot since my first attempt. I like your style :)
Nice, another guy who loves low level programming². Oh, I'm already a subscriber to your site, I didn't even notice 🤔
Do NOT use Cmake. Cmake is one of the worst programs ever written. Dependency management is hell with it, it’s not backwards compatible and breaks every few years, and doesn’t even allow multiple versions to coexist. The documentation is sparse and often features just… break. Use Premake if you value your sanity.
I’m using Cmake for my game engine and it’s alright. There ar some playlist that you can watch and learn, there is a video called “do you even test? - Cmakel” (or something like that) that you use to add modules to your project. I never tried premake, but whenever o check forum, the results say Cmake is kinda the standard
Good job man. I've been battling the same problems 😅
you can actually draw a hexagon using just 4 triangles
And now I know. Thank you. I only saw it after you commented and I will not be able to unsee it.
I love your youtube handle as well. You live up to it.
Use tuples instead of vectors. Tuples allow you to have a dynamic array that contains multiple types.
Thanks for the tip. I will be sure to include tuples in my analysis once I come back to this in the future vids.
No I don't think this is a good if you want to go with an ECS architecture. You want the components to be stored continuously, for each component type. So going with a single vectors for each component is exactly the right way to go. Then you want to iterate over the components vectors individually when updating the game/simulation state. That way you have the most cash benefits. Code duplication can be avoided with templates. Looking up components can also be implemented with linear or binary search and will probably be fast enough in most cases. Dealing with hash maps brings their own draw back, but I guess it can be done and might be needed in some cases.
Great video, I think there is a way to disable that right-click menu in File Explorer with a registry tweak, I'm not sure though.
I found some github repositories that have an executable to remove that pesky menu later.
your engine looks great, with UI, enemies and everything. Very nice!
The only enemy is me. Thanks though.
Mine is worse ahaha
help i am big noob, what programs do i run so i can code in c++ for unreal engine 5
This looks like Silkroad online
I feel your pain. I am currently on my countless'th iteration of ECS for my game. Every time I almost get a Eureka moment, I run into a problem with my ECS system.
I found this video randomly, thanks to the KZread's algorithm. I wasn't disappointed because I used to be interested in game engines too (and Lineage 2). Nostalgic and educational.
0:17 lol ain’t that the truth Learning is addictive hell
Noooo, build systems are a trap! Never worry about BS like separating editor and code at this stage! I even seen AAA project that do that with extra build. Heck, look at DOOM BFG source! It has only 4 projects and it mainly for mod support. It even has editor build in into main exe! All crap like this just distract you from your main goal - making game or gameengine.
I think it is better done early, than when I have a completed project. Also I think it is a very valuable thing to know how to do and I want to learn it.
@@Code_GainsValue is doubtful. I can be done later or never - lots of AAA projects begin by checking in last title source into a new repo.
Hmmmm..yes..oh…true dat.. big brain
Hey, I really like the videos and you are convincing me to make my own game engine. Keep u the good work. I've used cmake before and it seems good but never used premake. If you plan on sticking with compiling on windows msys2 or the windows subsystem for Linux might be helpful.
Thanks! Good luck with your engine if you decide to do it in the end.
Thanks, good luck too. Currently I've just been learning Makefile because I was recommended that by someone part of Travis Vroman's discord server. He is also making a game engine, might be a useful reference. The reason I was recommended Makefile is because I'm only planning on supporting Windows.
Ha, you are following my way and the way Low Level Game Dev went. Welcome to the club!
🔥🔥🔥🔥🔥
Hello there
Hi?
This is really helpful on my own ECS journey. I've been struggling with the whole magic layer of "linking components to entities".
Glad to hear I helped someone
amazing work, hope you get into material system with pbr and model loading
Insanely underrated channel, you are the goat o7
5:10 Uh-oh. Is anybody going to point out that world and universe are the same? World is often used to mean planet Earth, but it really means universe / cosmos. To be fair, the analogy still holds, if the "outer" universe is removed, due to e.g. the many-worlds-interpretation of quantum mechanics providing a linguistic precedent and concept. What is beyond the world / universe / cosmos? We don't know. You do you though, this has no bearing on what you call the concepts in your code. (Please use parent & child instead of father & child, which Unity does. 🤦) My irrelevant nitpicking aside, these videos are both very entertaining and quite informative. I am very partial to the presentation and the overall perspective. It is good to have the option to use bson, which is simply binary json (that Cereal apparently supports, as per the video). Especially for files, that don't absolutely must be text. Many people prefer text files for development data and binary files for final data, as the latter is more compact and faster to parse on top of that, but the former can be trivially inspected, fixed and merged.
Didn't think about that, indeed, it might make sense to re-name Universe into a World Manager, or just come up with a different naming scheme entirely. The thoughts on using text for development and binary for production makes sense to me especially considering that multiple people might work on a single project. Thank you for the support.
Remake blender with good UI pls
I first need to learn how to use blender myself...
that would be quite the piece of work. blender has been released since 1995, so that'd be 29 years of work. but here's the catch: more than one person worked on blender.
Wait till this guy gets a hold of maya
your videos are super informative and entertaining, keep it up!
Thanks. Glad to hear someone found this informative.
Can you use python to make a game engine IDE with C compiler to complie your python code? I am currently making a game engine in python with C/C++ game dev library but I am using the python version of the C/C++ game dev library like imgui, jolt physics engine, ogre graphics rendering engine, vulkan, bullet physics engine and other C/C++ library and I am using pygame pyglet for 2D and 3D game framework for the game engine. The game engine will be for simple 2D and complex 3D games and I am just like you dumb but I am learning game design and development at college and university this September to do computer game development foundation year for 4 years.
Definitely one of my favourite game dev youtubers. Love it