Cocos2d-x is a mature open source cross-platform game development framework that supports 2D and 3D game creation. The engine provides rich functions such as graphics rendering, GUI, audio, network, physics, user input, etc., and is widely used in game development and interactive application construction. Its core is written in C and supports. Cocos2D JS games can currently be deployed to iOS, Android, Blackberry, Windows Phone, Mac, Windows, Linux and HTML. With such wide deployment options, it’s easy to see why many game developers are choosing Cocos2D. Perhaps the best part about Cocos2D JS is that it’s 100% open-source and liberally MIT licensed.
Original author(s) | Zhe Wang |
---|---|
Developer(s) | Chukong Technologies |
Initial release | December 1, 2010[1] |
Stable release | |
Repository | github.com/cocos2d/cocos2d-x |
Written in | C++ |
Platform | Cross-platform |
License | MIT License |
Website | cocos2d-x.org |
Original author(s) | Ricardo Quesada |
---|---|
Developer(s) | Andrei Volodin and Lars Birkemose |
Initial release | June 25, 2008 |
Stable release | 3.5.0[4] / April 3, 2016; 4 years ago |
Repository | github.com/cocos2d/cocos2d-objc |
Written in | Objective-C |
Platform | Cross-platform |
License | MIT License |
Website | web.archive.org/web/20180811094414/http://cocos2d-objc.org/ |
Original author(s) | Ricardo Quesada |
---|---|
Initial release | February 29, 2008 |
Stable release | |
Repository | github.com/los-cocos/cocos |
Written in | Python |
Platform | Cross-platform |
License | MIT License |
Website | python.cocos2d.org |
Cocos2d is an open sourcesoftware framework. It can be used to build games, apps and other cross platformGUI 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.
Sprites and scenes[edit]
All versions of Cocos2d work using the basic primitive known as a sprite. A sprite can be thought of as 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.
Features[edit]
Animation[edit]
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.).
GUI[edit]
Cocos2D provides primitives to representing common GUI elements in game scenes. This includes things like text boxes, labels, menus, buttons, and other common elements.
Physics system[edit]
Many Cocos2D implementations come with support for common 2D physics engines like Box2D and Chipmunk.
Audio[edit]
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[edit]
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[edit]
End of life support[edit]
- SpriteBuilder: Previously known as CocosBuilder,[7] 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.[8][9] Its latest unofficial version is 1.5 which is compatible with cocos2d-objC 3.4.9.[10] It supports Objective-C.
- CocoStudio: a closed source 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 which is compatible with cocos2d-X 3.10.[11][12] It supports C++. In April 2016 it was deprecated and replaced with Cocos Creator.
Current support[edit]
- Cocos Creator, which is a closed source[13] unified game development tool for Cocos2d-X. As of August 2017, it supports JavaScript and TypeScript only and does not support C++ nor Lua. It was based on the open source Fireball-X.[14] A C++ and Lua support for creator is under alpha-stage development since April 2017.[15]
- SpriteBuilderX, an open source scene editor for Cocos2d-X with C++ support and runs on macOS only.[16]
- XStudio-365, a closed source[17] scene editor for Cocos2d-X with Lua support and runs on Windows only.[18][19]
- CCProjectGenerator: a project generator for Cocos2d-ObjC 3.5 that generates Swift or Objective-C projects for Xcode.[20]
Supported platforms and languages[edit]
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, 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[edit]
Cocos2d (Python)[edit]
February 2008, in the town Los Cocos, near Córdoba, Argentina, Ricardo Quesada, a game developer, created a 2D game engine for Python 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'.[21]
Cocos2d-iPhone[edit]
Attracted by the potential of the new AppleApp Store for the iPhone, Quesada rewrote Cocos2d in Objective-C and in June 2008 released 'Cocos2d for iPhone' v0.1, the predecessor of the later Cocos2d family.[21]
Cocos2D-ObjC (formerly known as Cocos2D-iPhone and Cocos2D-SpriteBuilder), is maintained by Lars Birkemose.
Also, the English designer Michael Heald designed a new logo for Cocos2d (the Cocos2d logo was previously a running coconut).
Cocos2d-x[edit]
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 platforms with one code base.
In 2013, Quesada left cocos2d-iPhone and joined in cocos2d-x team. In March 2017, Quesada was laid off from the Chukong company.[22][21] In 2015, there are 4 cocos2d branches being actively maintained.
Autocad 2019. This course covers 3D editing tools, advanced solid modeling techniques, surface and mesh modeling methods, and basic render procedures including render settings, camera views, and an introduction to render materials.The delivery format of this course is via self-directed, video lectures and demonstrations, PDF manuals, and online support via web-based discussion groups and email support.This course is designed for the full, Windows version of AutoCAD. Parallels Desktop will also work and will allow you to install the full PC version of AutoCAD on your Mac.Although there is an 'AutoCAD for Mac' version available, it is not widely used and is missing many of the features found in the full Windows version of AutoCAD. Regarding running AutoCAD on a Mac, the best solution is to use the Mac's Bootcamp utility and have a copy of Windows installed on its own partition. AutoCAD 3 - Basic 3D Modeling 48 Hours / Access Length: 3 Months / Delivery: Online, Instructor SupportedCourse Overview:Learn the advanced 3D modeling techniques and basic rendering tools for the latest versions of AutoCAD.
Cocos2d-x & Cocos2d-html5 is maintained and sponsored by developers at Chukong Technologies. 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.
Other ports, forks, and bindings[edit]
Cocos2d has been ported into various programming languages and to all kinds of platforms. Among them there are:
- ShinyCocos, in Ruby
- Cocos2d-Android, in Java for Android
- Cocos2d-windows, in C++ for Windows XP and Windows 7
- CocosNet, in C# based on Mono
- Cocos2d-javascript, in JavaScript for web browsers
- Cocos2d-XNA was born in cocos2d-x community for supporting Windows 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[edit]
References[edit]
- ^'Happy 7th Birthday Cocos2d-x!'. Retrieved December 17, 2017.
- ^'Releases'. cocos2d/cocos2d-x. GitHub.
- ^'History versions of Cocos2d-x'.
- ^'Releases'. cocos2d/cocos2d-objc. GitHub.
- ^'Releases'. los-cocos/cocos. GitHub.
- ^'cocos2d'.
- ^https://github.com/cocos2d/CocosBuilder
- ^https://github.com/spritebuilder/SpriteBuilder
- ^http://www.spritebuilder.com/
- ^'Archived copy'. Archived from the original on 2016-12-22. Retrieved 2016-12-22.CS1 maint: archived copy as title (link)
- ^'Archived copy'. Archived from the original on 2017-07-17. Retrieved 2016-12-21.CS1 maint: archived copy as title (link)
- ^http://discuss.cocos2d-x.org/t/where-i-can-download-ocos-studio/30916
- ^http://discuss.cocos2d-x.org/t/is-editor-of-cocos-creator-open-source/34935/2
- ^https://libraries.io/github/fireball-x/fireball
- ^http://discuss.cocos2d-x.org/t/c-and-lua-support-for-creator-alpha0-released/36168
- ^http://discuss.cocos2d-x.org/t/spritebuilderx-editor-for-cocos2d-x-with-c-support/34916
- ^http://discuss.cocos2d-x.org/t/x-studio365-a-more-powerful-game-develop-ide-support-particlesystem-editing-ui-editing-adapting-preview-spine-animation-preview-support-lua-debug-edit-syntax-highlight-outlinng/29660/22
- ^http://git.oschina.net/halx99/x-studio365-pub/raw/master/releases/x-studio365_10.0.2210.1.exe
- ^http://x-studio365.com
- ^https://github.com/s1ddok/CCProjectGenerator
- ^ abcQuesada, Ricardo (April 16, 2017). 'The history of Cocos2d in a glimpse'. RETRO.MOE. Retrieved 2019-07-03.
- ^http://discuss.cocos2d-x.org/t/survey-the-reasons-why-i-wont-use-cocos-creator/38404/34
Further reading[edit]
- Roger Engelbert (2013). Cocos2d-x by Example Beginner's Guide. Packt Publishing Ltd. ISBN978-1-78216-735-8.