miércoles, 16 de diciembre de 2015

La Mano Loca (Sticky Hand)


El pasado fin de semana tuvo lugar la LudumDare34! En esta ocasión el equipo lo formamos 3 personas: Dani Gómez (artista), Pedro Fuentes (diseñador) y yo mismo(programador).

En esta edición hubo un empate con 2 temas: Growing y Two Buttons.
Daban la opción de utilizar uno de los dos, o ambos.
Nos costó mucho pensar una idea sencilla para el juego con estos temas... la mayoría de ideas giraban entorno a plantas o edificios que crecían... o bichos que aumentaban su tamaño.
Después de más de 3 horas estrujándonos la cabeza, Pedro dijo que la Mano Loca crecía cuando se le pegaban cosas y nos pareció divertido llevar ese concepto a un juego.
 Al final realizamos un plataformas 2D lateral, donde el protagonista en lugar de un brazo y una mano normal y corrientes, tiene una mano loca. Debe de ir recogiendo trastos del suelo para lanzarlos a los enemigos y abrirse paso para escapar. 

miércoles, 2 de diciembre de 2015

NodusNodus


Durante el desarrollo del prototipo de Northern Lights surgió la necesidad de diseñar un sistema para que el personaje que te sigue durante la partida, lo hiciese de tal forma que diera la sensación de que tiene conocimiento del entorno. 
Queríamos que fuese capaz de viajar por el mapa de un punto aleatorio hasta donde se encontrase el personaje controlado por el jugador y que tuviese la habilidad de decidir cual era el camino más corto y libre de peligros.
Naturalmente, al tratarse de un proyecto de fin de curso, no teníamos demasiado tiempo para dedicarle a la creación de esta inteligencia artificial y tuvimos que hacer algunos apaños que funcionasen pero que no eran lo que queríamos para nuestro juego, así que quedó pendiente en la lista de cosas por rehacer y mejorar.

Imaginemos que tenemos una red de nodos y queremos que un personaje viaje desde su posición hasta un destino en concreto, y que lo haga siguiendo una red de nodos creada con anterioridad.


En la imagen se representaría el caso en el que el personaje quiere llegar hasta su destino y tiene 2 caminos: El rojo y el azul.
En este caso, el camino rojo sería el más corto ya que el recorrido pasa por 3 nodos y el camino azul pasa por 4 nodos.
Nuestro personaje seguiría el camino marcado en rojo hasta llegar a su destino.
Para realizar la búsqueda del camino más corto, utilicé algoritmos para recorrer colas (queue) que retornasen el camino más corto entre 2 nodos incluidos en la cola.

Una vez llegado a este punto, me encontré un problema mayor: La construcción de la red de nodos en Unity3D.
Tal y como diseñe incialmente el algoritmo, cada nodo era un GameObject que contenía un script que contenía un array de otros nodos, para indicar con qué nodos estaba conectado.
La tarea de construir una estructura de GameObjects uno a uno, definiendo sus conexiones una a una arrastrando objetos en el editor de unity, se me hizo insoportable.
No podíamos perder tanto tiempo en realizar una red de nodos, y tampoco era viable que cada nodo constituyera un GameObject de la escena.

Así que me puse a trabajar en NodusNodus (NN).
NN es una herramienta aún en desarrollo que te permite generar una red de nodos de tamaño cualquiera, con tantas conexiones como necesites .
Con ella, puedes generar nodos con un simple click en tu escena de unity, eliminarlos, unir varios nodos entre si, etc.
Soporta multi-selección de nodos para editar varios simultáneamente.


Ahora que tengo terminada la base de la herramienta, se me ocurren otros campos donde podría serme útil, no solo para la IA de nuestros personajes.

  • Travelings de cámara para cinemáticas.
  • Generar caminos para enemigos que patrullen.
  • Easings.
  • Crear geometrías. De momento esta herramienta funciona solo en 2D, pero añadir la tercera dimensión es trivial.
  • etc...

Cualquier cosa que requiera de Vértices o posiciones en la escena.
De momento continuaremos con su desarrollo y esperamos poder subirla a la AssetStore de Unity para que cualquiera pueda aprovecharse de las ventajas que ofrece.

martes, 17 de febrero de 2015

