viernes, 31 de octubre de 2014

Ataque del personaje: Sistema de partículas

El héroe tiene que poder atacar al veneno. Ante la falta de tiempo, para la versión alfa decidí cambiar el tipo de ataque. Tenía la animación de levantar la mano y tenía que salir algún tipo de ataque de la mano, sabía que lo iba a hacer con un sistema de partículas pero no sabía bien cómo lo quería.

Llamarada

¿Y qué es un sistema de partículas? En gráficos se basan en los sistemas de partículas físicos, con representación por sprites. En la práctica, podemos hacer un efecto visual, basado en cientos o miles de sprites. Cada partícula es un cuadradito plano con una textura, digo bien, un sprite; que podemos hacer que se mueva, cambie, nazca, muera etc. Para ser precisos, no tienen porque ser spirtes, pueden ser mallas pequeñas en 3D, pero yo todas las que he visto son con sprites.


viernes, 24 de octubre de 2014

Sobre el control de los juegos 3D

Voy a pasar a comentar la forma de ataque del personaje. En los siguientes artículos explicaré cosas más técnicas, pero en éste voy a hablar de cosas más teóricas, reflexiones que estoy haciendo, incluso divagar sobre los controles en los juegos.

A la hora de jugar a la alpha de Temet Nosce encuentro que atacar a los enemigos es difícil, no porque ellos opongan mucha resistencia, sino porque el sistema de control es desesperante a veces, acabas frustrado. Esto me ha llevado a pensar mucho en los controles.


Metal Slug

Partiendo de los juegos en 2D, juegos como Contra o Metal Slug. Nos podemos mover a izquierda o derecha con los lados de la cruceta. No podemos movernos libremente hacia arriba o abajo, eso lo da la gravedad por un lado, y desde el punto de vista del control tenemos un botón de salto. Es decir que todo el movimiento del personaje se limita a 3 botones: izquierda, derecha y salto. Por otro lado podemos disparar. Siempre en la dirección que estamos mirando, no podemos disparar de espaldas, lo que es hasta lógico, pues no podrías apuntar. Pero no tenemos por qué disparar siempre en plano. Los botones de arriba y abajo de la cruceta nos ayudan a apuntar el disparo en vertical. Así pues tenemos mezclado en la cruceta el movimiento del personaje y la dirección del disparo, aunque en vertical si podemos desligarlo, con el botón de salto, saltando (movimiento hacia arriba) mientras disparamos hacia abajo. Es un sistema de control que con pequeñas modificaciones se universalizó en los shooters y plataformas 2D durante los 80 y los 90, que es intuitivo y sencillo, una cruceta y 2 botones para moverse y disparar como queramos. Y si está bien equilibrado cogeremos el control desde muy pronto, y el juego podrá ser difícil, pero no podremos echarle la culpa a los controles.


viernes, 17 de octubre de 2014

Túnel wormhole: Hipervelocidad

Me quedaba de hablar del tercer efecto de túnel, el que estaba basado en el salto al hiperespacio en La guerra de las galaxias. No me gusta el resultado, es más, no lo usaré en la versión definitiva del juego. El tiempo que tenía para hacer este efecto fue muy pequeño, ya tenía que acabar de hacer la memoria y el video demostrativo, así que probé varias cosas que tenía en mente y dejé lo más parecido a lo deseado.



Hipervelocidad Star Wars


La primera idea era conseguir hacerlo de forma completamente procedural con shaders. Tomando como ejemplo este shader de toyshader: https://www.shadertoy.com/view/Msl3WH Os funcionará si tenéis un navegador que soporte webgl. Algo como lo de ese shader, pero para conseguir un efecto más cercano a Star Wars.




miércoles, 8 de octubre de 2014

Ragdolls en Unity3D

La entrada de hoy es una introducción y un pequeño tutorial al uso de un elemento muy habitual en juegos, el ragdoll. ¿Y eso qué es? Físicamente lo más parecido que podemos pensar son los dummys para las pruebas de choque en vehículos. 


En un juego, si tiramos a un personaje desde 1000 metros y hay gravedad caerá, pero depende como esté hecho, caerá de pie, o rebotará y caerá de lado, pero como un todo, como si fuera una estatua. Es muy poco realista. Imaginemos que un personaje recibe un tiro, y cae como un pisapapeles al suelo, la risión. Y ahí es donde entran los ragdoll, son sistemas que se encargan de hacer que las caídas de un cuerpo no animado sean naturales, que un brazo vaya por un lado y el otro por el otro, que se le doblen las rodillas al caer...




lunes, 6 de octubre de 2014

Túnel wormhole: 2001

El segundo efecto túnel que quería conseguir es la famosa escena de 2001: una odisea del espacio, no he encontrado el vídeo con la música original de la película, y puestos a elegir una sustitución me ha gustado este con Daft Punk. El túnel empieza como por el minuto 3. Aunque sea del final de la película lo podéis ver sin miedo a que haya spoilers, en general podéis ver cualquier trozo de 2001 sin spoilearos, porque ni viendo la película entera vais a estar seguros de qué va, qué ha pasado o cual es el mensaje. Se han escrito libros enteros al respecto, así que viendo 5 minutillos no pasa nada.






El efecto es maravilloso, del año 68, y todavía creo que es la escena con efectos especiales que más ha llenado una pantalla en la historia del cine. Se te llenan los ojos de colores, ver eso en un cine es maravilloso, una explosión sensorial. He intentado acercarme a la primera parte del túnel, la que es vertical, y he cogido ciertas características a imitar, sabiendo que no podría conseguir el mismo efecto exacto en el tiempo que tenía. El túnel vertical, que cada pared, izquierda y derecha pueda tener características diferentes, o colores distintos y que por las paredes no solo venga color de fondo, sino también líneas de otros colores.



Túnel 2001


sábado, 4 de octubre de 2014

Túnel wormhole: Coraline

Voy a pasar a comentar los 3 efectos que quería conseguir en el túnel. El primero es el de la película de Coraline. Me venía bien la propia forma conseguida en el túnel geométricamente. El primer paso era colorear el túnel y lo hice de forma procedural, mediante shaders.

Coraline

Para los profanos en informática gráfica: un shader es un pequeño programa que se ejecuta en tarjeta gráfica en una parte concreta del cauce de cálculos gráficos. Al ser la gráfica en realidad ciento de procesadores paralelos, cada uno tiene conocimiento de lo que esté manejando (su vértice, un fragmento a pintar...), pero no de los demás. Y podemos pasar una serie de parámetros desde el programa principal (cpu) al shader para que cambie su comportamiento. Acabo de resumir meses de estudios en un párrafo, pero espero que os hagáis una idea.

Túnel temet nosce