
cocos2d - iPhone game development framework
Cocos2d is a small opensource framework for creating 2D games. Initially, it was created for programs written in python for Windows, Linux, and Mac platforms, but then versions for the iPhone and even for Android appeared.
We used it to write our game iTreasure ( link in iTunes ) - a remake of "Secrets of the Ocean" and never regretted it.
- Rich opportunities.
Everything you need from the engine for a two-dimensional toy is in it. Below I will talk more about functionality.
- Simplicity.
If you have already written something for the iPhone, then starting to use cocos2d will cost you virtually nothing.
- openness.
The engine has a very good license - the GNU Lesser GPL, which allows it to be freely used in commercial products.
- A large community.
Over 200 game programs have already been made using cocos2d. On the Internet you can find a huge amount of information about the intricacies and problems associated with the use of the engine (although in English).
- Lots of working examples and open source applications.
Firstly, a lot of working examples are included in the framework distribution. In addition, many people open the source of their applications (even sold in the appstore), so that others can find ready-made solutions and answers to their questions in them.
- Scene management.
The whole game can be divided into scenes. In fact, the scene can be treated as a small subproject. You can switch between scenes using various effects: fade, slide, rotation, etc.
- Sprites and sprite managers.
The framework provides rich opportunities for managing sprites. Sprite managers allow you to operate on sprite atlases, which allows you to efficiently use memory. In addition, there are classes for working with sprite fonts, the use of which significantly accelerates the rendering of text.
- Animation (actions).
Animation in cocos2d is done using special classes called Actions. They can be applied to almost any object in the game. The engine has a large set of types of animations, and in addition, you can create your own.
- Basic implementation of menus and buttons.
The buttons are not as advanced as in UIKit, but they are quite enough to create game menus. You can use sprite fonts for text in the menu.
- The particle system.
The engine supports particle systems. You can create various effects, such as rain, snow, fireworks. Particles can vary in size, rotate, gravity can be applied to them, their life time can be adjusted, and so on.
- Built-in Box2d and Chipmunk physics engines .
Honestly, we didn’t use them ourselves, but the demos look impressive. Collisions, friction, solids, elasticity and more.
- Cocos Live - a service for online records.
The engine uses the servers provided by Google App Engine for storing online records and provides an API for working with these records. But instead of Cocos Live, we decided to use the OpenFeint social network , which also allows users to share their records with other players, and in addition provides many other features. If you are interested, I’ll tell you more about it.
We used it to write our game iTreasure ( link in iTunes ) - a remake of "Secrets of the Ocean" and never regretted it.
Why cocos2d
- Rich opportunities.
Everything you need from the engine for a two-dimensional toy is in it. Below I will talk more about functionality.
- Simplicity.
If you have already written something for the iPhone, then starting to use cocos2d will cost you virtually nothing.
- openness.
The engine has a very good license - the GNU Lesser GPL, which allows it to be freely used in commercial products.
- A large community.
Over 200 game programs have already been made using cocos2d. On the Internet you can find a huge amount of information about the intricacies and problems associated with the use of the engine (although in English).
- Lots of working examples and open source applications.
Firstly, a lot of working examples are included in the framework distribution. In addition, many people open the source of their applications (even sold in the appstore), so that others can find ready-made solutions and answers to their questions in them.
A bit about the features of the framework
- Scene management.
The whole game can be divided into scenes. In fact, the scene can be treated as a small subproject. You can switch between scenes using various effects: fade, slide, rotation, etc.
- Sprites and sprite managers.
The framework provides rich opportunities for managing sprites. Sprite managers allow you to operate on sprite atlases, which allows you to efficiently use memory. In addition, there are classes for working with sprite fonts, the use of which significantly accelerates the rendering of text.
- Animation (actions).
Animation in cocos2d is done using special classes called Actions. They can be applied to almost any object in the game. The engine has a large set of types of animations, and in addition, you can create your own.
- Basic implementation of menus and buttons.
The buttons are not as advanced as in UIKit, but they are quite enough to create game menus. You can use sprite fonts for text in the menu.
- The particle system.
The engine supports particle systems. You can create various effects, such as rain, snow, fireworks. Particles can vary in size, rotate, gravity can be applied to them, their life time can be adjusted, and so on.
- Built-in Box2d and Chipmunk physics engines .
Honestly, we didn’t use them ourselves, but the demos look impressive. Collisions, friction, solids, elasticity and more.
- Cocos Live - a service for online records.
The engine uses the servers provided by Google App Engine for storing online records and provides an API for working with these records. But instead of Cocos Live, we decided to use the OpenFeint social network , which also allows users to share their records with other players, and in addition provides many other features. If you are interested, I’ll tell you more about it.