[Unity 3D] Tutorial para novatos (4 – Colisiones)

burnout_dominator__ps2_game_Retomando el blog, y viendo que lo más útil del blog están siendo los artículos de Unity entonces continuaré con los mismos intentando abarcar una mayor cantidad de temas que puedan ser especialmente útiles al querer comenzar a desarrollar nuestro propio primer juego.

Considerando los artículos anteriores, pudimos ver un pantallazo de los tópicos principales: la interfaz del programa, la creación de objetos y la programación de los mismos para que hagan cosas.
Ahora otro de los temas que es muy útil a saber y que se debe usar el 80% del tiempo son las colisiones.

Sigue leyendo

[Unity 3D] Tutorial para novatos (3 – Programación)

Como andan malditos bastardos!? 😀 Espero que el blog sea de su agrado y sino ¬_¬ hay tabla. Bueno ya habiéndolos introducido con la interfaz y básicamente el manejo de objetos, no queda mas que empezar a toquetear el código para darle vida a nuestros queridos objetitos.

Sin código, nuestros bichos no harán prácticamente nada, a menos que se bajen de internet algunos prefabs o que utilicen algunos componentes ya existentes para manejar algunas de estas cosas sin necesitar conocer algo de programación. Pero la idea no es ello, sino poder realizar lo que nosotros queramos que hagan estos gameobjects a nuestro propio gusto.

Para esto entonces, Unity soporta 3 lenguajes, UnityScript, C# y Boo. UnityScript es una variación de Javascript y se encontrará como este último nombrado en el propio Unity por más que no sea puramente Javascript. Boo por otro lado, para los que no lo conocen, es un derivado de Python. Ahora bien, Javascript (lo llamaré así para evitar confusiones con el programa o con la mismísima página de Unity) es el lenguaje más utilizado por la vasta cantidad de tutoriales que hay en Internet, mientras que en la documentación oficial, se puede encontrar el código en los 3 lenguajes. Quiero aclarar que estos son los lenguajes soportados oficialmente, mientras que se pueden encontrar plugins para demás lenguajes como C/C++, Objective-C, LUA y tal vez alguno que otro más, pero preferiblemente es mejor trabajar con los que ya vienen para evitar errores de incompatibilidad o de portado a las diferentes plataformas.

Sigue leyendo

[Unity 3D] Tutorial para novatos (2 – Objetos)

tutoUnity1Ya introducida la interfaz, el próximo paso será la manipulación de objetos y la creación de una escena sencilla.

La creación de objetos requiere algo más que tan solo tirarlos en la escena y aplicarles ciertos movimientos y propiedades físicas. Se necesita conocer el tamaño de la escena que se quiere hacer, la posición que X objeto tendrá en el espacio y que tan grande es el mismo, y esto no es una mera recomendación, sino que es lo que en realidad se requiere para conformar un escenario acorde a las dimensiones que uno se plantea. Por lo tanto, al comenzar cualquier proyecto en Unity, se debe conocer de antemano como estará compuesto el escenario, que cosa irá en cada lugar y que tamaño estas tendrán.

Teniendo ya esto en cuenta, necesitaremos conocer la escala (las proporciones físicas/geométricas) del proyecto, y para eso Unity trabaja con unidades que cada cual a su gusto determinará que significan las mismas. Pueden ser tomadas como metros, centímetros, kilómetros, pulgadas, pies, pársecs, angstroms, etc. Es decir, al considerar un objeto de escala (x,y,z) = (1,1,2) entonces suponiendo que tomamos las unidades como metros, el objeto va a medir en el eje X 1 metro, en el eje Y 1 metro y en el eje Z 2 metros, y tomando la posición con respecto al origen de coordenadas de la escena como (x,y,z) = (2.5 ,3.5 ,4.5) esto significará que el objeto estará a 2.5m en X del origen, a 3.5m en Y del origen y a 4.5m en Z del origen.

Ya con esta pequeña intro para aclarar algunas cosas que me parecieron necesarias nombrar comenzaremos a crear objetos. Para crear un nuevo objeto podemos ir en la barra de menúes al menú GameObject y allí ir a Create Other. Desde aquí podemos crear una gran diversidad de objetos geométricos sencillos como cubos, esferas, cilindros, u objetos de otro índole como luces, textos, mallas, etc., y con solo presionar el objeto deseado, este aparecerá en la escena en donde se le indique, y caso contrario, en el centro del área visible de la misma.

Sigue leyendo

[Unity 3D] Tutorial para novatos (1 – Interfaz)

tutoUnity1En esta primera parte del tutorial Unity voy a explicar lo elemental que hay que saber para poder manejar el programa, y eso sería identificar las diferentes partes de la interfaz y para que sirven cada una de ellas. Explicaría el paso anterior a abrir el programa, que sería la instalación, pero esta es muy trivial, y con darle siguiente a todo, basta y una aclaración es que se pide registrarse en la web para poder «activar» la versión de prueba o cualquier otra versión.

A continuación, detallaré toda la interfaz, para ir entonces familizarizandose con la misma, y no tener una mala primera impresión del programa.

Sigue leyendo

Introducción a Unity3D

unity2

Estos días me he estado utilizando el motor de juegos Unity3D. Esto fué porque en mi facultad, estamos armando una especie de grupo de I+D en videojuegos, y una de las primeras tareas que nos asignamos fue armar grupos y seleccionar una tecnología/librería sobre videojuegos que no hayamos tocado aún, y que básicamente aprendamos a usarla desarrollando para ello un jueguito sencillo. En este caso, el juego que tocó hacer fué el arcade Pooyan.

Es por esto que haré una especie de tutorial acerca de todo lo aprendido sobre el motor. Y ahora, inicialmente una breve introducción al mismo.

unity6

Sigue leyendo

Wreck-It Ralph, una película videojueguil

En este caso, les traigo una película que no se deben perder aquellos gamers que han comenzado con los vídeojuegos desde que eran infantes. Se trata de Wreck-It Ralph o como le dicen en latinoamérica Ralph el Demoledor (siempre los nombres de las películas, al menos en Argentina, son completamente diferentes y por ello me dan ganas de pegarles en la cara a los tipos que le cambian el nombre del esa manera).

noti4

Esta película animada de Disney (Walt Disney Animation Studios), incluye una gran cantidad de elementos que se suelen ver en los videojuegos mas viejos y que realmente le traen nostalgia al que la vea.

Sigue leyendo

Un original timelapse

Un timelapse para aquellos que aún desconozcan, es un video en el cual se comprime en algunos minutos todo un vídeo que puede haber requerido de días de filmación. En realidad no es que filman todo el tiempo sino que sacan fotos cada un cierto lapso de tiempo, ya sean unos milisegundos, unos segundos o minutos.

En mi caso, veo timelapses cuando quiero recordar lo que posee nuestro planeta actualmente y de lo que a veces me estoy perdiendo. Nuestro planeta es vasto en muchas cosas, y pensar que tan solo es prácticamente único en unos cuantos pársecs de distancia, entonces deberíamos valorar mas que nunca lo que tenemos e intentar protegerlo para que dure lo mas que podamos (antes que una civilización mucho mas avanzada nos extermine, o algún meteorito enorme nos arrase, o nos matemos entre los mismos habitantes de nuestro planeta, etc.).

En fin, el timelapse que quiero mostrar es uno que ví muy original e interesante por la técnica aplicada denominada tilt-shift, para lo cual se utiliza un enfoque selectivo con la cámara y además en la etapa de pos-procesamiento se aplica lo que se llama Depth-of-field o «profundidad de campo» para darle énfasis y enfoque a un cierto rango de distancia a partir de la cámara.

Sin mas chácharas, les dejo con «The Lion City» el timelapse realizado por Keith Loutit, ambientado en Singapur:

The Lion City from Keith Loutit on Vimeo.

Editor de texto en Assembler

En un domingo de lluvia, que mejor que escribir un lindo post de programación.

En esta ocasión, tuve ganas de mostrar lo que he hecho con mi amigo Juan Ceschi, para aprobar una materia de la facultad relacionada a las partes del hardware del computador y su respectivo lenguaje de bajo nivel denominado Ensamblador, y como a mi me gusta llamarlo, Assembler.

Para ello, nuestro trabajo se relacionó a un software desarrollado íntegramente en assembler. Mas específicamente el soft es un editor de textos en el cual se permite además de escribir, guardar y abrir ficheros, imprimir y hacer uso del mouse para posicionar el cursor dentro del texto.

noti3

El software en sí, no es muy completo y posee dichas funciones únicamente, sin embargo el trabajo que nos llevó hacerlo fue un parto, y lo que mas costó fue el uso de las flechitas del teclado para desplazar el cursor en el texto de la manera en que los editores convencionales de texto suelen hacerlo. Lo demás costó pero en menor medida.

Ahora bien, entrando un poco en assembler, por si alguien desconoce el lenguaje, es uno de aquellos cuyo nivel de abstracción es muy bajo, tan bajo que es trabajar con las posiciones de la memoria de la PC, con las interrupciones de los dispositivos de entrada y salida para poder obtener los diferentes inputs y poder realizar los diversos outputs, el uso de la memoria de vídeo para la visualización de los caracteres y los bordes de la pantalla, etc.

Sigue leyendo

¿Piano Hero? … No, ¡Synthesia!

Remarcaré nuevamente el título del blog «a little big of » que significa «un poco mucho de» (al menos es lo que significa para mí, tal vez algún yankee o inglés piense algo como «un poco grande de» cosa que no tendría sentido con el blog, o inclusive otra cosa) y por lo tanto me refiero a que el blog va a tener un poquito de cada tema que a me guste :-P.

noti2En este caso traeré una especie de juego educativo musical medio al estilo de los clásicos Guitar Hero. Se trata del Synthesia, un juego que te ayuda a aprender a tocar el piano mediante canciones clásicas muy conocidas o incluso con canciones que tu mismo descargues de internet o crees. Todo esto al mas puro estilo de los juegos nombrados de instrumentos musicales en los cuales las notas van cayendo y al momento indicado se debe realizar la combinación de teclas requeridas.

El programa tiene diversos niveles de dificultades con varias canciones precargadas (la mayoría requiere de un cierto pago previo, pero nadie dice que en internet no se puede encontrar la manera de testear el soft completo) cosa de ir paulatinamente incrementando el grado de dificultad y entonces ir mejorando la habilidad pianística. Además posee diferentes niveles con los cuales vas atravesando la canción de manera intuitiva y educativa, ya sea tocando las notas en el ritmo que a vos te apetezca, o simplemente practicar el ritmo de la canción (es decir la velocidad a la que las notas se deban tocar) o tocar la canción entera como si en un concierto estuvieses. Además de muchas mas herramientas que posee para modificar ya sea la velocidad de reproducción de la canción (tempo), etc.

Sigue leyendo