Mi primera GameJam

El pasado mes de Enero, se organizó a nivel mundial la Global Game Jam 2015.
Yo tuve la oportunidad de participar en la sede de Barcelona, y aprender lo que significa hacer un videojuego en menos de 48 horas.

Escribí un artículo hablando sobre mi experiencia en esta gamejam y analizando un poco las conclusiones que yo saqué ese fin de semana, todo mezclado con pocas horas de sueño.

Me tomo la libertad de copiaros el artículo completo y os dejo un enlace a la web por si queréis echarle un vistazo, suelo escribir de vez en cuando algunos análisis o artículos relacionados con este mundillo. Casi siempre desde un punto de vista subjetivo.
El pasado fin de semana se llevó a cabo la Global GameJam 2015, en la que no solo asistimos, también participamos.
Para quien no lo sepa, una “Game Jam” es un evento en el que personas de distintas ramas profesionales (programadores, artistas, músicos, etc) se reúnen para hacer un videojuego en base a un tema propuesto por la organización, en un número limitado de tiempo, en este caso 48 horas. La GGJ es el mayor exponente de este tipo de eventos en el mundo ya que de manera simultánea, en diferentes ciudades del mundo, la creatividad de miles de personas se mezcla para intentar sacar adelante todo tipo de videojuegos.

Dicho esto, me gustaría hablar de mi experiencia en esta última jam, que ha sido también la primera a la que he asistido, y que se realizó en Barcelona, gracias a VGAFIB (Video Games Association d'Estudiants de la Facultat d'Informàtica de Barcelona). Destacar que la de Barcelona fue la más prolífica en asistencia en España, juntando a 76 participantes.
Asistí con un compañero de clase, con el que formé equipo para participar, aunque la verdadera gracia de estos eventos suele ser la de formar equipos con gente directamente en el lugar, y conocer gente nueva. Pero al ser nuestra primera jam, los nervios nos pasaron factura y preferimos hacerlo así. Hablo como desarrollador novato que acaba de iniciarse en este sector y puedo afirmar que hacer una jam es una experiencia muy dura no apta para pusilánimes. Te enfrentas a un reto en un período de tiempo muy corto y has de trabajar sin pausa con mucha presión, partiendo de cero y con mínima directriz.
En una game jam no descansas. Los más apañados, se tumban en el suelo con esterillas y sacos de dormir, algunos incluso con cojines. Algunos vuelven a casa a descansar, y vuelven pasadas 6-8 horas. Cada uno se marca su ritmo y sus límites. En muchos casos ese ritmo no es suficiente para cumplir el objetivo.
En nuestro caso, un equipo de dos personas (programador y artista), nos tuvimos que ocupar de todo, y acotamos nuestro juego a algo pequeño que nos diera tiempo a terminar y que tuviera un acabado decente. Todo ello bajo el tema de la edición que era ni más ni menos que What do we do now?

A partir de aquí, cada grupo tenía que realizar un juego inspirándose en esta frase, y salieron proyectos bastante variopintos y curiosos. Al final, se presentaron todos los proyectos en público, y cada grupo puntuó a los demás en categorías como gráficos, jugabilidad, audio, etc… Se hace la media de entre todos y se publica una clasificación en la web. Cuando he dicho que la experiencia es dura, no exageraba. Al menos 3 grupos abandonaron pasadas 24 horas, y algunos poco después. Cualquiera que trabaje haciendo juegos sabe que lo más difícil de hacer uno, es terminarlo, y cuando empiezas todo es genial porque tienes muchas ideas que te parecen fantásticas, pero llevarlas a cabo se convierte en un trabajo tedioso.

Así que llegados a este punto, si eres desarrollador o te gustaría serlo, participar en una jam se podría considerar una prueba de fuego para saber si de verdad te quieres dedicar a esto el resto de tu vida y si una vez terminada, la has disfrutado y conseguido terminar el juego, puede significar que seas uno de los pocos elegidos para dejarte la vida haciendo videojuegos, ganando poco dinero e invirtiendo muchas horas :P.
Para mí, fue una gran experiencia. Aprendes un montón, te presionas a ti mismo para rebasar tu límite y trabajar a un ritmo y con unos métodos que hasta ese momento jamás habías tenido en cuenta. Lo recomiendo para todo aquel que quiera dedicarse a hacer videojuegos, al menos, una vez.

