Step 1: Installing Cocos2dx

1. Goto download page http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Download and download the latest version
THIS tutorial is based on
1 > Version : cocos2d-2.0-rc2-x-2.0.1 @ Jun 29 2012 
2 > Language : C++
3> IDE : Visual Studio 2010
4> Target Platform : Windows Vista, Windows 7
5> OS(this tutorial and codes are developed)Windows Vista


2. Extract to a folder might look like "D:\GameEngines\cocos2d-2.0-rc2-x-2.0.1" 

3. Go to the folder and run build-win32.bat this will automatically build the project
or
3. Open cocos2d-win32.vc2010.sln and click Build-> Rebuild Solution. 
It takes some to build all the projects in the solution
Change the build setting to Release mode like shown in image





4. This will create folders like "Debug.win32" and "Release.win32". Thats is it you have successfully downloaded, installed and builded the cocos2dx... happy happy
5. ok fine... How to check the installed cocos2dx is working  ?
5.1 Set "HelloWorld" as "Start up project" and then build and run.
5.2 If is is showing a window like below u r done the first step




or
5.1 Set "tests" as "Start up project" and then build and run.
5.2 If is is showing a window like below u r done the first step





Cool u had successfully installed Cocos2dx on your system.
Go to tutorial Index


How to develop a 2D game

First question when we want  to develop a game is
Should i write my own game engine?
or
Should i start wit existing game engine?

What to learn or what knowledge you should have?
If you want to create a game engine from scratch you have to learn to code Renderer, Input system, Audio,  Physics, Memory management, etc..
and if you target for more than one platform you have to write/port all these for every platform
or
You have to learn the architecture of the game engine and how to work with the game engine you had choosen.

List of game engines to consider http://paruthidotexe.blogspot.com/2012/08/list-of-game-engines.html

1. I am choosing cocos2dx....  why cocos2dx ?
  • Cross platform Windows, Linux, IOS, Android, Bada, Blackberry, WoPhone etc.
  • Constant updates from the developers.
  • Has various choice of languages for development C++, Java Script, Lua etc.
  •  Lot of successfully published games. A List of games published http://www.cocos2d-x.org/projects/cocos2d-x/apps

So as a first step lets install and learn how to do a game in Cocos2dx

Go to tutorial Index
Tutorials will be posted every 2nd or 3rd day...
Always open to feedback... 

List of Game Engines / Framework

UDK

It is a strip out from the famous game engine which is been used in the gaming industry more than 10 years.
Site: http://www.unrealengine.com/udk
Language/script : Unreal script. Also visual scripting using a tool named Kismet
Platforms: Windows, IOS, Android (on the way)
Pro:
Allows us to develop games like Gears of war, Unreal Tournament etc
Flow for art assets is good.
Game engine architecture is designed more towards ease of development.
Cons:
Lot of game terminologies one need to know to work on this one, If you are a beginner level definitely this will be a big hurdle.
It is not free for commercial use.
Worst is they ask for share so you have to pay more when your game sells more :(
You need a high end system with good graphic card, RAM, processor to develop game. Mainly for the build process of the udk.

OGRE
Site: http://www.ogre3d.org
Language/script : C++[mostly used and prefered]
Other Languages : Python, .Net, Java.
Platforms: Windows, Linux, Mac, IOS
Pro:
Open source and Free for commercial use.
Has good tutorials, Wiki and Forum.
Good open source team support and constantly in development.
Game engine architecture is good.
You can create a module and add as plug-in to the engine.
Good editor support.


Cons:
Same as UDK this needs a huge learning curve.
We need to create a framework for our game from the raw engine.
You have to understand C++ well to start with this engine.
For beginners this might be tough if you dont know C++.


UNITY3D
Site: http://unity3d.com/
Language/script : JavaScript, C#
Other Languages : boo(Python)
Platforms: Windows, Linux, Mac, IOS, Android, PSP, XBOX, PS3
Pro:
Has good tutorials and Forum.
Editor support, if you compare with UDK this nothing.But it is good for developing games.

Most used engine by the game developer in 2012.
Very good engine for beginners.

Cons:
Not open source.
Have to buy to publish for Android and iPhone. Though windows publishing is free, but this will have a unity logo splash screen @ the start.


SFML [2D Game Engine]
Language/script : C++
Other Languages : C, Python, .Net, Ruby
Platforms: Windows, Linux, Mac
Pro:
Open Source
Very good engine for developing game in 2D.
Easy to learn and work with it.

Cons:
No editors.
No 3D support


Cocos2dx [2D Game Engine]
Site: www.cocos2d-x.org/
Language/script : C++
Other Languages : Javascript, lua, c#
Platforms: Windows, Linux, Mac, IOS, Android
Pro:
Has good tutorials and Forum.
"Cocos2d-iPhone" version of this engine is most used by the mobile game developers in 2012.
Very good engine for beginners.

Cons:
No editor, though some had developed a basic versions


My current choice is
2D : Cocos2dx
3D : Unity3D (UDKwill be my choice after i upgrade my system and after UDK released for Android)
 Reason : you can port to android/ios and sell the game.