jueves, 30 de marzo de 2017

Pack de peces en la Asset Store de Unity.

Nos llena de orgullo y satisfacción deciros que... ¡estrenamos página en la asset store de unity!

Si nos lleváis siguiendo un tiempo, conoceréis que para nuestro primer proyecto, Torii, realizamos un pequeño riachuelo con su estanque donde se podían ver pececillos típicos de Japón. En concreto, nuestra idea era simular a las conocidas carpas Koi.

Decidimos hacer unos cambios para mejorar su comportamiento y aspecto y ponerlos en la asset store a un módico precio. Aunque sabemos que no nos sacará de pobres creemos importante poner un precio para valorar el trabajo que ha habido detrás, pero a la vez, poner algo lo suficientemente asequible como para que alguien que intenta crear sus pequeños proyectos pueda acceder al recurso sin arruinarse.

Tomamos esa decisión porqué cuando tuvimos que hacerlos nosotros nos llevó su tiempo y si hubiéramos encontrado algo así ya hecho probablemente hubiéramos comprado el pack; siempre y cuando no fuera un precio excesivo para nuestro bolsillo.

Ya hablamos sobre el tema de los recursos (tanto gratuitos como de pago), y de lo útiles que pueden llegar a ser.

El pack de los peces consiste básicamente en la programación de su comportamiento aunque hemos añadido elementos para poder probarlos y/o utilizarlo si no se tiene el modelo en 3D ni la animación. Así pues, el pack incluye:
  • Programación que define su comportamiento.
  • Modelo en 3D con la animación del movimiento básico del pez.
  • 5 texturas cartoon distintas para los peces.
  • Escena de prueba con varios peces.


No es necesario usarlo todo tal como viene. Cualquiera que compre el pack podrá aplicar el script a cualquier modelo que tenga previamente; no tiene porqué usar nuestros peces. Pero si quiere, también los tiene. Y como los modelos tienen sus UV hechas, podrán crear sus propias texturas y usarlas si no les convencen las nuestras o quieren darles otro estilo.

Añadimos una escena para poder crear un ejecutable web, así cualquiera podrá verlo en acción. Además, el usuario que no sepa como usar los modelos y el script, podrá usar la escena como prefab y jugar con ello para aprender como funciona.

Os dejamos el resultado de esa escena, por si queréis verlo.

lunes, 27 de marzo de 2017

Atrezzo III. Árboles y parques.

Como en ocasiones anteriores, hoy os traemos más atrezzo mientras seguimos avanzando en el proyecto lo suficiente como para poder hablar de novedades relativamente destacadas.

Así que esta semana, toca relax y disfrutar de nuevas vistas hacia nuestra encantadora ciudad lowpoly.

Hemos modelado diferentes tipos de árboles para dar un mínimo de variedad. A parte, hemos creado distintos atlas de texturas para poder cambiarles el color de forma rápida desde el mismo unreal, que si aún no os habéis enterado nos hemos cambiado hace poco a este motor gráfico.

Así pues, hemos modelado árboles para la ciudad en general y pequeños parques:
Árboles para parques pequeños y la ciudad.



También hemos modelado árboles más frondosos para parques más grandes y bosques:
Árboles para parques grandes y bosques.


Y para dar diferentes colorido a los árboles, como hemos avanzado, hemos usado distintos atlas de colores:
Atlas de colores para los árboles.
Así, podríamos "colorear" los árboles en distintas tonalidades y obtener estos otros:
Las diferentes posibilidades de color de los árboles.




Y para los parques pequeños, hemos modelado parcelas que tienen el mismo tamaño que las piezas de aceras hechas en nuestro puzzle 3D, para poderlas sustituir fácilmente y poder crear parcelas de 1x1, 2x2, etc. De momento, hemos hecho estas 3 piezas, aunque será fácil añadir más variedad:
Piezas de parques.

Esperamos que os haya podido resultar interesante :).

lunes, 20 de marzo de 2017

Tutorial. Crear un vehículo (Wheeled Vehicle) en Unreal 4.15.

En la entrada anterior donde dijimos que migrábamos a Unreal Engine hicimos referencia a uno de los principales problemas que encontramos al hacer la migración y que afectaba directamente a nuestro juego, aunque finalmente lo pudimos solucionar.

El problema está relacionado con los Wheeled Vehicles de Unreal en su versión 4.15 cuando el coche es creado desde Blender. En esta entrada vamos a compartir un tutorial que hemos hecho para que gente que se encuentre en nuestra misma situación le sea de utilidad, ya que por Internet no encontramos ninguno dónde detallara todo el proceso para esta versión de software.


