My main goal is to make a game and learn programming, and I’ve been learning Unity for several months and never really understood it that well. I think I’ll learn some frameworks and then start using game engines when I get into college or near the end of high school.
@TheExtremeCube I'm using my company's graphical software for industrial use (not game-related at all) to build a 2D adventure game, this essentially amounting to a game framework: everything is compiled iteratively for me to see on the fly, but every single line the game screen is composed of in its entirety has been transposed, shifted, rotated and torn apart every which way by me, either via an Unreal blueprint-like toolset or just using the scripting language (I would be using the latter much more often, but it sadly doesn't support the whole library of the software). It takes me forever to create a character, animate the alternating feet and leg movements etc. But the upside is: I know I can get it done because I know this software like the back of my hand. When it yields an array desynchro or whatever, I groan, but I know how to fix it. Everything that I have planned out for the game I know for a fact I can implement. Here's the difference between simplicity and ease of use. Coding is simpler than using a game engine, but it's far more time-consuming. I don't know how long this game would have taken me in Unity or Godot, but given the time I'd need to spend getting familiar with the engine's environment, chances are it wouldn't be all that quicker. If at all.
most of the game engines are made from specific game frameworks. If you just want to build games that have the same framework one can use a game engine. But if you want to create everything new and from scratch, game frameworks are definitely the way to go imo.
Hello! I have a little bit off topic question, but you mentioned here some term which you were mentioning few times already. "Scene-based game". So the question is which alternatives scene-based game have? Procedural-based, right?
Yes. It's very common to organize your game around scenes or levels, but doesn't always make sense. Consider a simple game like say, Pong... in that case its more often screen based ( title, game, credits, etc ), while others such as say... Terraria which are procedural in nature doesn't lend itself to a scene oriented layout. Sports games are also often a poor fit, as are RPGs.
The classic definition, which i can't remember the origin, is 'game without contents'. It's a piece of software that you throw some data like levels, graphic, sound, and boom it becomes playable. Game engine used to be specific to grnre/title, eg the unreal engine 2 are created specifically for FPS. Modern game engines generalize the game mechanics, that's why you can create variety of games with unity3d for example. That comes with cost of having some game mechanics removed from the engine (so the uset have to implement those).
Сейчас во всех туториалах говорят начать изучение программирования с блупринтов, чтобы понять как это работает. А этот товарищ говорит наоборот, начать изучение с фреймворка, то есть с кодинга. Вот и думай...
From what I've seen, if you can build a Wolfenstein 3D clone from a framework, you can consider yourself a real pro. Some people have reverse-engineered it (or even freaking Doom) from raw C, using only OpenGL as an external asset. Now those are probably the limits a single person (and programming guru) can do within a reasonable timeframe.
I built around two-thirds of a game in XNA years ago before it was dropped, and I just stopped work on the game. If I installed MonoGame could I import my old XNA project. I would wan't to rework the old code now, but really want to get hold of the graphics assets within the old project as I don't have the original files anymore. Can I do this with the modern MonoGame?
@@shira158 I've never heard of that. I'll take a look. Nowadays I'd probably want to rewrite chunks the code from scratch. But It's the assets I would like to use. I don't think I have the origonal images anymore to import.
@@GarryGri If your assets were generated within the xna content pipeline, fna and monogame can both load them, so it's all good. If your assets are within the executable itself, use dnspy or ilspy or dotpeek to decompile and extract the resources. FNA is the XNA successor, with a full recreation of the version 4.0, it has been created exactly for the purpose of running old XNA projects and to extend them cross platform, not just xbox and PC. Giving a sense of continuity, but while keeping the framework exactly as it was forever. Monogame started with the same purpose, but along it has became its own thing, with more unique features and its own spin on things. Almost like it's a XNA sequel and new version. Both are great, both are pretty similar but different. I recommend starting with FNA for your old projects to get the hand on things plus that you will feel like nothing has changed, and once you finish the project, move to monogame. Get to know both frameworks. You are good to go.
You have Godot as a free open source MIT licence game engine. And seriously, I don't think you need anything more :) Especially when version 3.0 will be released in a few weeks.
@@Liam-pf7ih csgo: source engine (made by valve with opengl), gta 5 made with rage engine (made by rockstar North with opengl), call of duty IW engine (made by infinity ward (the ones who made call of duty)) for the game, Rainbow six siege and all assassin's creed anvil next engine (made by Ubisoft for their games). So yeah, as you Can see none of the AAA games are made with Unity or Unreal Engine, and all those engines they made don't have visual assistance, they are just written down in code.
@Epoch plus5 Slay The Spire, the most downloaded game on Steam in 2019, was developed with LibGDX --> www.reddit.com/r/libgdx/comments/epkhpy/engines_used_in_the_most_popular_games_of_2019/
IMO quite poorly explained. While true, it doesn't focus on differences and seems framwork centric. Engine is framework with tools. While engine is higher level with less coding it also saves A LOT of time. With engine you program movement of character, how character interacts with the world, what buttons do (and engines have sometimes tools for those things so no coding required) You need engine either way, but with framework you build your own tools to create engine or download libraries to turn framework to engine. That sounds nice but its really hard to find libraries for everything and you need. Also if you create your own tools, it takes lots of time. Biggest problem solo devs face is loss of motivation cause development takes soo much time so I would advise to always use and start with higher engine, create some games and when it interests you, get lower and use engine that needs more coding, after that use framwork, create projects with it and then maybe even go below that to opengl/directx. 90% times, engine is enough for dev needs and framework comes into play if you create game for specific platforms or specific needs
I love your level of conciseness and fast talking. Really stands out of most of the youtube trash.
i'm always fighting against unity and i make my own solutions all the time, so maybe a framework would be better for me, but it's intimidating.
I think it really is worth a try. Also imho you learn a lot more along the way.
My main goal is to make a game and learn programming, and I’ve been learning Unity for several months and never really understood it that well. I think I’ll learn some frameworks and then start using game engines when I get into college or near the end of high school.
Keep in mind a framework involves more programming and is more advanced than a game engine, usually people start with a game engine first
@TheExtremeCube I'm using my company's graphical software for industrial use (not game-related at all) to build a 2D adventure game, this essentially amounting to a game framework: everything is compiled iteratively for me to see on the fly, but every single line the game screen is composed of in its entirety has been transposed, shifted, rotated and torn apart every which way by me, either via an Unreal blueprint-like toolset or just using the scripting language (I would be using the latter much more often, but it sadly doesn't support the whole library of the software). It takes me forever to create a character, animate the alternating feet and leg movements etc.
But the upside is: I know I can get it done because I know this software like the back of my hand. When it yields an array desynchro or whatever, I groan, but I know how to fix it. Everything that I have planned out for the game I know for a fact I can implement. Here's the difference between simplicity and ease of use. Coding is simpler than using a game engine, but it's far more time-consuming.
I don't know how long this game would have taken me in Unity or Godot, but given the time I'd need to spend getting familiar with the engine's environment, chances are it wouldn't be all that quicker. If at all.
most of the game engines are made from specific game frameworks. If you just want to build games that have the same framework one can use a game engine. But if you want to create everything new and from scratch, game frameworks are definitely the way to go imo.
If you really want to do it from scratch, you use plain x86 Assembly XD
Hello! I have a little bit off topic question, but you mentioned here some term which you were mentioning few times already. "Scene-based game". So the question is which alternatives scene-based game have? Procedural-based, right?
Yes.
It's very common to organize your game around scenes or levels, but doesn't always make sense. Consider a simple game like say, Pong... in that case its more often screen based ( title, game, credits, etc ), while others such as say... Terraria which are procedural in nature doesn't lend itself to a scene oriented layout. Sports games are also often a poor fit, as are RPGs.
For me, Game Frameworks rule. Libgdx, Monogame, SFML are much more "me". I have Unity and Gamemaker, but I prefer Frameworks.
me too LibGDX
I love libGDX
I love Monogame & Libgdx.
I love libGDX and Raylib
I never use game engine if i make 2d games. I still use game engine when i need 3d.
Frameworks take over execution. You can't use two frameworks, but you can use two libraries.
thanks for this video. It help me to make a decision. i have try love2d and now i will try monogame because i want to learn C#
The classic definition, which i can't remember the origin, is 'game without contents'. It's a piece of software that you throw some data like levels, graphic, sound, and boom it becomes playable. Game engine used to be specific to grnre/title, eg the unreal engine 2 are created specifically for FPS.
Modern game engines generalize the game mechanics, that's why you can create variety of games with unity3d for example. That comes with cost of having some game mechanics removed from the engine (so the uset have to implement those).
I make my own frameworks in java when I make games
Because I like code without a level editor
Osturağı basma.
Сейчас во всех туториалах говорят начать изучение программирования с блупринтов, чтобы понять как это работает. А этот товарищ говорит наоборот, начать изучение с фреймворка, то есть с кодинга. Вот и думай...
I use framework for 2d games and engine for 3d games, because making own 3d renderer from scratch is royal pain as well...
From what I've seen, if you can build a Wolfenstein 3D clone from a framework, you can consider yourself a real pro. Some people have reverse-engineered it (or even freaking Doom) from raw C, using only OpenGL as an external asset. Now those are probably the limits a single person (and programming guru) can do within a reasonable timeframe.
I built around two-thirds of a game in XNA years ago before it was dropped, and I just stopped work on the game.
If I installed MonoGame could I import my old XNA project.
I would wan't to rework the old code now, but really want to get hold of the graphics assets within the old project as I don't have the original files anymore. Can I do this with the modern MonoGame?
Use FNA, it's especially meant for that.
@@shira158 I've never heard of that. I'll take a look. Nowadays I'd probably want to rewrite chunks the code from scratch. But It's the assets I would like to use. I don't think I have the origonal images anymore to import.
@@GarryGri If your assets were generated within the xna content pipeline, fna and monogame can both load them, so it's all good. If your assets are within the executable itself, use dnspy or ilspy or dotpeek to decompile and extract the resources.
FNA is the XNA successor, with a full recreation of the version 4.0, it has been created exactly for the purpose of running old XNA projects and to extend them cross platform, not just xbox and PC. Giving a sense of continuity, but while keeping the framework exactly as it was forever.
Monogame started with the same purpose, but along it has became its own thing, with more unique features and its own spin on things. Almost like it's a XNA sequel and new version.
Both are great, both are pretty similar but different. I recommend starting with FNA for your old projects to get the hand on things plus that you will feel like nothing has changed, and once you finish the project, move to monogame. Get to know both frameworks. You are good to go.
LÖVE for the life!!
It's more likely you'll find a free open source framework than a free open source engine
That's true due to the nature of what a framework is but game engines are getting better in that sense.
You have Godot as a free open source MIT licence game engine. And seriously, I don't think you need anything more :)
Especially when version 3.0 will be released in a few weeks.
Mattacker She is actually asking for the mlney you owe her.
Maybe because that's where all the game engines come from and then they make it proprietary ;)
Use frameworks for intrigue and learning purposes and use engines for shipping a game.
That was a great video, as usual ;)
A lot of these frameworks are nice if you are developing for things that are ancient like DOS or System 7...
you know that all the AAA games are made with frameworks right?
@@chappie3642 no since they arent most use unreal engine
@@Liam-pf7ih lol that is not true at all, almost every AAA game is made with an engine from pure code with a framework
@@chappie3642 Your right, "almost every AAA game is made with an engine"
@@Liam-pf7ih csgo: source engine (made by valve with opengl), gta 5 made with rage engine (made by rockstar North with opengl), call of duty IW engine (made by infinity ward (the ones who made call of duty)) for the game, Rainbow six siege and all assassin's creed anvil next engine (made by Ubisoft for their games).
So yeah, as you Can see none of the AAA games are made with Unity or Unreal Engine, and all those engines they made don't have visual assistance, they are just written down in code.
Top quality channel m8
Awesome Video, Keep it up, Sir.
LIBGDX RULES!!
Epoch plus5 I think that LIBGDX is obsolete now 😭
@@ahbeincestca2054 it's not btw
@Epoch plus5
Slay The Spire, the most downloaded game on Steam in 2019, was developed with LibGDX --> www.reddit.com/r/libgdx/comments/epkhpy/engines_used_in_the_most_popular_games_of_2019/
@@ahbeincestca2054 So what framework should we be using now if not LibGDX?
@@ahmedian86 I like LibGDX but the lighting system sucks.
Thanks for explaining that!
SFML RULES!!
@Noor Wachid I wrote this comment 2 years ago, for a year and a half I have been developing on Unity :)
Very useful, thanks!
IMO quite poorly explained. While true, it doesn't focus on differences and seems framwork centric.
Engine is framework with tools.
While engine is higher level with less coding it also saves A LOT of time. With engine you program movement of character, how character interacts with the world, what buttons do (and engines have sometimes tools for those things so no coding required)
You need engine either way, but with framework you build your own tools to create engine or download libraries to turn framework to engine. That sounds nice but its really hard to find libraries for everything and you need. Also if you create your own tools, it takes lots of time.
Biggest problem solo devs face is loss of motivation cause development takes soo much time so I would advise to always use and start with higher engine, create some games and when it interests you, get lower and use engine that needs more coding, after that use framwork, create projects with it and then maybe even go below that to opengl/directx.
90% times, engine is enough for dev needs and framework comes into play if you create game for specific platforms or specific needs
Thank you for that info
Great video!
I love your channel
Thanks man
I like frameworks because i build game to coding exercise, and i'm bad designer.
Moore Barbara Clark Kenneth Hall David
LOVE2D RULES!!
love2d >>>>>> all engines
thx dude
Orx Engine
SDL2 ftw!
I'm a noob . Im interested in making games. Can anyone please tell me where do I start?
unity or unreal. godot is also an option but not as much resources on it.
Maybe even with Gamemaker studio. Is a bit easier than unity, but it costs a bit
thank you all
MONOGAME
Monogame rooocks! Also, Raylib is getting there :)
Raylib rules !!!
Pygame ruullles,,,, JK SFML Roocccks
If you don't use a game engine you'll end up writing one badly