Ir al contenido principal

Entradas

Mostrando entradas de abril, 2019

Editor de niveles (Parte 3)

En esta tercera y última parte del editor de niveles he hecho la parte donde podemos editar las casillas, pintarlas, modificarlas y guardar el archivo en un archivo JSON y cargar los niveles en el editor para seguir trabajando. El objetivo final de editor es poder generar archivos que son imprescindibles para mostrar el tablero en las diversas etapas del juego. Una vez los generemos con el editor de niveles podremos generar el tablero con su configuración en el núcleo del juego. El principal problema que genera un editor de niveles en Unity, es que es necesario tener sincronizada la información entre la parte visual del editor y la estructura que guarda la información que en definitiva será la que a través de la rutina guardaremos en el fichero físico. En concreto, en nuestro caso, tenemos un objeto en memoria que almacena la información parar todo el editor y un conjunto de celdas ( cells ) que contiene el componente para cada una de las casillas en pantalla con

Editor de niveles (Parte 2)

En esta segunda parte del editor de niveles nos centraremos en la creación de las estructuras internas parar poder definir correctamente un nivel y la generación del archivo base a partir de un nivel con datos por defecto. El objetivo es poder pulsar al botón de añadir nivel, que nos pregunte el número de etapa y genere la cuadrícula con una clase adjuntada en cada celda con la información interna que procesa, para que posteriormente poder editar las casillas y modificar los datos en esta estructura dinámicamente. Una vez generado el nivel a través de la grid visual e interna en memoria, debemos poder salvar la información en un fichero para poder comprobar que estamos guardando correctamente la información y posteriormente mostrar y actualizar los ficheros encontrados en la carpeta de etapas a través de la lista que creamos en el primera parte del tutorial. Clase Stage con el contructor y las variables de ficheros : using System.Collections.Generic;

Editor de niveles (Parte 1)

Hoy empezaremos con el editor de niveles. Este editor nos permitirá crear las etapas del juego a partir de ficheros JSON guardados en la carpeta de recursos. Este editor nos permitirá generar información parar poder proseguir con el juego donde lo habíamos dejado. En este artículo sólo me centraré en la creación de la pantalla visual del editor, poniendo atención en la creación automática de cuadrículas ( grids ) a partir de una rutina pasando el objeto casilla como un prefab de la aplicación y definiendo el tamaño de cuadrícula con un Box collider . Podéis ver el vídeo del proceso aquí. Gizmo del Box Collider : using System.Collections; using System.Collections.Generic; using UnityEngine; public class ShowColliders : MonoBehaviour { private BoxCollider2D objectCollider2D; private void OnDrawGizmos() { objectCollider2D = GetComponent<BoxCollider2D>(); Gizmos.color = Color.green; Gizmos.DrawWireCube(objectCollider2D.b

Tipos Abstractos de Datos (TAD) para el juego

Antes de seguir con la parte visual del juego necesito 2 elementos básicos que todo juego necesita. Por un lado tenemos los tipos abstractos de datos (TAD) que guardaran en sus estructuras internas la evolución de la partida. Una vez definidas estas estructuras necesitaremos un editor de niveles para implementar estas estructuras con información para poder trabajar con ella. En nuestros caso, para Attila, tierra quemada necesitamos dos elementos claves: por un lado la información de nuestro ejército, que aunque visual estará representada por un caballo contienen un conjunto de variables que configuran su estado de salud durante el proceso del juego. public int water; public int food; public int troops; public int weapons; public int gold; Por otro lado necesitamos saber cómo está compuesto el tablero o sea, el nivel de juego que estamos jugando en este momento. Cada etapa estará compuesto de un tablero de 8x8 casillas que pueden estar llenas o no