I am planning to create a game engine for iOS that is similar to Cocos2d.

I wanted to use frameworks like UIKit to display UIViews and UIImageviews. In Cocos2d they don't use the objects in UIKit. If I used the objects in UIKit in my game engine could I still call it a game engine?

  • \$\begingroup\$ Really? gamedev.stackexchange.com/q/12488/20789 \$\endgroup\$ Jan 4 '13 at 4:23
  • \$\begingroup\$ Just FYI: Cocos2d also uses other frameworks/tools (Chipmunk/Box2D for physics, tools to parse JSON, PNG lib, etc.) \$\endgroup\$
    – bummzack
    Jan 4 '13 at 9:17
  • 2
    \$\begingroup\$ I think this belongs on Philosophy SE... \$\endgroup\$
    – Anko
    Jan 4 '13 at 9:42
  • 2
    \$\begingroup\$ Any game engine uses other "APIs", libs, software bricks... You can't build a game engine out of nothing. For instance you'll always be using the standard library of whatever programming language you use. \$\endgroup\$ Jan 4 '13 at 11:23

Yes, you could. You could call your product whatever you wanted, really. It's your product.

There isn't a strict definition for the term "game engine" within the industry. Most people will probably agree that an "engine" provides some reusable components and tools, typically at a high level, for building a product like a game and a "game engine" specifically provides those tools with the intent of building a complete game (versus a "physics engine" which only focuses on providing functionality to simulate physics).

Using other frameworks/APIs/engines underneath the abstraction of your own engine (or even exposing them) doesn't itself invalidate your use of the term "engine." It may not be the best idea, but that isn't what you asked.


A game engine is a system designed for the creation and development of video games. (wikipedia http://en.wikipedia.org/wiki/Game_engine)

Most of the game engines out in the market use some API's some way or the other. None of the engines out in the market has the developer's physics engine, they all either use PhysX, Havok or Bullet etc.

Some engines like Unreal or Unity use Beast for lightmapping.

There are other countless examples but for the sake of keeping the answer short, yes you can call it a game engine as long as it lets you create games.


Not the answer you're looking for? Browse other questions tagged or ask your own question.