Control Freak Studio: Tecnología de Juárez

Nacido en Ciudad Juárez en 1981. Estudio Ingenieria en Sistemas en el Instituto Tecnológico de Ciudad Juárez, para posteriormente estudiar Licenciatura en Animación y Arte Digital en el Instituto Tecnológico de Estudios Superiores de Monterrey campus Ciudad Juárez.

Lo anterior es relevante si observamos que desde siempre tenia un objetivo muy claro.

Estando ya en el ITESM, formo un pequeño grupo de amigos interesados en explorar en la creación y desarrollo de proyectos interactivos y de esa manera nació lo que hoy denominanControl Freak Studio, haciendo un referente a la interactividad pero de una forma no comúnmente vista.

Print

La empresa, que aún esta en el proceso de registro, trata más que nada sobre eso, el desarrollo y creación de experiencias interactivas. Y está conformada por Alan Román, Mariana Laguera, Vania Rosas y Angel Solares.

Han creado, desarrollado y/o participado en algunos eventos tanto para eventos especiales como para el público en general, algunos en centros comerciales y están trabajando en distintos proyectos entre ellos con propuestas para trabajar con museos de la ciudad viendo la posibilidad de agregar interactividad.

Paralelamente han trabajado en el desarrollo de aplicaciones y juegos de video para móviles, lanzando su primer título el pasado 21 de abril en la tienda de Google Play, de titulo Star Basket.

Google Play es la tienda virtual de contenidos y aplicaciones orientada a la plataforma Android de tabletas y teléfonos inteligentes, por lo que representa un escaparate de alcance global para la distribución de este tipo de contenidos, es decir, cualquier persona en cualquier parte del mundo con un Smart Phone con sistema operativo Android puede acceder y descargar su juego.

* Fuente de la nota: Juarez a Diario.

http://www.juarezadiario.com/radio/control-freak-studio-tecnologia-juarez/

Esperando por n segundos en Unity3D

Conzoco 3 maneras de esperar por n segundos en Unity las cuales te enlisto enseguida:

  1. Usando Time.deltaTime
  2. Usando InvokeRepeating
  3. Usando yield return new WaitForSeconds

Primero empezare describiendote el codigo para esperar n segundos usando la clase Time lo cual seria usando el codigo siguiente.

using UnityEngine;
using System.Collections;

public class ScriptDeltaTime : MonoBehaviour
{
   public GUIText guitext;

   int number=0;

   float secondsCounter=0;
   float secondsToCount=1;

   void Update ()
   {
      secondsCounter += Time.deltaTime;
      if (secondsCounter >= secondsToCount)
      {
         secondsCounter=0;
         number++;
      }
      guitext.text = number.ToString();
   }
}

Y he aqui el codigo necesario para InvokeRepeating.

using UnityEngine;
using System.Collections;

public class ScriptInvoke : MonoBehaviour
{
   public GUIText guitext;

   int number=0;

   void Awake ()
   {
      InvokeRepeating("UsingInvokeRepeat", 1f,    1f);
   }

   void Update ()
   {
      guitext.text = number.ToString();
   }

   void UsingInvokeRepeat()
   {
      number++;
   }
}

Y por ultimo el codigo necesario para el metodo de WaitForSeconds.

using UnityEngine;
using System.Collections;

public class ScriptYield : MonoBehaviour {

   public GUIText guitext;
   int number=0;
   bool couroutineStarted= false;

   void Update ()
   {
      if(!couroutineStarted)
         StartCoroutine(UsingYield(1));

      guitext.text = number.ToString();
   }

   IEnumerator UsingYield(int seconds)
   {
      couroutineStarted = true;

      yield return new WaitForSeconds(seconds);
      number++;

      couroutineStarted = false;
   } 

}

Cabe señalar que en los 3 casos el codigo esta esperando por 1 segundo, para esperar por una cantidad de segundos diferente solo habria que modificar el valor explicito de ‘1’ que se esta dando en cada caso por el valor exacto en segundos que se desee esperar.

The decision for the scheme

In the previous post I was analyzing what the kinds of tower defense games Pros and Cons. By now, we have decided which one would be the more appropriate.

I am quoting the definition I made for it.

Fig 3, this is also a classical scheme were enemies just follow an straight path from right to left or left to right, trying to reach the “tower”, defenders will be added at the top of the tower and from there they will be attacking. Enemies don’t follow straight rows, they just travel side by side. The tower will have a health bar where you could see how it is taking damage when the enemies reach it and attack it. Several games use point and click to kill the enemies.

