Crack Egg, como hacer juegos móviles (Parte 2)

En la primera parte de este artículo vimos los pasos básicos para la implementación de un clicker utilizando las herramientas más comunes que comparten muchos de los juegos casual que podemos realizar para dispositivos móviles.

En esta segunda parte del artículo vamos a presentar todas aquellas características que tienen los juegos y que le dan un aspecto más acabado. Para ello tendremos que implementar los efectos, imágenes, efectos sonoros, diferentes escenas de apoyo, los menús de opciones y demás características que queremos darle al juego.


En primer lugar queremos definir el espacio de diseño del juego, teniendo en cuenta que habrá que dejar espacio para la posterior inserción de publicidad sin que esta repercuta en el aspecto del juego. Para darle más opciones al juego tenemos diseñado 3 opciones adicionales que permiten dar profundidad al gameplay.

  • Objetos que afectan al proceso del clicker.
  • Cambio del skin del huevo para adaptarlo al gusto del jugador.
  • Exposición de las criaturas que han aparecido en los diferentes huevos.

Estas opciones están implementadas en la misma escena principal a través de una pantalla lateral que se desliza de derecha a izquierda a través de una animación. Sólo la escena final de la apertura del huevo y la aparición de la criatura forman parte de escenas adicionales. Todas las imágenes se han creado a partir de imágenes con licencia de la librería FreePik.

En el vídeo podéis ver como se han implementado estas funciones y que elementos básicos se han utilizado para su creación.



Las funciones más interesantes del juego y que pueden ser de utilidad para juegos genéricos son aquellas que podremos reutilizar.

Acceso a GameObjects no visibles
   //Encontrar un GameObject aunque este enable(false)  
   public static GameObject FindObject(this GameObject parent, string name)  
   {  
     Transform[] trs = parent.GetComponentsInChildren<Transform>(true);  
     foreach (Transform t in trs)  
     {  
       if (t.name == name)  
       {  
         return t.gameObject;  
       }  
     }  
     return null;  
   }  

Obtención de las medidas de un sprite
 //Get and adjust sprite size  
       Sprite spriteEgg = eggSkin.GetComponent<Image>().sprite;  
       Vector3 itemSize = spriteEgg.bounds.size;  
       float pixelsPerUnit = spriteEgg.pixelsPerUnit;  
       itemSize.y *= pixelsPerUnit;  
       itemSize.x *= pixelsPerUnit;  
       //Egg rescale if its too big  
       if (itemSize.y > 600f)  
       {  
         Vector3 newScale = new Vector3(0.34f, 0.40f, 0f);  
         Vector3 hatScale = new Vector3(1.4f, 1.23f, 0f);  
         Egg.transform.localScale = newScale;  
         Hat.transform.localScale = hatScale;  
       }  


No hay comentarios:

Publicar un comentario

PixelPerfect en Unity 2D

Si os poneis manos a la obra en haver un proyecto con estética de los años 80 del siglo pasado lo mas probable es que opteis por una de las...