El software utilizado en el tutorial es el siguiente:
  • Blender 2.78a: Para modelar el coche y crear el esqueleto (rig) para las físicas.
  • Unreal Engine 4.15: Para crear el comportamiento del coche dentro de nuestro juego.
A continuación mostramos el vídeo, subtitulado al inglés y español. Si ya tenéis experiencia con blender no tendréis problema en seguir el video. Si no es así, es posible que tengáis que ir pausando el vídeo para entender mejor que se está haciendo, ya que algunas partes van bastante rápido. Y si tenéis alguna duda, ¡preguntad sin miedo!.



Descárgate el archivo gratis:
En el vídeo se hace referencia al rig del coche como parte fundamental para poder crear correctamente la simulación del vehículo. Os dejamos el enlace de descarga a continuación. Sólo os pedimos que si queréis os podéis suscribir dándonos vuestro mail mediante el formulario que encontraréis en la parte superior de columna de la derecha. Mediante este sencillo gesto, nos ayudaréis muchísimo a seguir con el blog y a cambio sólo recibiréis notificaciones cuando haya un artículo nuevo. Es decir, no lo usaremos para enviaros SPAM.



Download the free file:
In the video we talk about the car rig as an important part in the process to create correctly the vehicle simulation. We give you the download link below. Only we make you a request. If you like the content of the video you can subscribe to our blog through the form that it is in the top of the right column. With this simple step you can help us a lot to continue with the blog and the youtube channel. In return you'll only receive the notifications of new content in the blog. So, we never use your mail to send you SPAM.


Esperemos que os haya sido de utilidad y nos vemos en la siguiente entrada :-).

lunes, 13 de marzo de 2017

Unity 5 vs Unreal Engine 4. Migramos a Unreal.

Ya está. Sin rodeos. Como cuando te quitas una tirita. No hay dolor!

Y no, no nos hemos vuelto locos... aunque cualquiera lo podría pensar teniendo en cuenta que no disponemos de mucho tiempo para desarrollar el juego, menos aún si nos ponemos a probar cosas por en medio :D.

Pero nos picó la curiosidad, y a diferencia de con Torii, el único motor que nos hacía tilín y era gratuito fue Unity. Así que cuando salió Unreal Engine para todos los públicos, aunque lo probamos por encima, ya habíamos empezado con el otro y decidimos seguir con él por ser simplemente con el que empezamos y aprendimos.

Como prácticamente no hemos tocado Unity todavía para el nuevo proyecto, ya que casi todo ha sido modelado 3D y diseño, nos hemos decidido a darle una oportunidad a Unreal para ver si realmente valía la pena cambiar de motor o, por el contrario, quedarse con el actual.

Finalmente, y después de muchas pruebas y muchos problemas que nos hemos encontrado (por nuestra poca experiencia con el motor), los hemos podido solucionar y creemos que las ventajas que nos ofrece frente a los inconvenientes son suficientemente interesantes como para dar el paso.

La versión que utilizaremos será la 4.15, la última disponible a día de hoy y la que ofrece más posibilidades.

Llevamos pocos días con este motor, pero a continuación vamos a listar las cosas buenas y malas que hemos encontrado durante estas pruebas. Todo esto siempre bajo nuestro criterio y teniendo en cuenta que el único otro motor que hemos probado ha sido Unity y solo para una pequeña demo jugable de un simple escenario, pero trasteamos lo suficiente con él para poder valorar posibilidades.

Para empezar, las cosas buenas:
  • Es gratis. Si no fuera gratis, ni nos hubiéramos planteado probarlo, porque como sabréis, nuestra dedicación es mínima (ratos libres) y tampoco nos podemos permitir comprar la licencia de un motor así. Cabe decir que es un poco trampa la palabra "gratis". Porque una vez haces un juego y obtienes beneficios, a partir de los $3000 ganados, los señores de Unreal se llevan una comisión del 5%. Que oye!, tampoco está tan mal :D.
  • Es un motor robusto. Durante estos días de pruebas, no ha crasheado ni una vez. Algo que en parte debería ser normal, pero en cambio con Unity nos pasó varias veces y es molesto (algunas veces salia la típica ventanita de critical error sin saber porqué, o cuando entrabas te decía que el layout no se había podido cargar y te ponía el que viene por defecto).
  • Sistema de iluminación. Aunque en las últimas versiones Unity ha mejorado el sistema de iluminación y ha introducido la iluminación global (GI o Global Illumination), no nos terminaba de convencer como nos estaba quedando. Y lo peor, esa sensación de no saber qué hacer para mejorar el resultado. En cambio Unreal por defecto lleva una iluminación más realista y más acorde a lo que estamos buscando. Seguramente con Unity al final se puede dejar algo parecido, pero es un trabajo añadido si lo comparamos con Unreal donde te lo da prácticamente hecho.