Podéis consultar los proyectos que se realizaron y ver la clasificación en el siguiente enlace.

Para terminar, resaltar que nuestro proyecto quedó en tercera posición, y estamos muy contentos con el resultado. Nos fastidia un poco no haber podido llegar a más con este juego y haber tenido que acotarlo tanto y dejarlo en una muestra de lo que podría haber llegado a ser con algo más de tiempo, pero la sensación final es de satisfacción.
Os animo a jugarlo, es muy cortito y sencillo. Yo lo definiría más como una experiencia, que como un juego al uso. Os dejo un enlace para jugarlo online.

lunes, 1 de diciembre de 2014

Prácticas en Emegeme


Hace aproximadamente 1 mes que inicié la asignatura de prácticas en empresa.
Dada mi situación actual (Trabajo en horario nocturno en una estación de servicio), no dispongo de demasiado tiempo libre para realizar estas prácticas, y la única propuesta que se ajustaba a mis necesidades era en Emegeme.
Si bien puede parecer que me vi forzado a elegir esta empresa, la realidad es que de todo el elenco de propuestas disponibles era la que más me interesaba.

Llegados a este punto me gustaría hacer una reflexión sobre estas 4 semanas de prácticas.
Emegeme es una empresa que está arrancando y quizás es gracias a esto que me siento más a gusto. Estoy participando de 0 en la creación de varios proyectos, uno en particular, pero también meto las narices en el resto de cosas que andan haciendo mis compañeros. Y realmente es algo que me gusta porque cuando termine estas prácticas, espero sentir que he aportado algo de ayuda, a parte de recibir formación, que en estas cuatro semanas ha sido mucha.

Elegí Emegeme porque iba a tocar mucha programación, pero olvidémonos de Unity y demás entornos gráficos que te facilitan la vida una barbaridad. Aquí, estoy aprendiendo a programar "a pelo".
Ha sido una manera de forzarme a aprender algo diferente a lo que estoy haciendo en el proyecto de final de curso. Y aunque está siendo duro el ritmo que me obligo a mantener (clases, prácticas y trabajo), es curioso como los fines de semana tengo ganas de que llegue ya el lunes para volver de nuevo al lío, y es que no dedico el tiempo suficiente, algo que espero cambie en los próximos meses.

Cambiando de tema, hace unos días recibí una oferta para un proyecto que tiene muy buena pinta. Sentí como todo el esfuerzo dedicado en estos dos años empezaba a dar sus frutos, y aunque todavía no hay nada decidido, he de decir que estoy muy entusiasmado y tengo muchas ganas de empezar.

Hasta la próxima,
S.


lunes, 13 de octubre de 2014

Cinnamon Works


Me gustaría presentar mi nuevo blog de forma clara y concisa, cual será su contenido y su objetivo principal.

Bien, este blog será dedicado por lo general, a mi trayectoria profesional como GameDesigner y programador de videojuegos. Por lo tanto, su contenido estará directamente relacionado con mis andaduras por este sector.

Hablaré de mis trabajos, presentaré proyectos y daré mi visión de este mundo, de la gente con la que me relacione, etc. Así que es probable que os encontréis alguna noticia más técnica o profesional, y otras más personales o de opinión.

También dedicaré una página de la web a presentar mi portfolio. Planeo añadir desde trabajos como programador y diseñador, pero también modelos 3D, animaciones y cualquier habilidad que pueda mostrar, aunque mi perfil profesional está más enfocado a la programación.

En otra página añadiré mis datos de contacto para quien quiera ponerse en contacto conmigo para tratar cualquier asunto relacionado con el blog (o no).

Para acabar, me gustaría mencionar el proyecto en el que nos hemos enfrascado mis compañeros de CinnamonWorks y yo. 
Se trata de un proyecto de final de curso, que realizamos para desarrollar nuestras habilidades y aprender. Igualmente le estamos poniendo mucho empeño y cariño para realizar un videojuego a la altura de nuestras espectativas. 
Podéis seguir todos sus avances en nuestra web www.cinnamonworks.net

Un saludo,
S.