Todo juego debe tener estas partes: hroes, villanos, logros,
puntuacin, niveles, mens, transiciones o cutscenes. Si no estn presentes el juego sera bastante aburrido. El hroe puede ser un personaje o el mismo jugador al igual que el villano o boss.Este puede estar representado de varias formas: un personaje, dificultad, tiempo, o una combinacin de ellos. Lo que mantiene estimulado al jugador son los logros, la puntuacin y la posibilidad de ganarle al villano. Tambin es importante recordar que todo juego est compuesto por mltiples escenas (CCScene); a su vez, cada escena est compuesta por uno o ms capas (CCLayer) y cada capa puede contener una o ms capas y sprites (CCSprite). Las CCLayer son las encargadas de manejar las entradas (toques, acelermetro, gestos). Y quien maneja o coordina todas las escenas es el director CCDirector. Otras partes de importancia son los mens y las transiciones entre las diferentes escenas o niveles del juego. Representar cada una de estas partes adecuadamente es importante. Cocos2d provee lo suficiente para lograrlo; es especialmente til para crear mens, ya que ofrece soporte para mens nativamente. Los logros pueden ser manejados a travs de cdigo propio o puedes usar Game Center (recomendado). Los patrones de diseo son una pieza importante en cualquier app bien hecha; como ests trabajando en cocos2d y Objectve-C, es importante que conozcas y sepas usar el patrn Singleton pues este nos permite tener una sola instancia de una sola clase ejecutndose a la vez. Ahora bien, quizs se pregunten: Qu tiene que esto que ver con cocos2d, o programacin de juegos? Pues en nuestro caso la programacin de juegos tiene ciertos casos de uso o ciertos escenarios en los que es importante tener una sola clase en ejecucin a la vez. Los casos ms comunes son: * El Game Loop o ciclo. * El Administrador de Juegos o Game Manager. * Un Administrador de recursos global o Resource Manager.
* Un Administrador de Jugadores o Player Manager.
Cocos2d usa ampliamente el patrn Singleton por ejemplo en: * CCDirector * CCTextureCache Nosotros explicaremos (en la prxima lectura) y usaremos lo que ms comnmente se utiliza: el Game Manager.