Escena renderizada con Unreal Engine 4.
  • Los Blueprints. Con la versión 4 de Unreal también sacaron la novedad de la programación con blueprints, la cuál es otra manera de programar prácticamente cualquier funcionalidad que pueda tener tu juego pero sin picar código. Todo se hace de manera visual con nodos y conexiones entre ellos. Está claro que para realizar algoritmos complejos o funcionalidades dónde se requiera mucha optimización hacerlo en C++ siempre será mejor. Pero para funcionalidades básicas, los blueprints són muy útiles.
Programación básica de un coche con blueprints.
  • El Editor. Hasta donde hemos probado, el editor de Unreal parece más completo que el de Unity. Tiene muchas pequeñas utilidades que muchas veces echas en falta y no sabes porque no vienen por defecto con el motor. Por ejemplo, poder colocar objetos en el escenario y que automáticamente se alineen a un grid predefinido es algo muy útil cuando, por ejemplo en nuestro caso, tienes que crear unas carreteras en formato de cuadrícula. Y así con otros muchos pequeños detalles donde se nota que Unreal está algo más trabajado que Unity. Decimos lo mismo que antes, seguro que con Unity al final puedes hacer lo mismo, ya sea programando un script o consiguiéndolo por Internet, pero cuantos más añadidos útiles tenga un motor por defecto, mejor.
Editor de Unreal Engine 4.
  • Los Wheeled Vehicles. Sí, aunque parezca mentira, y luego ya veréis porqué, el sistema de vehículos de Unreal está mucho mejor hecho que en Unity, dónde en éste último, prácticamente lo tienes que programar todo para hacer un vehículo con unas físicas decentes (viene con unos wheel colliders, pero són algo justos para nuestro gusto). En cambio Unreal viene con un componente específico para crear vehículos, el cuál viene con muchos parámetros por defecto, como por ejemplo, la tracción de las ruedas (delante, detrás o en las cuatro), marchas manuales o automáticas, configuración de ruedas y fricción dependiendo de la superficie por dónde rueda, torque del motor, freno de mano, suspensiones, diferencial, etc.
Creación de los colliders para un coche.

Pero eh!, no todo es bueno. Ahora, las cosas más reguleras:
  • El lenguaje de programación C++. Esto es algo personal, pero una vez probada la programación en C# de Unity, lo preferimos antes que el C++. Aunque este último es algo más rápido para algoritmos que necesiten mucho procesamiento, pero menos amigable.
  • El rendimiento del Editor. En este caso, el editor de Unreal pide mas recursos gráficos que el de Unity. Tanto en el ordenador de sobremesa como en el portátil, hemos notado que los ventiladores soplan más con el Unreal que con Unity, por lo que es algo a tener en cuenta, pero tampoco nada preocupante. Además del espacio ocupado en disco, que aunque no sea algo muy importante en los ordenadores de hoy en día con lo poco que cuesta el almacenamiento, estamos hablando de 3 veces más de espacio; 15GB por los 5GB que pide Unity.
  • Hacer funcionalidades fuera de lo común. Aunque no es algo que hayamos experimentado nosotros mismos, o al menos hasta el momento, hemos leído algunas opiniones en foros dónde comentan que Unreal está muy bien si quieres hacer funcionalidades típicas que te puedas encontrar en un juego, pero si te quieres salir de aquí el desarrollo de estas funcionalidades en C++ es muy tedioso.
  • Desarrollo en 2D y móviles. En este caso, y por lo leído en varios artículos, Unity es mejor motor para realizar juegos en 2D y juegos móviles que requieran poca carga gráfica. En cambio Unreal es ideal para juegos que tengan que lucir muy bien gráficamente.
  • Los Wheeled Vehicles. Sí, otra vez los volvemos a nombrar. Igual que antes hemos comentado las cosas buenas que tienen, ahora vamos a comentar las malas. Y es que durante estos días de pruebas nos hemos encontrado muchos (y cuando decimos muchos, son muchos... pero muchos... pero muchos, muchos... basta!) problemas para encontrar el proceso correcto de creación y funcionamiento de un simple vehículo. Al final hemos podido encontrar un proceso correcto para crearlos, pero aún así, no estamos del todo satisfechos, porque hay una parte, concretamente la del rig del coche, que aún no sabemos qué hacer para que funcione correctamente y tenemos que usar un rig que nos facilitaron muy amablemente para poder tirar adelante con este tema. En una próxima entrada entraremos con mucho más detalle sobre este tema y publicaremos un tutorial de como crear un coche modelado en Blender e importado a Unreal en su versión 4.15.