Essentially, this would be the best format for what we are trying to accomplish, its also the easiest path to go but that doesn’t mean the game will all be based on this, and also, it is not just for the simplicity that we chose it but rather for the way we could adapt it to our idea.

We first though we could make it isometric but as enemies only are going to walk forward the tower and players will face the enemies, doing something isometric will make the visibility of the players and enemies poor because you will only be able to see the back of one of them and the face of the other. Making it side view you will always see the face of the players and enemies. it would also shorts the animation frames to be drawn but the most important point for not to make it isometric is the facing of the characters.

Conclusion:

  • Not isometric, it will be side view.
  • Enemies walk from right to left with no maze or road path.

Analyzing tower defense games for our zombie project

Reviewing and playing several defense the tower games, I found that all of them fall in one of four categories, I will try to explain them graphically. Described from left to right, the most notorious difference between all of them is the path that enemy follows, where the goal is, and where you put the defenders.

kinds of tower defense

Fig 1, shows what could be called a “path of rows”, and the most popular game using this scheme is obviously Plant vs Zombies, you put the defenders along the same rows where the enemies will walk, enemies will have to kill the defenders or pass them through to get to the goal.

Fig 2, shows the classical defense the tower path, were yo have this kind of road, Here the enemy must go from the start to the end of the road, which also could be called as the goal, sometimes the roads would have more than one start and end goals. Here, the enemies usually cant kill the defenders because those are positioned outside the roads.

Fig 3, this is also a classical scheme were enemies just follow an straight path from right to left or left to right, trying to reach the “tower”, defenders will be added at the top of the tower and from there they will be attacking. Enemies don’t follow straight rows, they just travel side by side. The tower will have a health bar where you could see how it is taking damage when the enemies reach it and attack it. Several games use point and click to kill the enemies.

Fig 4, In my opinion, this would be the worst schemes of of them all, it is very similar to that described on figure 1 but having only one row.

A zombies project

We are attempting to make a zombies project using as base the lemonade project trying out a practice that we are calling “community game development”.

Why are we going to use the lemonade project as base?

  • First of all, we want an easy game to make, we have some graphics, the base idea, and the code that we need to kinda convert it to html 5.
  • Graphics are easy to make and we are going to experiment giving the people the opportunity to help us with that.
  • Taking into account the previous two points, this game could take us a short time to make it, or at least, to have something to show and to play.

Why a zombies project?

  • Rather than for being a trendy topic, there is the fact that we can use a lot of different zombie characters, that’s were people will be able to contribute.
  • Its a theme well received from people, a lot of persons like it, even though it is constantly over used by video games, movies, etc.
  • Not very exploded here locally and we want to make the levels representing some important places of our city.

Community game development, what is that?

  • Is an experimental practices where we are gonna give people from Facebook the opportunity to make content for the game.
  • We will give them some very attractive and easy to use editors, with base templates drawings so they almost just choice the colors or paint the inside of a contoured character and also the option to make them from zero if they want it to.
  • The editors are going to use a grid, the characters are 128 pixels width per 64 pixels height, it this grid you could paint point by point or actually select the colors from a list of categories, one example would be, zombies skin colors.
  • The editors will appear at the end of the given chapter or level of the game, asking the player if they one to make their own zombie, or as a editors outside the game.
  • The zombies chosen to be inside the game will have the credit of the author on the screen of credits in the game.

OK, I know what it is, but why that community game development thing.

  • Help us to keep more in touch with people, get more people to know us.
  • All our projects have the touch to be massive (happy sky, virtual dresser, re-gaming, etc.) and by doing this, it feels we are keeping the same path.
  • People will know what any other things we can make, and of what we are able to do, they can also give us good feed back about our work.
  • The game will need to be deployed in chapters or in short levels, so we are going to constantly see our work finished not having to wait for longs and longs periods of development.
  • For just a merely purpose of experiment and see how people reacts.

 

Justification of the blog

There are many projects you’re working on and felt the need to carry a diary of what they are doing and how. Why online? I think there is no better way to have access to all that I documented at all times, also because maybe this could serve someone else, that is why I do it in English, is wider the community of programmers that I know who speak this language.

Giving this brief introduction, we begin this little diary of development.