DevLog

Data Management and avoiding Singletons

A common question comes to mind when using Unity to develop games: How can I make variables from one scene accessible from another scene? As an example, imagine you have a character selection screen where the player selects a character that is going to be use in the gameplay scene. We came across this issue when developing Mathland. We had a level selection screen where the player selected the level that was going to be load in another scene Levels in Mathland are generated at runtime, thus all levels “live” in the same scene. After loading this scene, we had to check what was the selected level and load it. Let’s use this case as an example. In the LevelSelection scene the player chooses the level with id = 2. This variable is store in a MonoBehaviour called LevelSelectorManager. Then, in the Game scene...
Read more

Unity, editores y matemáticas Parte 2.

¡Volvemos para resolver los dilemas que nos quedaron en la parte uno sobre nuestro editor de niveles! Si no has leído la primera parte, te recomiendo que lo hagas porque sino va a ser muy difícil entender esta entrada. Nos quedamos en que queremos aumentar el tamaño del mapa. Si el grid está vació esto es muy fácil, simplemente borramos el que ya tenemos y creamos uno nuevo pero más grande. El problemas se produce cuando tenemos colocados tiles ya en el mapa. El tile guarda el id de la celda en la que está "apoyado". Al aumentar el tamaño del mapa, el id de la celda en la que está el tile puede cambiar. En el post anterior vimos que para aumentar el tamaño del mapa solo teníamos que cambiar los id de las celdas que están más arriba de la fila central. Todos los otros id se mantienen. En la imagen anterior, el mapa de la izquierda de tamaño 5 tiene una celda con id 16. Esta misma celda pasará a tener id 17 al aumentar de tamaño. Entonces: somos un programa que aumenta el tamaño del mapa. Recibimos un id, digamos el 16 y tenemos que convertirlo ...
Read more

Uso de Unity Analytics para mejorar la interfaz de usuario

Ya hemos hablado de cómo implementar eventos de analíticas en juegos de Unity. Como desarrolladores, nos gusta echar un vistazo al comportamiento de los usuarios de nuestra aplicación. No de cada uno de ellos, claro, pero sí desde el punto de vista estadístico. Sin embargo, debemos tener en cuenta que la implementación del sistema de recogida de eventos y el estudio de los datos obtenidos es una tarea que requiere bastante tiempo. Más allá de saciar nuestra curiosidad, los resultados deben traducirse en un beneficio. En este ejemplo hemos utilizado los datos para mejorar la experiencia de usuario. Esto, indirectamente, afecta a la retención y eso a su vez debería traducirse en mayor visibilidad, ya sea por el boca a boca, las buenas valoraciones o un mejor posicionamiento en tiendas de aplicaciones. Ahí se encuentra el retorno de este trabajo. Como ya se dijo en un post anterior, nos preocupaba que algunos usuarios tuvieran dificultades en identificar los botones que llevan a los puzzles didácticos, que son la parte esencial del juego. Así que tomamos la decisión de cambiar la disposición de los elementos en el primero de los menús que aparece tras la pantalla de presentación. En la siguiente ...
Read more
Mapa 2 de muestra prueba de editor de tiles

Unity, editores y matemáticas Parte 1.

Llevas horas y horas perdiendo el tiempo haciendo niveles con Unity. Por cada pequeño trozo de nivel que hagas necesitas arrastrar más de 20 prefabs, clonarlos, cambiar sus posiciones, y cambiar sus valores dependiendo de las características. Es una perdida de tiempo y no un trabajo divertido. Está claro que necesitas una herramienta específica para crear niveles. Aquí es donde entra la capacidad que tiene Unity para ser extensible. En el proceso de creación de nuestro cuarto juego nos hemos topado con este mismo problema. Los mapas de nuestro juego se componen de “tiles” o piezas que se puede juntar para hacer pedazos de tierra más grande. Hacer niveles era demasiado tedioso y además se perdía un montón de tiempo. Por esto nos vimos en la necesidad de crear un editor de niveles. Pero, ¿Qué tiene que ver esto con las matemáticas? Por ahora no mucho, pero como veréis más adelante, se nos presentaron problemas que con un mayor conocimiento de matemáticas se podrían haber resuelto con mayor facilidad y menos quebraderos de cabeza. Esta primera parte se centrará en explicar muy por encima como funciona el editor y presentaros el problema que nos surgió. A la hora de crear ...
Read more

Analytics 101

Our experience using custom events with Unity Analytics.
Read more