What is the difference between a game framework (for example, XNA with C#, SDL for c++) and a game engine?
Do game frameworks use engines? Does a game engine encapsulate sub-engines like physics engines, particle engines etc? Should they be used together, or are they mutually exclusively?
I take it there are separate engines for both 2D and 3D?
Answer
There really aren't strict definitions for "engine" or "framework."
Generally speaking, an engine is considered to "do more" or have more tools and related support than a framework, which is itself is often just a loose collection of related functionality exposed through some unified API.
To that end, things that claim to be engines may use things that claim to be frameworks to achieve functionality, but that does not always need to be the case. Similarly, a thing claiming to be a game engine can claim that it's constituent parts (the physics and rendering, et cetera) are implemented with a physics engine or a physics framework. The kinds of technology referred by both terms can be used interchangeably, or not.
There can be "engines" or "frameworks" for just about anything -- physics, sound, and yes, even 2D or 3D graphics.
It's really just a terminology issue, and it doesn't generally matter much. From a functionality perspective, a perspective focused on making your game, what should matter is whether or not the technology in question delivers what you need to make your game. Whether it calls itself an engine or a framework won't have any bearing on that.
No comments:
Post a Comment