Y hasta aquí los pros y contras que hemos ido encontrando estos días. Seguro que mientras vayan transcurriendo los días iremos encontrando más cosas buenas y más cosas malas, pero de momento esto es lo que hay, que no es poco :-).

Si alguien lee esto (hola?... eco... eco... eco...) y está con Unity y le pica la curiosidad para probar Unreal, le recomendamos primero que no se quede sólo con la opinión de esta entrada, sinó que lea más críticas que pueda encontrar por Internet. Por ejemplo, recomendamos este artículo donde detalla bien los pros y contras de cada motor gráfico.

También recomendamos este artículo de la propia documentación de Unreal dónde explica las similitudes entre Unreal y Unity. Muy útil.

Esperamos que este artículo os haya resultado interesante, y recordad que en próximas entradas detallaremos mucho más el tema de los Wheeled Vehicles y empezaremos a mostrar el progreso del juego en este nuevo (para nosotros) motor.

ACTUALIZACIÓN 1: Unas semanas más tarde hicimos una nueva entrada dedicada a la migración a Unreal Engine, comentando más impresiones. Podéis seguir con la lectura en el siguiente artículo.

ACTUALITZACIÓN 2: Posteriormente hemos realizado también una nueva entrada de blog hablando solo de la programación con Blueprints. Os aconsejamos la lectura si os interesa el tema :-)

lunes, 6 de marzo de 2017

Mapa IV. Sistema de carreteras en 3D.

Como si de grandes ingenieros de caminos se tratara, nos hemos puesto a crear el sistema de carreteras en 3D del mapa que ya avanzamos hace unos meses.

Ahora ya podemos decir que... nos alegramos de haber estudiado otra cosa :_D. Ha sido un auténtico infierno. El problema no es tanto la dificultad, cualquiera que lea esto pensará "jo! que exagerados sois". Y, efectivamente, lo somos. Pero si no podemos desahogarnos en el blog, ¿dónde lo haremos? ¿quién nos aguantará?

Una vez más, el tiempo limitado que nos obliga a trabajar en el proyecto a ratos, hace que cuando le pillas el truco, tengas que esperar una, dos o tres semanas para continuar con ello.

Y cuando hablamos de algo que es más de paciencia y pensar, cuando llegas al punto que ya sabes por donde vas, se hace más tedioso trabajar de fin de semana en fin de semana. Porqué al final solo se trata de un trabajo en cadena, y cuando retomas el tema, ya no te acuerdas de como iba.

Pero bueno, ¡basta de lloros!. Vamos al lío y a explicar como hemos hecho las carreteras.

A partir del puzzle que nos hicimos en 2D (y que podéis descargar aquí gratuitamente) nos pusimos a crearlo en 3D.

Primeramente, hicimos tal cual el modelo en tres dimensiones. Es decir, copiamos exactamente cada pieza y le dimos volumen. Que básicamente se trató de subir la parte de la acera. Después, ajustamos los vértices con la herramienta snap de blender para que al montar cualquier circuito de prueba, coincidiera perfectamente y no se vieran desfases.

El resultado fue este:
Carreteras con acabado recto en 3D.


Pero este sistema no era correcto, porqué al igual que con las piezas en 2D, los ángulos eran rectos. Porqué lo que parece que puede funcionar en una pieza con la carretera recta como esta:
Coches en carretera recta.


En esta otra pieza, donde hay una curva en ángulo recto, puede dar problemas cuando el jugador quiera girar:
Problema al girar con los coches en carreteras con acabado recto.


Por lo tanto, tuvimos que volver a diseñar las piezas y añadir cantos redondos en todas esas zonas que pudieran dar problemas. ¡Bye bye piezas de solo 5 polígonos!

Finalmente, cuando creíamos que ya estaba todo ajustado, lo probamos en unity. Cabe destacar que lo que parece que en blender funciona, en unity se nota si hay cualquier desfase, aunque estemos hablando de un píxel.

Al darnos cuenta de este detalle, donde se podía ver que las piezas parecían no coincidir en todos los vértices, volvimos a blender y tuvimos que usar de nuevo la herramienta snap en cada punto. Esta vez con el zoom a tope. Al final, conseguimos una primera versión que funcionaba y con los cantos redondos.

Y después de texturizar, obtuvimos este resultado:
Vista cenital de las carreteras redondeadas y texturizadas.













Vista en perspectiva de las carreteras redondeadas y texturizadas.


Probablemente tengamos que volver a texturizar porqué no estamos seguros de como quedan las intersecciones en las piezas más complejas, pero de momento, nos vale.

¡Chúpate esa Calatrava!