martes, 1 de marzo de 2016

Nerdy Run Día 3 - El Planeamiento | Nerdy Run Day 3 - The Planning

Español | English

Día 3. Hoy tomé las cosas con calma y decidí planear los pasos que voy a hacer. He leído que hay una gran cantidad de personas (tanto en empresas grandes como en grupos indies) que sobrestiman este paso, pero es vital. Dedicarse un o unos días a planificar los siguientes pasos nos dan un orden y una guía para saber a donde ir y de siempre saber que hacer.

Por lo que hoy fue uno de esos días (y no creo que se el último). Decidí cuales van a ser los obstáculos y como van a afectar al jugador. Además de aclarar cuales iban a ser los mini-juegos. Por otra parte, también reflexioné que el hecho de hacer el juego por niveles en vez de simplemente un Infinite Runner me puede generar dos conflictos:


  1. El tiempo de desarrollo que había estimado (3 meses) se puede elevar .
  2. Podría no lograr una diferencia en los niveles, lo que causaría que el juego sea muy repetitivo. 
Por otro lado, sigo trabajando con cubos y luego haré los Sprites. Ya pude crear un código que va a servir para el "Timer" del juego, funciona con la mecánica del "fill amount" de una imagen del GUI, en otras palabras, podemos hacer que una imagen aparezca o desaparezca progresivamente, el efecto lo quería probar era que con una imagen cualquiera (que más adelante va a ser la imagen de un reloj), haciendo que se vaya desapareciendo progresivamente de forma radial en sentido horario. Esto va a dar el efecto de que el reloj se "borra" siguiendo el sentido de las agujas del reloj a medida que se nos acaba el tiempo.

Para esto tenemos que tener nuestra imagen en la interfaz gráfica (GUI) que va a servir como nuestro reloj. Necesitamos que la imagen en ImageType este en "Fill", poner Fill Method "Radial360" y Fill Origin "Top", después poner Después, podemos poner en un script cualquiera el siguiente código:

using UnityEngine.UI;
Public Image reloj;
Public float tiempo = 10.0f; 
void Update(){
reloj.fillAmount = 1 - ((1/tiempo) * Time.time) ; 
}


 La variable "tiempo" hace referencia al tiempo en el que queremos que transcurra este efecto. A medida que el tiempo en le juego crece (con Time.time), el fillAmount del reloj va disminuyendo, borrando así de a poco al reloj. Lo que queda hacer más adelante son los mini-juegos en sí y programar que efectos van a causar los obstáculos para el jugador.

-L

------------------------------------------------------------------------------
English



Day 3. Today I took it easy and decided to plan the steps that I'll follow. I've read that many people ( (whether they belong to a big company or a small indie group) don't take this step seriously, but this is vital. Dedicating one or two days to plan the next steps gives us not only order but a guide to know where to go and what to do.

So this was one of those days (and won't be the last). I decided which are going to be the obstacles and how they will affect the player. Also, I decided which are going to be the mini-games. On the other hand, I was also thinking that making a game by levels instad of a simple Infinite Runner can generate some conflicts:
  1. The development time estimated (3 months) may increase.
  2. I could fail on making every level unique, which will make the game to be repetitive.
Also, I'm still working with cubes, I'll later add the Sprites. I was able to create a code that will work for the Timer of the game, it works with the "fill amount" property of an Image of the GUI, in other words, we can make an image appear or disappear progresivelly, the effect was tested on a random image (which will later be a Sprite of a clock) making it to fade away in a radial progression, clockwise. This will give the effect that the clock will be fading away clockwise as we run out of time.

For this we need to create an image on our GUI, which will be later on our clock. We need that the ImageType is se to "Fill", put Fill Method "Radial360" and Fill Origin "Top" Later, we can add to any script this code:

using UnityEngine.UI;
Public Image clock;
Public float time_left = 10.0f; 
void Update(){
clock.fillAmount = 1 - ((1/time_left) * Time.time) ; 
}


The variable "time_left" will reference to the time on which we want this effect to happen. As the time grows by Time.time, the FillAmount of the clock starts decreasing, which will cause that fading effect of the clock. What is next is the mini-games itself and to program what effect will cause the obstacles to the player.

-L

No hay comentarios.:

Publicar un comentario