hilty Posted October 31, 2013 Share Posted October 31, 2013 Hi guys, One question: For you, what is the difference between engine and framework? For me, framework is more embracing, while a engine focus only in game development. What you think about it? Quote Link to comment Share on other sites More sharing options...
Daikrys Posted October 31, 2013 Share Posted October 31, 2013 well a framework is a complete toolset with a base architecture, so spoken the application framethe application frame is static and you normally working with its components without changing the core structurefor example: construct, game maker, phaser while an engine is more a code set you use and where you programming on a much lower levelnormally you can change parts of the core structure with ease and adapt them to your needs, like using the render engine of one and the input engine of another one etc.dont know about real examples but maybe pixi.js? and basicly every engine you build up for your games oh and alot of frameworks actually start out as engines and move to framework status over time Quote Link to comment Share on other sites More sharing options...
happy Posted November 5, 2013 Share Posted November 5, 2013 I was just considering frameworks vs engines and stumbled across this thread. Whats the preference with the developers here, do you guys use engines much or prefer use frameworks instead? I guess you can use both, but all the JS game engines I've seen so far have been quite specific and I struggle to see he broader appeal. Cheers,h Quote Link to comment Share on other sites More sharing options...
Daikrys Posted November 5, 2013 Share Posted November 5, 2013 i prefer frameworks to save time and developing a bit easier, but sometimes it would be nice to have a bit more control over core things Quote Link to comment Share on other sites More sharing options...
xerver Posted November 12, 2013 Share Posted November 12, 2013 The difference between a framework and an engine is simply this: Frameworks are toolsets that provide you with an API to accomplish tasks, however they do not run or control you program flow. They are just there to provide utility methods or to abstract interfacing with a resource. An example is Three.js or Pixi.js, they provide an abstract API to work with WebGL/Canvas though they don't have application logic to run your program. Game Engines are full features toolsets that actually manage your program flow. They handle core logic and implementation details and you act on top of that. It is more than just simply interfacing with a resource, it is the core runtime of your entire application that you build on it. Generally they are a collection of different frameworks (some custom, some off the shelf). Usually you use components of these to build your game, or extend the engine with new components for you to use. Examples of these are Unity, or UDK. A good rule of thumb is you build *with* a framework, but you build *on* an engine. Think of a framework like a toolbox and a game engine like a workshop filled with tools that you use in the certain way of that workshop. Which to use is dependent on what you are building, the environment it is in, the features you need, and how much work you want to put in. Another good definition is: http://stackoverflow.com/questions/5068992/whats-the-difference-between-an-engine-and-a-framework These terms, and others, do seem very similar. They're named from a conceptual standpoint, and so could be defined as follows:A "framework" is a "foundation" or "support structure" around which you build your actual application. The .NET Framework includes not only a foundation (the CLR) but a series of libraries that provide standardized functionality that you would otherwise have to implement yourself. Other frameworks or foundations provide more specific areas of support, such as in UI, data storage, client-server interaction, etc. Frameworks provide a relatively static, generic structure on and in which you build something specific and unique.An "engine" is a self-contained, but externally-controllable, piece of code that encapsulates powerful logic designed to perform a specific type of work. Engines exist to do "heavy lifting", where you instruct it to perform some complex, abstract task, and it handles the specifics in a relatively efficient manner without further external guidance. SQL implementations, and other services that perform searching, are typically called "engines". There are also physics engines, graphics engines, etc., which all have in common the idea that you tell it "do this" in some generic manner, and it handles the details. Quote Link to comment Share on other sites More sharing options...
hilty Posted November 12, 2013 Author Share Posted November 12, 2013 The difference between a framework and an engine is simply this: Frameworks are toolsets that provide you with an API to accomplish tasks, however they do not run or control you program flow. They are just there to provide utility methods or to abstract interfacing with a resource. An example is Three.js or Pixi.js, they provide an abstract API to work with WebGL/Canvas though they don't have application logic to run your program. Game Engines are full features toolsets that actually manage your program flow. They handle core logic and implementation details and you act on top of that. It is more than just simply interfacing with a resource, it is the core runtime of your entire application that you build on it. Generally they are a collection of different frameworks (some custom, some off the shelf). Usually you use components of these to build your game, or extend the engine with new components for you to use. Examples of these are Unity, or UDK. A good rule of thumb is you build *with* a framework, but you build *on* an engine. Think of a framework like a toolbox and a game engine like a workshop filled with tools that you use in the certain way of that workshop. Which to use is dependent on what you are building, the environment it is in, the features you need, and how much work you want to put in. Another good definition is: http://stackoverflow.com/questions/5068992/whats-the-difference-between-an-engine-and-a-framework Thanks for your answer. So, following that you said, Phaser is a engine, right? Quote Link to comment Share on other sites More sharing options...
Quetzacotl Posted November 12, 2013 Share Posted November 12, 2013 engine is a component of framework Quote Link to comment Share on other sites More sharing options...
xerver Posted November 12, 2013 Share Posted November 12, 2013 Thanks for your answer. So, following that you said, Phaser is a engine, right? Can go either way, I think Rich calls it a "Game Framework" which is legit because it is generic, but calling it a "Game Engine" would not be incorrect either. Though in the most technical definition, it is probably an Engine. As I said before though, don't get caught up in these names they are subjective and fluid; plus it doesn't really matter what they are called choose the toolset you want/need. engine is a component of framework If I understand what you are trying to say, then you have it backwards. A framework is an abstraction for dealing with a single API, and engine is generally a collection of frameworks purposed to deal with a specialized task (i.e. a game). Quote Link to comment Share on other sites More sharing options...
hilty Posted November 12, 2013 Author Share Posted November 12, 2013 Can go either way, I think Rich calls it a "Game Framework" which is legit because it is generic, but calling it a "Game Engine" would not be incorrect either. Though in the most technical definition, it is probably an Engine. As I said before though, don't get caught up in these names they are subjective and fluid; plus it doesn't really matter what they are called choose the toolset you want/need. If I understand what you are trying to say, then you have it backwards. A framework is an abstraction for dealing with a single API, and engine is generally a collection of frameworks purposed to deal with a specialized task (i.e. a game). xerver, thanks. I'm understand best now. But, other questions. What you say with generic?Phaser may be used for make different types of games? Is it? But this is the same concept of Engine, no? What I understand until now is that a framework have more uses.You can use it to build a software, for example. Engines have a only focus, games. That's right? (Thanks for your patience) Quote Link to comment Share on other sites More sharing options...
xerver Posted November 12, 2013 Share Posted November 12, 2013 That is one way to think of it, yes. Pixi.js (a framework) is for rendering, you can render anything like games, charts, anything. Phaser is a Game Engine, you make games with it. It is possible to do other things, but it is focused on making different kinds of games. Since it isn't for a *specific* game, but instead is a generic library for making all kinds of games calling it a Game Framework makes sense, so does calling it a Game Engine. Again, try not to get caught up in the names; it really doesn't matter what something is categorized as. Just choose the tool that is right for you. Quote Link to comment Share on other sites More sharing options...
hilty Posted November 12, 2013 Author Share Posted November 12, 2013 That is one way to think of it, yes. Pixi.js (a framework) is for rendering, you can render anything like games, charts, anything. Phaser is a Game Engine, you make games with it. It is possible to do other things, but it is focused on making different kinds of games. Since it isn't for a *specific* game, but instead is a generic library for making all kinds of games calling it a Game Framework makes sense, so does calling it a Game Engine. Again, try not to get caught up in the names; it really doesn't matter what something is categorized as. Just choose the tool that is right for you. I ask it because I created "something" to build my games but I didn't know how to call it. Game framework is a good name for it. Thanks xerver. Quote Link to comment Share on other sites More sharing options...
Chris Posted November 12, 2013 Share Posted November 12, 2013 I tend to say - in game related terms, they are nearly the same. In application development, you differ between libraries and frameworks. A library offers you the tools to get a single job done, like converting images, or rendering something. A framework, on the other hand is a environment you build your application into. It dictates how things work together, shapes the way you need to structure your code and files. A game engine does the same. It requires you to work in a specific way to get your game built. So for me, the terms framework and engine are the same thing in the game development space. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.