Cocos2d is a free software framework used to build different games, apps, and other cross-platform-GUI-based interactive programs. Sometimes having the appropriate tools on hand is essential for everyone who works in the development of products. A development company needs the right software to produce its software, just as a painter needs brushes of the appropriate size and type to make their masterpieces. Cocos2d provides all the tools that are essential for building games, apps, and other GUI Based software.

Cocos2d: Introduction

Cocos2d is an open-source software framework that is used to build different games, apps, and other cross-platform GUI-based software. The most well-known branches of the Cocos2d framework are Cocos2d-objc, Cocos2d-x, Cocos2d-html5, and Cocos2d-XNA. The fundamental building block known as a sprite is used in all its versions. A sprite is a plain 2D image and also serves as a container for other sprites. 

In Cocos2D, sprites are grouped together to create scenes that resemble UI or game levels. Code can be used to change sprites in response to actions, and events, or as part of animations. The sprites’ positions and sizes can be adjusted, along with their rotation and appearance.

History

The Cocos2d (Python)

A 2D game engine for Python was developed in February 2008 in the village of Los Cocos by game developers Ricardo Quesada and Lucio Torre together with a few of their developer buddies. Initially, They gave it the birthplace’s name, “Los Cocos.” The group later released version 0.1 and changed its name to “Cocos2d.”

The Cocos2d (iPhone)

In June 2008, Quesada updated Cocos2d in Objective-C and released “Cocos2d for iPhone” v0.1, the first branch of the family, because he saw the potential of the new Apple App Store.

The Cocos2d-x

In November 2010, a Chinese programmer named Zhe Wang developed Cocos2d-x, a branch based on Cocos2d. It was MIT-licensed and free. The Cocos2d-x enables cross-platform compilation and execution from a single code base.

Quesada joined the cocos2d-x team in 2013 after leaving the cocos2d-iPhone project. Quesada was later fired from the Chukong firm in March 2017. Developers at Chukong Technologies managed and sponsored Cocos2d-x & Cocos2d-html5. Chukong is also creating a free Cocos3d-x fork of the Cocos3D project as well as CocoStudio.

Other Branches

There are many branches of Cocos2d. Some of them are:

  • Cocos2d-Android (Developed using Java)
  • Cocos2d-windows (Developed in C++)
  • Cocos.Net (C#)
  • Cocos2d-javascript (Cocos2d-html5)

Features of Cocos2d

Animation

With the help of several actions and timings, Cocos2D offers simple and complex animation that can be applied to sprites. To create more complicated animations, they can be chained and combined. The majority of its implementations allow you to change the sprite’s size, scale, position, and other effects. In some Cocos2D versions, you can also use shaders to animate particle effects and image filtering effects.

Graphical UI

Cocos2D provides features to represent some common GUI elements such as text boxes, labels, menus, buttons, and other elements in the game.

Physics system

It comes with common 2d physics engines such as Box2d and Chipmunk.

Audio

Different versions feature audio libraries that use OpenAL or other libraries to offer complete audio functionality.

Editors for Cocos2d

There are many editors that support Cocos2d. Some of them are:

SpriteBuilder

SpriteBuilder (also known as CocosBuilder) is a free IDE for Cocos2d and its development was sponsored by Apportable, who also helped in the development of the free Cocos2D-SpriteBuilder, Cocos3D, and Chipmunk physics projects.

CocoStudio

CocoStudio is a toolkit for Cocos2d and Cocos2d-x, containing UI Editor, Animation Editor, Scene Editor, and Data Editor. All these tools are mainly developed for artists and designers. This project was developed by Chukong Technologies. Later in April 2016, it was replaced with the new Cocos Creator.

Cocos Creator

It is an open-source, fully-customizable 2D and 3D game engine. With the help of TypeScript (a popular framework for building JavaScript apps), developers may create games using Cocos Creator.

Games Created Using Cocos2d

The games that are created using the Cocos2d engine are:

FarmVille

FarmVille

FarmVille is a 2009 series of agriculture simulator games created and released by Zynga. Its gameplay is similar to that of Happy Farm and Farm Frenzy. The gameplay incorporates several features of typical farming management, such as

  • Planting and growing plants, 
  • Harvesting crops and trees
  • Growing livestock

The game could be downloaded as an Adobe Flash application. And though the game was free to play, users were urged to spend Farm Cash, which they could purchase with real money, in order to advance more quickly. With over 84 million monthly active users in March 2010, FarmVille held the position of the most popular game for 2 years.

Geometry Dash

Geometry Dash

The Geometry Dash video game series was created by Robert Topala, a Swedish programmer. The original game, simply titled Geometry Dash, was released on iOS and Android on August 13, 2013. A Steam version was later released on December 22, 2014. 

In Geometry Dash, players control an icon’s movement and navigate through music-based stages, avoiding hazards like spikes that quickly destroy the icon on collision.

As of now, Geometry Dash has 21 official levels. It’s also well-known for its sophisticated level-building system, which allows players to make their own custom courses, share them online, and play courses produced by other players.

The Plague

The Plague

Plague Inc. is a real-time strategy simulation video game developed and released by Ndemic Creations, a UK-based indie video game studio. The game was influenced by the film Contagion and the 2008 flash game “Pandemic 2.”. 

The player develops a pathogen to unleash a lethal epidemic that will obliterate the human population. To mimic the spread and severity of the plague, the game employs an epidemic model with a sophisticated and realistic collection of variables. It was released on iOS and Microsoft Windows on May 26, 2012, Android on October 4, 2012, and Windows Phone in 2015.

The name of the console and Steam (PC, Mac, and Linux) versions is “Plague Inc: Evolved”, which has gameplay modifications and enhancements. As of May 2021, Plague Inc. had received over 160 million downloads, according to Ndemic Creations.

Cocos2d Reviews

On a review page of Cocos2d engine, there are mostly five-star reviews. One of the reviewers said:

“Cocos2D-X is connected to the engine in C ++. This makes it possible to create applications in C ++, and thereafter for IOS applications, Android, or Windows Phone. Recent development had also allowed users to publish for HTML5 if they are using JS to code their games.” When asked further about what he disliked about the engine, he said “There is nothing that I don’t like about it. It’s absolutely free and easy to use. But somehow I think more optimization can be done.”

You may be interested in more game engines developed in C++. Some of the examples are below:

PhyreEngine

PhyreEngine is a multi-platform game engine developed by Sony Interactive in 2003. This engine is written in C++.

Clausewitz Game Engine

The Clausewitz engine is developed in C++ and being used by developers to build grand strategy-oriented city builder games.

4A Game Engine

4A Games is a multicultural, multinational video game development studio which is known for its atmospheric first person shooter games.

Banshee 3D Engine

Not production ready yet.