Initial release February 29, 2008 (2008-02-29)
Stable release
0.6.4[1] / June 12, 2016; 10 months ago (2016-06-12)
Written in Python
Platform Cross-platform
License MIT License

Cocos2d is an open source software framework. It can be used to build games, apps and other cross platform GUI based interactive programs. Cocos2d contains many branches with the best known being Cocos2d-objc, Cocos2d-x, Cocos2d-html5 and Cocos2d-XNA. There are some independent editors in the cocos2d community, such as those contributing in the areas of SpriteSheet editing, particle editing, font editing and Tilemap editing as well as world editors including SpriteBuilder and CocoStudio.

Initial release June 25, 2008 (2008-06-25)
Stable release
3.5.0[2] / April 3, 2016; 12 months ago (2016-04-03)
Written in Objective-C
Platform Cross-platform
License MIT License
Initial release November 29, 2010 (2010-11-29)
Stable release
3.14.1[3] / January 19, 2017; 3 months ago (2017-01-19)
Written in C++
Platform Cross-platform
License MIT License

Sprites and scenes

All versions of Cocos2d work using the basic primitive known as a sprite. A sprite can be thought of a simple 2D image, but can also be a container for other sprites. In Cocos2D, sprites are arranged together to form a scene, like a game level or a menu. Sprites can be manipulated in code based on events or actions or as part of animations. The sprites can be moved, rotated, scaled, have their image changed, etc.


Cocos2D provides basic animation primitives that can work on sprites using a set of actions and timers. They can be chained and composed together to form more complex animations. Most Cocos2D implementations let you manipulate the size, scale, position, and other effects of the sprite. Some versions of Cocos2D let you also animate particle effects, image filtering effects via shaders (warp, ripple, etc.).


Cocos2D provides primitives to representing common GUI elements in your game scene. This includes things like text boxes, labels, menus, buttons, and other common elements.

Physics system

Many Cocos2D implementations come with support for common 2D physics engines like Box2D and Chipmunk.


Various versions of Cocos2D have audio libraries that wrap OpenAL or other libraries to provide full audio capabilities. Features are dependent on the implementation of Cocos2D.

Scripting support

Support binding to JavaScript, Lua, and other engines exist for Cocos2D. For example, Cocos2d JavaScript Binding (JSB) for C/C++/Objective-C is the wrapper code that sits between native code and JavaScript code using Mozilla's SpiderMonkey. With JSB, you can accelerate your development process by writing your game using easy and flexible JavaScript.

Editor support

End of Life Support

  • SpriteBuilder: Previously known as CocosBuilder, SpriteBuilder is an IDE for Cocos2D-SpriteBuilder apps. SpriteBuilder is open source and its development was sponsored by Apportable, who also sponsored the open source Cocos2D-SpriteBuilder, Cocos3D, and Chipmunk physics projects. It was available as a free app in the Mac App Store. Its latest official version is 1.4.[4][5] Its latest unofficial version is 1.5 which is compatible with cocos2d-objC 3.4.9.[6] It supports Objective C.
  • CocoStudio: a toolkit based on Cocos2d-x, containing UI Editor, Animation Editor, Scene Editor and Data Editor, together forming a complete system; the former two are tools mainly for artists while the latter are two mainly for designers. This is a closed source project developed by Chukong Technologies. Its latest version is 3.10 while is compatible with cocos2d-X 3.10.[7][8] It supports C++. In April 2016 it was deprecated and replaced with Cocos Creator.

Current Support

  • Cocos Creator, Which is a unified game development tool for Cocos2d-X. As of December 2016, It uses JavaScript only and does not support C++.

Supported platforms and languages

Branch Target Platform API Language
Cocos2d Windows, OS X, Linux Python 2.6, 2.7 or 3.3+,Objective-C
Cocos2d-x iOS, Android, Tizen, Windows 8, Windows Phone 8, Linux, Mac OS X C++, Lua, JavaScript
Cocos2d-ObjC iOS, Mac OS X, Android Objective-C, Swift
Cocos2d-html5 HTML5-ready browsers JavaScript
Cocos2d-xna Windows Phone 7 & 8, Windows 7 & 8, Xbox 360 C#

History and branches

February 2008, in a town called "Los Cocos" near Córdoba in Argentina, Ricardo Quesada, a game developer, created a 2D game engine with several of his developer friends. They named it "Los Cocos" after its birthplace. A month later, the group released the version 0.1 and changed its name to "Cocos2d".

Shortly after, App Store was officially founded and Apple released the related SDK, a big number of developers were attracted and various apps and games got on iOS platform. In this year, Ricardo rewrote Cocos2d in Objective-C and released "Cocos2d for iPhone" v0.1, and that's the predecessor of the later Cocos2d family.

Cocos2d has been ported into various programming languages and to all kinds of platforms. Among them there were:

  • ShinyCocos, in Ruby
  • Cocos2d-Android, in Java for Android only
  • Cocos2d-windows, in C++ for Windows XP/7 only
  • CocosNet, in C# base on Mono
  • Cocos2d-javascript, in JavaScript for web browsers

Also, the well-known designer from England Michael Heald designed a new logo for Cocos2d as shown (before it was a running coconut).

At the same time, Cocos2d developers accomplished the earliest peripheral tools - Zwoptex and Particle Designer. The latter allows developers to get the effect that used to cost them two hours within 15 minutes.

November 2010, a developer from China named Zhe Wang branched Cocos2d-x based on Cocos2d. Cocos2d-x is also an open source engine under MIT License, and it allows for compiling and running on multiple platform with one code base.

In 2013, Ricardo Quesada left cocos2d-iPhone and joined in cocos2d-x team. In 2015, there are 4 cocos2d branches being actively maintained.

  • Cocos2d-x & Cocos2d-html5 is maintained and sponsored by developers at Chukong Technologies Inc. Chukong is also developing CocoStudio, which is a WYSIWYG editor for Cocos2d-x and Cocos2D-html5, and an open source Cocos3d-x fork of the Cocos3D project.
  • Cocos2D-ObjC (formerly known as Cocos2D-iPhone and Cocos2D-SpriteBuilder), is maintained by Lars Birkemose.
  • Cocos2d-html5 is also maintained by cocos2d-x team.
  • Cocos2d-XNA was born in cocos2d-x community for supporting Window Phone 7, but now it's branched to an independent project using C# and mono to run on multiple platforms. Jacob Anderson at Totally Evil Entertainment is leading this branch.
  • Cocos3d works as an extension on cocos2d-iPhone, written in Objective-C. Bill Hollings at Brenwill Workshop Ltd is leading this branch.

See also


Further reading

  • Roger Engelbert (2013). Cocos2d-x by Example Beginner's Guide. Packt Publishing Ltd. ISBN 978-1-78216-735-8. 

External links

  This article uses material from the Wikipedia page available here. It is released under the Creative Commons Attribution-Share-Alike License 3.0.

Connect with defaultLogic
What We've Done
Led Digital Marketing Efforts of Top 500 e-Retailers.
Worked with Top Brands at Leading Agencies.
Successfully Managed Over $50 million in Digital Ad Spend.
Developed Strategies and Processes that Enabled Brands to Grow During an Economic Downturn.
Taught Advanced Internet Marketing Strategies at the graduate level.

Manage research, learning and skills at defaultLogic. Create an account using LinkedIn or facebook to manage and organize your IT knowledge. defaultLogic works like a shopping cart for information -- helping you to save, discuss and share.

  Contact Us