Game Engine Vs Game Framework -- When to Use Which?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello it's my karin caifa scratchin I've had the same question a couple of times including twice today so I figured I would address it in video form and that question is when should I use a frame rate and when should I use a game engine it's a very good question and first to really understand the answer to it you should probably understand what the difference is between a game engine and a framework in the first place now I actually already did a post on the game from scratch comm breaking down what the difference is between a game engine a framework and a game library are but the nutshell version is a game library basically accomplishes a single task box2d is a good example of a game library it solves physics and that's it so it's a component of a game but it only really solves a single aspect of it so you might have a library that does networking or graphics or something like that now a framework is basically a collection of libraries and possibly some tools it's the framework you would use to build a game but it's missing some of the key components of what you would actually use to make a game and this is where a game engine comes in now a game engine generally includes all of those basic beat bits and pieces you need to make a game so it would have a physics engine a graphics renderer possibly some networking code an audio engine all these different libraries and pretty much everything you would contain in a framework plus more and generally more consists of at least two more things first off there's almost always a level editor of some form 2d or 3d there is some way of composing your world and on top of that there are something called a scene graph this is the data structure in which your games data is stored in so for example in game maker it's room based in Godot it is node based or steam based so basically it's a way of storing or saving level data and that becomes the building block of your game well that's a key area where a game engine in a game framework vary and that's why you would often choose one or the other now it's break down let's give you a couple of examples first off of game engines you have the common ones like Unreal Engine Godot engine Unity game engine s2 copper cube you name it there whole bunch of them and also get into 2d you things like duality game maker construct 3 etc those are all game engines and where they set apart from game frameworks again is they all have a level editing tool of some form and they have a world data structure of some kind no game frameworks could potentially have a level format but it's not always management you will generally not see is a level world editing type tool examples of game frameworks are things such as Allegro SF ml mano game trying to think of more and more phaser etc so basically at that level those are all basically considered game frameworks SF ml god they're not coming to me but there's a ton of them at both levels for game inches and game frameworks now the abstraction is again that final level of detail that the existence of those tools for composing your world and that data for making that world so why would you want to use one or the other well a lot of it comes down to high level disk you know if you work within a game engine it's doing more work for you those tools are there and they're tools that you now don't have to write yourself basically the game engine does more for you and that is also why you choose not to use a game engine because if it's made decisions that you don't like you're going to either have to force their tools into working in a way to fit your workflow or you're gonna have to recreate them and then it's never a great fit so these high level tools are excellent for you these world creation tools this world format etc if they fit the type of game you're creating but if the tool that you're working with this say level based but your entire gamers procedural based it's a poor fit so that's probably the number one reason to choose one or the other it's based on the level of implementation you want the tool to choose for you so if you want to customize your level editor on your level data etc where all the times you're better off you know building on existing technology building on framers but not using a full-blown game engine whereas if a game engine just fits what your game ultimately is going to be you're going to save huge amount of time by using the game engine now another area where this is important especially for new developers so if you're just starting out you're trying to choose between a game framework and a game engine it really comes down to what you are trying to learn first now I'm another big difference is the higher level up the tool goes generally the further away from coding you get so if you're taking a very code centric approach if you're trying to learn programming via a game you're often better to start with a game framework because you're down more in the mud you know those tools take away a lot of the programming you need to do but as a result you're farther away from dealing with code so if you're more about learning to program a lot of times working with a low-level framework such as love or mono game etc would be more like programming to you again you're gonna have to reinvent the wheel a whole lot more a lot of those things have been solved in game makers that you're gonna have to solve yourself but it is a great learning exercise but if you're looking instead to actually create games get games done Publishing out the Thor you're probably better off learning a game engine you know pick up a Godot or a unity and you're gonna see results a lot faster because they have solved problems for you now what often makes sense down the road is for you to have tried a game engine and saw the way it worked and what you liked and didn't like and then implement your own solution on top of a game framework that's a very common approach now one last thing I'm going to address before we leave here is you can actually take a game framework and bring in some third-party tools and you pretty much have a game engine so for example if you took like the Lib g8 libgdx game framework and then you add it in the tiled level editor a few other tools and then you built some kind of a scene graph on top well you essentially have a 2-d game engine at that point you're just you know bringing the pieces together yourself so the level of difference between a game engine in a framework isn't huge but the way that you approach things definitely is I hope I clear things up a bit there if I haven't let me know in the comments down below and I will try to address any more questions you've got and again a lot of this is a semantical thing so you know you can look at it you could probably call a lot of game frameworks engines and a lot of game engines frameworks and not be that wrong in doing so so hope you found that useful if you did please of course click that like button and if you're in game development related stuff hit that subscribe button we've got all kinds of stuff here alright that's it for now I'll see you all later goodbye you
Info
Channel: Gamefromscratch
Views: 31,670
Rating: undefined out of 5
Keywords: GameDev, Game Engine, Game Development, Game Framework, Game Programming, Unity, Godot, Unreal
Id: G4cEXWosFtA
Channel Id: undefined
Length: 6min 58sec (418 seconds)
Published: Wed Nov 22 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.