In delving into game programming, I have encountered both "SDKs" and "game engines". What are their relationships and differences to each other?


2 Answers 2


To be as concise as possible, an SDK is engine + tools. It gives you all you need to make a game for that platform.

Sometimes you don't need specialised tools to make a game; in that case you only need an engine. Sometimes they are required or at least very helpful.

To give a few examples:

  • UDK, in addition to the Unreal engine, includes editors to create content suited for the engine.
  • Back in the cartridge console days, the console vendor would give you a kit with hardware tools, such as a doohickey (like gameshark/gamegenie) that you plug in between the cartridge and console, which gives useful diagnostic output. Sometimes they will also give you a special development version of the console that amounts to the same thing.

Of course, you can have SDKs for things that aren't engines, which adds a bit of confusion. The DirectX SDK for example doesn't include a game engine, as DirectX is a graphics/multimedia framework.

  • 2
    \$\begingroup\$ on the other hand, I pretty much view the terms the other way around (using your example even, DirectX is the core that a game engine in built on top of). which really just goes to show, these terms are basically interchangeable. \$\endgroup\$
    – jhocking
    May 23, 2014 at 0:33
  • \$\begingroup\$ You don't even need an "engine" to make a game. \$\endgroup\$
    – user1430
    May 23, 2014 at 1:04
  • \$\begingroup\$ @jhocking my mistake; DirectX was a poor example. See edit. \$\endgroup\$ May 23, 2014 at 1:18
  • \$\begingroup\$ no I wouldn't say it's a poor example. Rather, it's an example that proves the point: the terms don't mean anything exact, they just kinda vaguely point toward "stuff you make software with". \$\endgroup\$
    – jhocking
    May 23, 2014 at 1:19
  • \$\begingroup\$ @jhocking Arguments about semantics are tiresome :( but yes I see what you mean and I 100% agree. \$\endgroup\$ May 23, 2014 at 1:22

SDK applies to all of software development, whereas "engine" pretty much only applies to games. That's the only real difference between the terms (and even this description of "engine" plenty of people will disagree with); everything else is just semantics.

  • \$\begingroup\$ I have to disagree (to help prove your point ;)). Off the top of my head, Microsoft's "Jet Database Engine" comes to mind. Long before (1993) I ever heard the term game engine, I was familiar with that product. \$\endgroup\$ May 23, 2014 at 6:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .