Inicio

Inicio
Inicio2019-12-23T21:31:57-03:00

[Unity + C#] Programando un Space Shooter simple

En este post voy a mostrar cómo hacer un Space Shooter ullllllltra simple. Está orientado más que nada a las personas que saben algo de C# y están empezando con Unity. Por ende, muchas de las maneras que voy a emplear pueden estar bastante lejos del standard implementado, refiriéndome por supuesto a la forma de programar. Me interesa mostrar lo básico para tengan una idea del funcionamiento general de Unity.

(más…)

[C#] Invariantes, Covariantes y Contravariantes

Hace un tiempo, mientras programaba sobre un proyecto que no era mío, noté que en varias ocasiones la persona que lo había hecho declaraba interfaces utilizando “IMyInterface< out T >” o “IMyInterface< in T >“. Como era la primera vez que veía una declaración así, se me ocurrió investigar pero encontré muy pocos lugares en donde la explicación fuera realmente clara. Así que me puse a hacer pruebas, a investigar más a fondo y terminé entendiendo cuál era su funcionamiento. Debido a esos problemas, decidí escribir acerca de esto llamado: Covarianza y Contravarianza.

(más…)

[Unity + C#] ScriptableObjects

En este post voy a mostrar un poco los ScriptableObject, algo que Unity agregó no hace mucho tiempo y que tiene un gran para contener y guardar mucha información, tal como lo haría un prefab normal, aunque este está más pensado para guardar datos de configuración e items que podrían querer persistir. (más…)

[C# + Unity] Guardar y Cargar datos con JSON

En este post quiero mostrar cómo guardar determinados datos, ya sean partidas o configuraciones o ambas. Hoy en día los JSONs representan una forma bastante general para leer este tipo de cosas y me parece una idea copada enseñar a usarlos. Como siempre trato de hacer, enseño lo básico y ustedes usen los recursos de la manera que más útil les parezca.

(más…)

[C# y Lógica] Introducción a C#

Hago este post a la par de otro sobre un curso para crear videojuegos en Unity con C#, para explicar un poco más en profundidad algunos temas puntuales respecto de C#. Va más orientado para el que le interesa bastante la parte de programación y quiera aprender un poco más respecto del lenguaje. Voy a mostrar los temas suficientes como para que puedan crear aplicaciones⁄juegos funcionales. Vamos a ir haciendo juegos sencillos, como sortear un número y adivinar cuál es, ta-te-ti y algún que otro juego más, sencillo, como para que se vayan metiendo en el tema.

(más…)

[Unity3D] Cambiar y/o agregar templates para la creación de Scripts

Alguna vez te molestó la posición en la cual Unity3D pone las llaves al crear un nuevo script y tenes que estar bajándolas porque te gustan de otra manera? O quisiste en algún momento que te diera más opciones al momento de crear un script? Te muestro acá cómo cambiar los templates que crea e incluso agregar más opciones!

(más…)

Introducción a Unreal Engine, C++ y Blueprints

Primer tutorial de Unreal Engine! En esta ocasión voy a mostrar algo básico como para arrancar. Voy a tratar de ir por los conceptos más generales, pero empezando desde un proyecto vacío. La idea es que vean un poco la parte de Blueprints (uno de los puntos más destacados), y también un poco de C++ para ver las diferencias y poder elegir con cuál hacer cada cosa. Quizás sea un tema un tanto difícil si no manejan bien la programación orientada a objetos y algunas estructuras de datos, pero vamos a intentar hacerlo lo más fácil posible!

(más…)

[Unity3D + C#] Física 2D

Trabajo con la física de Unity. La idea del post es ver cómo funciona la física “realista” del motor, ver algunos efectos como viento, centro gravitatorio, etc. También mostrar algunos vínculos que se pueden crear entre determinados objetos. Por último, mostrar cómo crear materiales físicos como hielo o goma, según sea el caso.

(más…)

[Unity3D + C#] Networking con Photon

En este tutorial vamos a ver cómo hacer que nuestro juego sea multiplayer a través de internet utilizando Photon. Vamos a ver un poco de serializado y un poco de RPCs. Un poco más de PlayerController, como se vio en el tutorial de plataformas. También algunos conceptos de “cómo y por qué” enviar los datos de una determinada manera por la red.

(más…)

[Unity3D + C#] Sonidos en Unity3D

Cómo agregar sonido a nuestros juegos hechos en Unity. Reproducción en base a una posición. Control del efecto doppler para objetos que se mueven. Agregar filtros. Utilizar distintas configuraciones dependiendo del momento del juego en el que estemos. Obtener datos de una instantánea de sonido que se esté reproduciendo en un momento para spawnear enemigos en base a la frecuencia de onda.

(más…)

[Unity3D + C#] Juego de Plataformas en Unity3D

Esta es la segunda parte del tutorial que había separado en dos secciones: “Animator” y “Plataformas”. Una vez explicada la parte de cómo usar el animator, vamos a mostrar ahora cómo agarrar todas esas animaciones y ponerlas en un juego de plataformas, y manipularlas para que las acciones se correspondan. También vamos a ver un concepto llamado “PlayerController”, cuya idea es agilizar bastante el desarrollo y hacerlo más prolijo.

(más…)

[Unity3D + C#] Animator2D

Este es UNO de los post que voy a dividir en dos partes para que cada uno lea la parte que le interese nada más. En esta ocasión vamos a ver cómo usar el Animator de Unity para animaciones 2D, con spritesheets. Les voy a enseñar cómo pasar de una animación a la otra sin poner demasiados condicionales sino cambiando una variable y que Unity decida qué hacer. También vamos a ver cómo detectar cuándo el animator entra a una animación, sale o permanece en ella. En otro POST se ve el uso de esto en un juego de plataformas.

(más…)

[Unity3D + C#] Cálculos Matemáticos con Seno y Coseno

¡MATEMÁTICAS! Tan odiadas y tan amadas. Peeeeero… No hay ningún juego que no las tenga. Lo que voy a tratar de explicar acá es cómo usar las funciones de Seno y Coseno para hacer los cálculos trigonométricos más básicos, de los cuales podemos sacar formas particulares como las que tienen algunos juegos como Touhou. La idea es que se entienda más o menos cómo funcionan a modo básico, para que después se tiren ustedes a hacer experimentos y ver qué sale.

(más…)

[Unity3D + C#] Consola de Comandos

Cómo crear una consola de depuración con comandos personalizados, que se puedan agregar o quitar. Un comando especial para mostrar todos los comandos disponibles con sus descripciones. Uso de diccionarios para guardar cada comando. Algunas configuraciones de UI para que se vea “linda”. Uso de “delegate” y “Dictionary” para manipular y almacenar funciones respectivamente. Evitar errores utilizando “try-catch-finally”.

(más…)

[Unity3D + C#] Algoritmos Genéticos

Tienen varias finalidades, pero las que más podemos destacar son la posibilidad de aprendizaje y la búsqueda de la mejor solución a un problema. En principio la teoría podría parecer algo difícil de entender: ¿Cómo es que aprende? ¿Cómo encuentra la forma? Si bien estos algoritmos son de mucha ayuda y dan un toque más de realismo a los juegos, el “cómo aprende” depende más de lo que se haga fuera que dentro. Si entienden la lógica, pueden modificarlos como quieran y readaptarlos para la finalidad que necesiten.

(más…)

Lambdas: Otra forma de ver la programación

En esta ocasión voy a intentar dar una “introducción” a lo que sería una forma distinta de ver la programación. Al igual que la recursion es simplemente otra manera de programar, no necesariamente más óptima, no es el objetivo, pero si un poco más acotada y clara (si se entiende, claro). La expresión Lambda.

(más…)

[PSeInt] Lógica de la Programación

El objetivo de este post es mostrar en líneas generales las bases de lo que es la programación y la lógica. La idea es que sirva de introducción al mundo de la programación para aquellas personas que quieran meterse y también para repaso de mis alumnos. Para esto voy a usar un programa llamado PSeInt, en el cuál podemos programar y compilar nuestros programas escribiéndolos en español y de una manera bastante coloquial y entendible. No es mi idea meterme (por ahora), en tecnicismos ni nada por el estilo. Voy a ondar los temas de la manera más general posible, mostrando sólo lo intrínsecamente necesario para que puedan desarrollar un programa básico y que después ustedes decidan si les interesa seguir aprendiendo.

(más…)

[Unity3D + C#] PathFinding con NavMesh

En este post voy a mostrar cómo se usa el NavMesh de Unity3D. Esta es una de las ramas de la inteligencia artificial, que incluye búsqueda de caminos y un comportamiento grupal, al hacer que uno o más agentes (personajes), puedan llegar de un punto A hasta un punto B esquivando obstáculos e incluso evitarse entre ellos. Vamos a ver también que este componente de Unity puede tener en cuenta el uso de portales y fragmentos de escenarios que no están conectados, para los cuales se necesita saltar.

(más…)

[Programación] Herencia y Polimorfismo

En este post voy a tratar de mostrarles los conceptos y algunos ejemplos sobre Herencia y Polimorfismo, que son claves a la hora de programar un juego (o cualquier aplicación). Estos conceptos les van a ayudar a tener el juego un poco más estructurado y de fácil lectura y corrección, ya que ese suele ser un gran problema de muchas personas a la hora de programar: La fácil depuración.

(más…)

[Flash Builder + As3] Compilar para Mobile

En este tutorial voy a mostrar cómo compilar para mobile desde Flash Builder, con ActionScript 3.0. La compilación va a ser para Android, ya que el resto de los sistemas es pago y necesitarán licencias particulares. De todas maneras, cualquiera sea el sistema operativo, el funcionamiento dentro movil es exactamente el mismo.

Para arrancar, vamos a crear un proyecto para mobile yendo a “File” => “New” => “ActionScript Mobile Project” como indica la imagen de abajo.

(más…)

[IT’S FREE] 30 Regalos de UBISOFT

Quizás la noticia tiene un poco de retraso pero más vale tarde que nunca. UBISOFT está haciendo un regalo a diario. Sólo hay que registrarse y hacer un click por día en cada una de las cajas que aparecen en este link:

 

30 Days of Giveaways!

 

La gran mayoría son cosas simples, pero hay juegos incluidos en los regalos. Les dejo a continuación el calendario con lo que van a regalar cada día, según filtraron en VANDAL. (más…)

Estructura de código con la técnica S.O.L.I.D.

Después de llevar tiempo corrigiendo varios exámenes y ver que muchos alumnos tiene problemas a la hora de estructurar el código, me pareció  pertinente subir algo de información acerca de una de las técnicas de programación más usadas. Por supuesto, hay muchas y para muchos casos diferentes. Lo más importante no es implementar todas, sino aquellas necesarias para resolver los problemas que enfrentamos a la hora de crear una aplicación/videojuego.

 

112211_1039_principiode11

 

(más…)

[Lógica] Eliminando elementos de un array

Mucha gente tiene problemas a la hora de eliminar elementos de un array, y más si el mismo se está recorriendo frame a frame.

Uno de los problemas más grandes que veo es de lógica. Muchos tienen una lógica para eliminarlos más o menos así:

(más…)

[Unity3D] Luces y Sombras con Sprites

Muchas veces me pregunté (supongo que al igual que muchas personas), cómo generar sombras en objetos 2D con Unity. Voy a explicar ahora la forma sencilla (usando un Framework), y más adelante haré otro post sobre cómo hacerlo manualmente.

El framework que vamos a utilizar es 2DDL (2D Dynamic Lights and Shadows), que lo podemos bajar del Asset Store de Unity (desde un navegador o dentro de Unity).

(más…)

Best Unity Assets

Les comparto un link que contiene un par de assets para hacer distintos tipos de efectos en Unity3D. Son bastaaaaaante hardcore algunos, pero para los que están más cancheros con el editor quizás sólo sea un pequeño desafío. Algunos chicos de seminario de la carrera de Desarrollo de Videojuegos, en la Escuela de Arte Multimedial Da Vinci, los están usando para sus juegos. Son de Keijiro Takahashi (y algunos de Seiya Ishibashi).

(más…)

[Unity3D + C#] Animación de Spritesheets

Buenas!

Voy a mostrar hoy cómo hacer para animar un spritesheet en Unity3D, con C#. Antes que nada, quiero aclarar que sé que hay una manera mucho más “fácil”, que es con el Animator. Evito usar este componente por una cuestión de que es tan fácil aprenderlo que se puede ver algún tutorial en YouTube y listo. El tema es que si en algún momento tenemos que animar un spritesheet y no es en Unity3D, sino en cualquier otra plataforma, vamos a estar un poco complicados. Así que doy ahora la alternativa de hacerlo con código, de la manera más genérica que pueda, cosa que si en algún momento alguien usa otro engine solamente tenga que aprender las variaciones como:  “¿Cuál es el Update?”, “¿Cómo se pinta en pantalla?”, etc; en lugar de ¿Cuál es el Animator que hace todo por mí?

(más…)

Malvertising en tus páginas

Paso a contar una experiencia que tuve en la página con un Malvertising, al agregar el contador de visitas que ven abajo. Quizás esto le sirva a alguien algún día y en tal momento espero su comentario acá.

Resulta que buscando uno para medir la cantidad de personas que entraban, me topé con el que ves ahora, me pareció copado en cuanto a cómo se ve y las estadísticas que marca al hacer click, así que lo instalé en la web. Lo que pasó fue que luego de un tiempo de usarlo, noté que al hacer click en cualquier enlace de mi página, al menos la primera vez que se entra, abría una ventana adicional y la cerraba inmediatamente (no sé si se cerraba sola o Adblock Plus lo hacía). Empecé a sentir curiosidad por saber de dónde venía y logré sacarle una captura antes de que se cierre.

 

(más…)

3 Canales de Youtube para aprender a Programar Videojuegos en Unity

Buenas!

Bien… El título creo que lo dice todo. Son tres canales en donde se puede ver lo básico para armar un juego desde cero en Unity3D. Si bien muchos temas los vemos durante la cursada, estaría bueno que los vean. También estaría bueno que no adapten su forma de programar a la de los videos. Hay cosas que pueden estar copadas, pero siempre es preferible que tengan SU manera de programar, en lugar de la de otro. Los tres canales están en español, así que no van a tener problemas para entenderlos.

(más…)

Makin’ Stuff Look Good in Unity!

Es un canal de YouTube de un flaco que la tiene muy clara. Enseña cómo hacer muchos efectos con shaders y partículas, algunos quizás parecen un poco pavos, pero agregando algunas cosillas y configuraciones, se logran cosas realmente buenas.

Todos los videos están MUY bien explicados y detallados (aunque en inglés).

Curva de Bezier

Una de las cosas más difíciles de pensar, quizás, sea la curva de bezier, y más si te cuestan las matemáticas. Si bien las mismas me gustan mucho, tampoco son mi fuerte, así que si yo lo pude sacar, cualquiera que esté leyendo esto puede hacerlo.

Por empezar… Para qué carajos podemos usar una curva de bezier? Veamos un ejemplo concreto:

luxor_s1

Luxor.

(más…)

[Unity + C#] Programando un Space Shooter simple

En este post voy a mostrar cómo hacer un Space Shooter ullllllltra simple. Está orientado más que nada a las personas que saben algo de C# y están empezando con Unity. Por ende, muchas de las maneras que voy a emplear pueden estar bastante lejos del standard implementado, refiriéndome por supuesto a la forma de programar. Me interesa mostrar lo básico para tengan una idea del funcionamiento general de Unity.

(más…)

[Unity + C#] ScriptableObjects

En este post voy a mostrar un poco los ScriptableObject, algo que Unity agregó no hace mucho tiempo y que tiene un gran para contener y guardar mucha información, tal como lo haría un prefab normal, aunque este está más pensado para guardar datos de configuración e items que podrían querer persistir. (más…)

[C# + Unity] Guardar y Cargar datos con JSON

En este post quiero mostrar cómo guardar determinados datos, ya sean partidas o configuraciones o ambas. Hoy en día los JSONs representan una forma bastante general para leer este tipo de cosas y me parece una idea copada enseñar a usarlos. Como siempre trato de hacer, enseño lo básico y ustedes usen los recursos de la manera que más útil les parezca.

(más…)

[Unity3D] Cambiar y/o agregar templates para la creación de Scripts

Alguna vez te molestó la posición en la cual Unity3D pone las llaves al crear un nuevo script y tenes que estar bajándolas porque te gustan de otra manera? O quisiste en algún momento que te diera más opciones al momento de crear un script? Te muestro acá cómo cambiar los templates que crea e incluso agregar más opciones!

(más…)

[Unity3D + C#] Física 2D

Trabajo con la física de Unity. La idea del post es ver cómo funciona la física “realista” del motor, ver algunos efectos como viento, centro gravitatorio, etc. También mostrar algunos vínculos que se pueden crear entre determinados objetos. Por último, mostrar cómo crear materiales físicos como hielo o goma, según sea el caso.

(más…)

[Unity3D + C#] Networking con Photon

En este tutorial vamos a ver cómo hacer que nuestro juego sea multiplayer a través de internet utilizando Photon. Vamos a ver un poco de serializado y un poco de RPCs. Un poco más de PlayerController, como se vio en el tutorial de plataformas. También algunos conceptos de “cómo y por qué” enviar los datos de una determinada manera por la red.

(más…)

[Unity3D + C#] Sonidos en Unity3D

Cómo agregar sonido a nuestros juegos hechos en Unity. Reproducción en base a una posición. Control del efecto doppler para objetos que se mueven. Agregar filtros. Utilizar distintas configuraciones dependiendo del momento del juego en el que estemos. Obtener datos de una instantánea de sonido que se esté reproduciendo en un momento para spawnear enemigos en base a la frecuencia de onda.

(más…)

[Unity3D + C#] Juego de Plataformas en Unity3D

Esta es la segunda parte del tutorial que había separado en dos secciones: “Animator” y “Plataformas”. Una vez explicada la parte de cómo usar el animator, vamos a mostrar ahora cómo agarrar todas esas animaciones y ponerlas en un juego de plataformas, y manipularlas para que las acciones se correspondan. También vamos a ver un concepto llamado “PlayerController”, cuya idea es agilizar bastante el desarrollo y hacerlo más prolijo.

(más…)

[Unity3D + C#] Animator2D

Este es UNO de los post que voy a dividir en dos partes para que cada uno lea la parte que le interese nada más. En esta ocasión vamos a ver cómo usar el Animator de Unity para animaciones 2D, con spritesheets. Les voy a enseñar cómo pasar de una animación a la otra sin poner demasiados condicionales sino cambiando una variable y que Unity decida qué hacer. También vamos a ver cómo detectar cuándo el animator entra a una animación, sale o permanece en ella. En otro POST se ve el uso de esto en un juego de plataformas.

(más…)

[Unity3D + C#] Cálculos Matemáticos con Seno y Coseno

¡MATEMÁTICAS! Tan odiadas y tan amadas. Peeeeero… No hay ningún juego que no las tenga. Lo que voy a tratar de explicar acá es cómo usar las funciones de Seno y Coseno para hacer los cálculos trigonométricos más básicos, de los cuales podemos sacar formas particulares como las que tienen algunos juegos como Touhou. La idea es que se entienda más o menos cómo funcionan a modo básico, para que después se tiren ustedes a hacer experimentos y ver qué sale.

(más…)

[Unity3D + C#] Consola de Comandos

Cómo crear una consola de depuración con comandos personalizados, que se puedan agregar o quitar. Un comando especial para mostrar todos los comandos disponibles con sus descripciones. Uso de diccionarios para guardar cada comando. Algunas configuraciones de UI para que se vea “linda”. Uso de “delegate” y “Dictionary” para manipular y almacenar funciones respectivamente. Evitar errores utilizando “try-catch-finally”.

(más…)

[Unity3D + C#] Algoritmos Genéticos

Tienen varias finalidades, pero las que más podemos destacar son la posibilidad de aprendizaje y la búsqueda de la mejor solución a un problema. En principio la teoría podría parecer algo difícil de entender: ¿Cómo es que aprende? ¿Cómo encuentra la forma? Si bien estos algoritmos son de mucha ayuda y dan un toque más de realismo a los juegos, el “cómo aprende” depende más de lo que se haga fuera que dentro. Si entienden la lógica, pueden modificarlos como quieran y readaptarlos para la finalidad que necesiten.

(más…)

[Unity3D + C#] PathFinding con NavMesh

En este post voy a mostrar cómo se usa el NavMesh de Unity3D. Esta es una de las ramas de la inteligencia artificial, que incluye búsqueda de caminos y un comportamiento grupal, al hacer que uno o más agentes (personajes), puedan llegar de un punto A hasta un punto B esquivando obstáculos e incluso evitarse entre ellos. Vamos a ver también que este componente de Unity puede tener en cuenta el uso de portales y fragmentos de escenarios que no están conectados, para los cuales se necesita saltar.

(más…)

[Programación] Herencia y Polimorfismo

En este post voy a tratar de mostrarles los conceptos y algunos ejemplos sobre Herencia y Polimorfismo, que son claves a la hora de programar un juego (o cualquier aplicación). Estos conceptos les van a ayudar a tener el juego un poco más estructurado y de fácil lectura y corrección, ya que ese suele ser un gran problema de muchas personas a la hora de programar: La fácil depuración.

(más…)

[Unity3D] Luces y Sombras con Sprites

Muchas veces me pregunté (supongo que al igual que muchas personas), cómo generar sombras en objetos 2D con Unity. Voy a explicar ahora la forma sencilla (usando un Framework), y más adelante haré otro post sobre cómo hacerlo manualmente.

El framework que vamos a utilizar es 2DDL (2D Dynamic Lights and Shadows), que lo podemos bajar del Asset Store de Unity (desde un navegador o dentro de Unity).

(más…)

Best Unity Assets

Les comparto un link que contiene un par de assets para hacer distintos tipos de efectos en Unity3D. Son bastaaaaaante hardcore algunos, pero para los que están más cancheros con el editor quizás sólo sea un pequeño desafío. Algunos chicos de seminario de la carrera de Desarrollo de Videojuegos, en la Escuela de Arte Multimedial Da Vinci, los están usando para sus juegos. Son de Keijiro Takahashi (y algunos de Seiya Ishibashi).

(más…)

[Unity3D + C#] Animación de Spritesheets

Buenas!

Voy a mostrar hoy cómo hacer para animar un spritesheet en Unity3D, con C#. Antes que nada, quiero aclarar que sé que hay una manera mucho más “fácil”, que es con el Animator. Evito usar este componente por una cuestión de que es tan fácil aprenderlo que se puede ver algún tutorial en YouTube y listo. El tema es que si en algún momento tenemos que animar un spritesheet y no es en Unity3D, sino en cualquier otra plataforma, vamos a estar un poco complicados. Así que doy ahora la alternativa de hacerlo con código, de la manera más genérica que pueda, cosa que si en algún momento alguien usa otro engine solamente tenga que aprender las variaciones como:  “¿Cuál es el Update?”, “¿Cómo se pinta en pantalla?”, etc; en lugar de ¿Cuál es el Animator que hace todo por mí?

(más…)

3 Canales de Youtube para aprender a Programar Videojuegos en Unity

Buenas!

Bien… El título creo que lo dice todo. Son tres canales en donde se puede ver lo básico para armar un juego desde cero en Unity3D. Si bien muchos temas los vemos durante la cursada, estaría bueno que los vean. También estaría bueno que no adapten su forma de programar a la de los videos. Hay cosas que pueden estar copadas, pero siempre es preferible que tengan SU manera de programar, en lugar de la de otro. Los tres canales están en español, así que no van a tener problemas para entenderlos.

(más…)

Makin’ Stuff Look Good in Unity!

Es un canal de YouTube de un flaco que la tiene muy clara. Enseña cómo hacer muchos efectos con shaders y partículas, algunos quizás parecen un poco pavos, pero agregando algunas cosillas y configuraciones, se logran cosas realmente buenas.

Todos los videos están MUY bien explicados y detallados (aunque en inglés).

[Unity + C#] Programando un Space Shooter simple

En este post voy a mostrar cómo hacer un Space Shooter ullllllltra simple. Está orientado más que nada a las personas que saben algo de C# y están empezando con Unity. Por ende, muchas de las maneras que voy a emplear pueden estar bastante lejos del standard implementado, refiriéndome por supuesto a la forma de programar. Me interesa mostrar lo básico para tengan una idea del funcionamiento general de Unity.

(más…)

[Unity + C#] ScriptableObjects

En este post voy a mostrar un poco los ScriptableObject, algo que Unity agregó no hace mucho tiempo y que tiene un gran para contener y guardar mucha información, tal como lo haría un prefab normal, aunque este está más pensado para guardar datos de configuración e items que podrían querer persistir. (más…)

[C# + Unity] Guardar y Cargar datos con JSON

En este post quiero mostrar cómo guardar determinados datos, ya sean partidas o configuraciones o ambas. Hoy en día los JSONs representan una forma bastante general para leer este tipo de cosas y me parece una idea copada enseñar a usarlos. Como siempre trato de hacer, enseño lo básico y ustedes usen los recursos de la manera que más útil les parezca.

(más…)

[C# y Lógica] Introducción a C#

Hago este post a la par de otro sobre un curso para crear videojuegos en Unity con C#, para explicar un poco más en profundidad algunos temas puntuales respecto de C#. Va más orientado para el que le interesa bastante la parte de programación y quiera aprender un poco más respecto del lenguaje. Voy a mostrar los temas suficientes como para que puedan crear aplicaciones⁄juegos funcionales. Vamos a ir haciendo juegos sencillos, como sortear un número y adivinar cuál es, ta-te-ti y algún que otro juego más, sencillo, como para que se vayan metiendo en el tema.

(más…)

[Unity3D + C#] Física 2D

Trabajo con la física de Unity. La idea del post es ver cómo funciona la física “realista” del motor, ver algunos efectos como viento, centro gravitatorio, etc. También mostrar algunos vínculos que se pueden crear entre determinados objetos. Por último, mostrar cómo crear materiales físicos como hielo o goma, según sea el caso.

(más…)

[Unity3D + C#] Sonidos en Unity3D

Cómo agregar sonido a nuestros juegos hechos en Unity. Reproducción en base a una posición. Control del efecto doppler para objetos que se mueven. Agregar filtros. Utilizar distintas configuraciones dependiendo del momento del juego en el que estemos. Obtener datos de una instantánea de sonido que se esté reproduciendo en un momento para spawnear enemigos en base a la frecuencia de onda.

(más…)

[Unity3D + C#] Juego de Plataformas en Unity3D

Esta es la segunda parte del tutorial que había separado en dos secciones: “Animator” y “Plataformas”. Una vez explicada la parte de cómo usar el animator, vamos a mostrar ahora cómo agarrar todas esas animaciones y ponerlas en un juego de plataformas, y manipularlas para que las acciones se correspondan. También vamos a ver un concepto llamado “PlayerController”, cuya idea es agilizar bastante el desarrollo y hacerlo más prolijo.

(más…)

[Unity3D + C#] Animator2D

Este es UNO de los post que voy a dividir en dos partes para que cada uno lea la parte que le interese nada más. En esta ocasión vamos a ver cómo usar el Animator de Unity para animaciones 2D, con spritesheets. Les voy a enseñar cómo pasar de una animación a la otra sin poner demasiados condicionales sino cambiando una variable y que Unity decida qué hacer. También vamos a ver cómo detectar cuándo el animator entra a una animación, sale o permanece en ella. En otro POST se ve el uso de esto en un juego de plataformas.

(más…)

[Unity3D + C#] Cálculos Matemáticos con Seno y Coseno

¡MATEMÁTICAS! Tan odiadas y tan amadas. Peeeeero… No hay ningún juego que no las tenga. Lo que voy a tratar de explicar acá es cómo usar las funciones de Seno y Coseno para hacer los cálculos trigonométricos más básicos, de los cuales podemos sacar formas particulares como las que tienen algunos juegos como Touhou. La idea es que se entienda más o menos cómo funcionan a modo básico, para que después se tiren ustedes a hacer experimentos y ver qué sale.

(más…)

[Unity3D + C#] Consola de Comandos

Cómo crear una consola de depuración con comandos personalizados, que se puedan agregar o quitar. Un comando especial para mostrar todos los comandos disponibles con sus descripciones. Uso de diccionarios para guardar cada comando. Algunas configuraciones de UI para que se vea “linda”. Uso de “delegate” y “Dictionary” para manipular y almacenar funciones respectivamente. Evitar errores utilizando “try-catch-finally”.

(más…)

[Unity3D + C#] Algoritmos Genéticos

Tienen varias finalidades, pero las que más podemos destacar son la posibilidad de aprendizaje y la búsqueda de la mejor solución a un problema. En principio la teoría podría parecer algo difícil de entender: ¿Cómo es que aprende? ¿Cómo encuentra la forma? Si bien estos algoritmos son de mucha ayuda y dan un toque más de realismo a los juegos, el “cómo aprende” depende más de lo que se haga fuera que dentro. Si entienden la lógica, pueden modificarlos como quieran y readaptarlos para la finalidad que necesiten.

(más…)

Lambdas: Otra forma de ver la programación

En esta ocasión voy a intentar dar una “introducción” a lo que sería una forma distinta de ver la programación. Al igual que la recursion es simplemente otra manera de programar, no necesariamente más óptima, no es el objetivo, pero si un poco más acotada y clara (si se entiende, claro). La expresión Lambda.

(más…)

[Unity3D + C#] PathFinding con NavMesh

En este post voy a mostrar cómo se usa el NavMesh de Unity3D. Esta es una de las ramas de la inteligencia artificial, que incluye búsqueda de caminos y un comportamiento grupal, al hacer que uno o más agentes (personajes), puedan llegar de un punto A hasta un punto B esquivando obstáculos e incluso evitarse entre ellos. Vamos a ver también que este componente de Unity puede tener en cuenta el uso de portales y fragmentos de escenarios que no están conectados, para los cuales se necesita saltar.

(más…)

[Programación] Herencia y Polimorfismo

En este post voy a tratar de mostrarles los conceptos y algunos ejemplos sobre Herencia y Polimorfismo, que son claves a la hora de programar un juego (o cualquier aplicación). Estos conceptos les van a ayudar a tener el juego un poco más estructurado y de fácil lectura y corrección, ya que ese suele ser un gran problema de muchas personas a la hora de programar: La fácil depuración.

(más…)

[Lógica] Eliminando elementos de un array

Mucha gente tiene problemas a la hora de eliminar elementos de un array, y más si el mismo se está recorriendo frame a frame.

Uno de los problemas más grandes que veo es de lógica. Muchos tienen una lógica para eliminarlos más o menos así:

(más…)

Best Unity Assets

Les comparto un link que contiene un par de assets para hacer distintos tipos de efectos en Unity3D. Son bastaaaaaante hardcore algunos, pero para los que están más cancheros con el editor quizás sólo sea un pequeño desafío. Algunos chicos de seminario de la carrera de Desarrollo de Videojuegos, en la Escuela de Arte Multimedial Da Vinci, los están usando para sus juegos. Son de Keijiro Takahashi (y algunos de Seiya Ishibashi).

(más…)

[Unity3D + C#] Animación de Spritesheets

Buenas!

Voy a mostrar hoy cómo hacer para animar un spritesheet en Unity3D, con C#. Antes que nada, quiero aclarar que sé que hay una manera mucho más “fácil”, que es con el Animator. Evito usar este componente por una cuestión de que es tan fácil aprenderlo que se puede ver algún tutorial en YouTube y listo. El tema es que si en algún momento tenemos que animar un spritesheet y no es en Unity3D, sino en cualquier otra plataforma, vamos a estar un poco complicados. Así que doy ahora la alternativa de hacerlo con código, de la manera más genérica que pueda, cosa que si en algún momento alguien usa otro engine solamente tenga que aprender las variaciones como:  “¿Cuál es el Update?”, “¿Cómo se pinta en pantalla?”, etc; en lugar de ¿Cuál es el Animator que hace todo por mí?

(más…)

3 Canales de Youtube para aprender a Programar Videojuegos en Unity

Buenas!

Bien… El título creo que lo dice todo. Son tres canales en donde se puede ver lo básico para armar un juego desde cero en Unity3D. Si bien muchos temas los vemos durante la cursada, estaría bueno que los vean. También estaría bueno que no adapten su forma de programar a la de los videos. Hay cosas que pueden estar copadas, pero siempre es preferible que tengan SU manera de programar, en lugar de la de otro. Los tres canales están en español, así que no van a tener problemas para entenderlos.

(más…)

[C# y Lógica] Introducción a C#

Hago este post a la par de otro sobre un curso para crear videojuegos en Unity con C#, para explicar un poco más en profundidad algunos temas puntuales respecto de C#. Va más orientado para el que le interesa bastante la parte de programación y quiera aprender un poco más respecto del lenguaje. Voy a mostrar los temas suficientes como para que puedan crear aplicaciones⁄juegos funcionales. Vamos a ir haciendo juegos sencillos, como sortear un número y adivinar cuál es, ta-te-ti y algún que otro juego más, sencillo, como para que se vayan metiendo en el tema.

(más…)

Lambdas: Otra forma de ver la programación

En esta ocasión voy a intentar dar una “introducción” a lo que sería una forma distinta de ver la programación. Al igual que la recursion es simplemente otra manera de programar, no necesariamente más óptima, no es el objetivo, pero si un poco más acotada y clara (si se entiende, claro). La expresión Lambda.

(más…)

[PSeInt] Lógica de la Programación

El objetivo de este post es mostrar en líneas generales las bases de lo que es la programación y la lógica. La idea es que sirva de introducción al mundo de la programación para aquellas personas que quieran meterse y también para repaso de mis alumnos. Para esto voy a usar un programa llamado PSeInt, en el cuál podemos programar y compilar nuestros programas escribiéndolos en español y de una manera bastante coloquial y entendible. No es mi idea meterme (por ahora), en tecnicismos ni nada por el estilo. Voy a ondar los temas de la manera más general posible, mostrando sólo lo intrínsecamente necesario para que puedan desarrollar un programa básico y que después ustedes decidan si les interesa seguir aprendiendo.

(más…)

[Lógica] Eliminando elementos de un array

Mucha gente tiene problemas a la hora de eliminar elementos de un array, y más si el mismo se está recorriendo frame a frame.

Uno de los problemas más grandes que veo es de lógica. Muchos tienen una lógica para eliminarlos más o menos así:

(más…)

[Flash Builder + As3] Compilar para Mobile

En este tutorial voy a mostrar cómo compilar para mobile desde Flash Builder, con ActionScript 3.0. La compilación va a ser para Android, ya que el resto de los sistemas es pago y necesitarán licencias particulares. De todas maneras, cualquiera sea el sistema operativo, el funcionamiento dentro movil es exactamente el mismo.

Para arrancar, vamos a crear un proyecto para mobile yendo a “File” => “New” => “ActionScript Mobile Project” como indica la imagen de abajo.

(más…)

[Lógica] Eliminando elementos de un array

Mucha gente tiene problemas a la hora de eliminar elementos de un array, y más si el mismo se está recorriendo frame a frame.

Uno de los problemas más grandes que veo es de lógica. Muchos tienen una lógica para eliminarlos más o menos así:

(más…)