lunes, 23 de diciembre de 2013

Resumen del 2013

Falta poco para que termine este 2013 y comience el que sería 5º año de escribir en el Blog (no sé si celebraré de alguna forma los cinco años o se me olvidará, como siempre). Llega por tanto el momento de hacer un repaso a lo hecho este año para poder planificar que quiero para el siguiente (aunque luego no se cumple todo).

Animación

Las mayores carencias en mi formación y en el propio Blog están en este apartado.

Escribí un pequeño post sobre como suelo hacer las cosas usando rotoscopia: http://creadorvj.blogspot.com.es/2013/09/tecnicas-de-animacion-rotoscopia.html

El año próximo intentaré hablar un poco más de esta parte de la creación de videojuegos.

Producción 

En la parte de producción quise seguir aportando consejos desde mi humilde experiencia. Por ejemplo, hablando desde el punto de vista de un desarrollador amateur-independiente, expuse mis pensamientos sobre como idear un nuevo proyecto: http://creadorvj.blogspot.com.es/2013/06/ideando-un-nuevo-proyecto.html

Proyectos 

No ha estado mal el año en este sentido, aunque planeaba hacer un poco más y evolucionar un poco m´sa en calidad. Por desgracia surgen problemas que te retrasan, cambios de planes y trabajos con los que no contabas, sin mencionar que no todos los proyectos terminan bien.

El año empezó con un pequeño proyecto llamado Demon's Maze de un solo nivel, que realizaría para el concurso de videojuegos de Toodaim Blog (con GameMaker). Aunque era solo un nivel muy corto, la idea me gustó y se quedó como un posible desarrollo futuro (añadiendo algunas mejoras), por lo que fue interesante mi participación aunque no ganara.

http://creadorvj.blogspot.com.es/2013/01/concurso-de-videojuegos-con-gamemaker.html

Pude participar como diseñador gráfico en un juego sencillo de puzle desarrollado para Android por el programador Juan Iñiguez (Mess: Simple Puzzles). Este se publicó en Google Play Store, aunque eso sí, con resultados menos exitosos de lo que esperábamos. Para analizar que me gustó del proyecto y que consideré que salió mal, hice también un post-Mortem del juego.

Enlace de descarga: https://play.google.com/store/apps/details?id=com.movidev.mess#?t=W251bGwsMSwyLDIxMiwiY29tLm1vdmlkZXYubWVzcyJd

Post-Mortem: http://creadorvj.blogspot.com.es/2013/10/posmortem-mess-puzzles.html

Mi juego creado íntegramente por mi (gráficos, programación, música, etc.) fue Memory GCards, que conseguí publicar para Android. Fue mi primer proyecto sencillo en una plataforma distinta del PC o la Web, así que quise que fuera un desarrollo cortito del que haré un Post-Mortem el año próximo.

Post: http://creadorvj.blogspot.com.es/2013/10/proyectos-memory-gcards-android.html

Enlace de descarga: https://play.google.com/store/apps/details?id=com.Perplex.GCards

Por otro lado estuve en algunos proyectos más que nunca llegué a comentar en el Blog o solo lo hice de pasada por diversos motivos. Por ejemplo, fui guionista de The Prisioner, un juego que pretendía obtener financiación a través del Crowfunding, pero que no resultó con la calidad suficiente como para conseguirlo. Participé como grafista-pixel artist en P.U. Pets, el videojuego de estrategia para Android que presentó un familiar como proyecto final de carrera. Finalmente, por último, empecé algunas colaboraciones y juegos en los que estoy trabajando ahora.

Guión 

La serie de técnicas de guión aplicadas a videojuegos se amplió un capítulo más gracias a En el bando opuesto: http://creadorvj.blogspot.com.es/2013/06/tecnicas-de-guion-aplicadas-videojuegos.html

Además me propuse hablar sobre los documentos que se suelen usar para desarrollar el guión de un videojuego y que nos ayudan a conseguir una mejor historia con menos fallos en el argumento por dejar menos a la improvisación e ir redactando ordenadamente y por partes.

Ficha de personaje 1: http://creadorvj.blogspot.com.es/2013/07/documentos-del-guion-de-videojuegos.html

Ficha de personaje 2: http://creadorvj.blogspot.com.es/2013/07/continuemos-con-la-segunda-parte-de.html

Ficha de escenario: http://creadorvj.blogspot.com.es/2013/08/documentos-del-guion-de-videojuegos.html

También quise hablar un poco sobre El diálogo: http://creadorvj.blogspot.com.es/2013/11/guion-el-dialogo.html

Diseño de juegos

Traté algunos asuntos sobre el diseño de juegos como las complejidades del diseño asimétrico: http://creadorvj.blogspot.com.es/2013/09/diseno-de-juegos-complejidades-en-el.html

En mi serie de géneros de videojuegos traté algunos de ellos.

Simuladores deportivos: http://creadorvj.blogspot.com.es/2013/02/diseno-de-juegos-generos-simuladores.html

Shoot'em up: http://creadorvj.blogspot.com.es/2013/06/diseno-de-juegos-generos-shoot-em-up.html

Puzzle: http://creadorvj.blogspot.com.es/2013/07/diseno-de-juegos-generos-puzzle.html

Cartas: http://creadorvj.blogspot.com.es/2013/08/diseno-de-juegos-generos-juegos-de.html

Subgénero de Aventura gráfica: http://creadorvj.blogspot.com.es/2013/12/diseno-de-juegos-generos-aventura.html

También continué este año con la serie de documentos de diseño de videojuegos, con algunos que no había comentado el año anterior y que pueden ayudarnos a organizar mejor nuestro trabajo diario de desarrollo.

El checklist: http://creadorvj.blogspot.com.es/2013/02/diseno-de-juegos-el-checklist.html

Y como no, quise hablar de una parte del diseño a la que en ocasiones no damos la importancia que necesita. El diseño de GUI: http://creadorvj.blogspot.com.es/2013/12/diseno-de-gui-o-hud.html

Grafismo 3D 

Inicié mi serie sobre modelado 3D desde un nivel básico, incluyendo también post sobre texturas para los modelos que iría creando. Esta serie además, quiero continuarla durante el año siguiente.

Modelado del libro de hechizos: http://creadorvj.blogspot.com.es/2013/11/modelado-low-poly-desde-nivel-basico.html

Textura del libro de hechizos: http://creadorvj.blogspot.com.es/2013/11/modelado-low-poly-desde-nivel-basico_30.html

Quads vs tris: http://creadorvj.blogspot.com.es/2013/11/modelado-low-poly-quads-vs-tris.html

Modelado de un jarrón: http://creadorvj.blogspot.com.es/2013/12/modelado-low-poly-desde-nivel-basico.html

Entender el mapeado de texturas: http://creadorvj.blogspot.com.es/2013/12/entender-el-mapeado-de-texturas.html

Libros 

El libro destacado de este año es Power-Ups: Conviertete en un profesional de los videojuegos. Un libro repleto de buenos consejos e historias de gente de la industria del videojuego que, además no requiere que tengamos conocimientos previos para poder leerlo.

Escrito por Juan P. Ordóñez, que además es participé de iniciativas como Juegoterapia, gracias a la cual se compran juguetes y consolas a los niños en hospitales, este libro me animó a continuar con mi sueño y me permitió saber mucho más sobre cómo funciona el mundo profesional de la creación de juegos.

Libro Power-Ups: http://creadorvj.blogspot.com.es/2013/11/libros-power-ups-conviertete-en-un.html

Se puede comprar en: http://www.marcialpons.es/editoriales/plan-b-editorial/5489/

Grafismo 2D 

No quise dejar de lado la parte 2D de los gráficos para videojuegos, por lo que continué tratando un poco por encima algunas cosas importantes en post como estos.

Componentes de un gráfico: http://creadorvj.blogspot.com.es/2013/03/skills-componentes-de-un-grafico.html

Pruebas de gráficos: http://creadorvj.blogspot.com.es/2013/10/pruebas-de-graficos.html

Tiles para crear escenarios: http://creadorvj.blogspot.com.es/2013/10/tiles-para-crear-escenarios.html

Formación 

Me propuse aprender Unity, el famoso y tan de moda actualmente, motor para Videojuegos 3D y 2D. Para conseguirlo me serví de la ayuda de Gametopia y sus cursos, en este caso, de Programación en C# con Unity + Inteligencia Artificial: http://creadorvj.blogspot.com.es/2013/06/aprender-unity-esta-vez-va-en-serio.html

Obtuve mi título de Grado Superior en Desarrollo de aplicaciones Web, para mejorar como programador y aprender a desarrollar Webs (Que de alguna forma también tiene similitudes con el mundillo de la creación de juegos.) http://creadorvj.blogspot.com.es/2013/06/y-ahora-que.html

Programación 

Me centré en C# y en el motor Unity, aunque durante este año también aprendí HTML5, Javascript y PHP. Sin embargo, lo que me permitió desarrollar varios prototipos de prueba de los que luego podría sacar algún juego definitivo en el futuro, fue el desarrollo mediante el que ya es mi motor de juegos favorito.

Prototipos en Unity: http://creadorvj.blogspot.com.es/2013/08/prototipos-en-unity.html

Gracias al curso de Gametopia también me inicié en la programación de Inteligencia Artificial para conseguir que los enemigos de mis juegos fueran más interesantes.

IA en Unity: http://creadorvj.blogspot.com.es/2013/09/formacion-inteligencia-artificial.html

El Blog 

Quiero ser creador de videojuegos entrará en su quinto año y ha ido creciendo sin parar en contenido y en visitas. (Realmente aun tiene muy pocas visitas y sigue siendo casi tan humilde como cuando empecé). Aunque sé que podría trabajar más en él y hacerlo crecer de verdad, eso implicaría dejar de lado lo que me mueve, que es la creación de juegos y además, dejaría de aprender, por lo que no podría seguir contando cosas nuevas. Por ello continuaré publicando más o menos dos veces por semana y contando mis avances. Y es que uno de los objetivos de esta Web es que me sirviera como repaso en mi carrera como creador y me ayudara a aprender, compartir y mejorar.

Tengo pendiente organizar las cosas un poco para que sean más fácil de localizar, pero eso ya es otra historia.

En conclusión 

Termino el año sabiendo muchas cosas nuevas, habiendo aprendido de nuevos errores, habiendo recordado y compartido cosas que sabia y que no quería olvidar, y sobre todo, dando un pequeño paso más hacia conseguir definitivamente mi meta final (o acabar de estrellarme, que nunca se sabe).

domingo, 15 de diciembre de 2013

Entender el Mapeado de texturas

El mapeado sirve para indicarnos como se proyectará o “envolverá” la textura sobre nuestro objeto 3D. Para entenderlo, tenemos que pensar en que hay que desplegar la malla del modelo hasta hacerla plana, tal como haríamos por ejemplo, con una caja de galletas que abrimos completamente y aplastamos para ver el dibujo con sus muñequitos, imagen de marca y todo lo que viene pintado en el cartón. Así, además, encontraremos zonas de corte donde la textura pierde su continuidad (seams o “costuras”, sobre lo cual podemos aprender algo más en un post anterior sobre mapeado de texturas).

Empecemos con las formas más comunes y básicas de mapear una textura sobre un objeto 3D.



Planar: Aquí, la textura es un plano que se aplica sobre el objeto, pero realmente no lo envuelve. Podemos imaginarlo como un papel de regalo rígido que solo tapa una de las caras de nuestra caja. Si lo ponemos sobre un papel, lo podemos cubrir por completo porque no necesitamos preocuparnos por los cantos (que son muy finos). Así, este tipo de mapeado es perfecto para aplicar a polígonos u objetos planos, pero no funciona bien en modelos con volumen.


Box: Una caja imaginaria envuelve nuestro objeto y proyecta la textura sobre el mismo. Ideal por tanto, para elementos con forma de caja. En este caso, existe el problema de que la textura se aplicará a cada una de las caras de la caja imaginaria y no se envolverá la imagen generando continuidad. Habrá repetición de la misma en cada cara.


Face: Se aplica la textura a cada cara del objeto, es decir a cada polígono que lo forma. De esta forma si nuestro modelado tiene 3000 Quads, por ejemplo, se repetirá la textura sobre cada uno de esos 3000 Polígonos.


Cylindrical: Con opción de cubrir las tapas o no. En este caso la textura se aplica sobre lo que serían las caras de un cilindro imaginario, quedándose una costura en alguna unión de las mismas, que sería la que nos permitiría desplegarlo y dejarlo completamente plano. (¿alguna vez habéis hecho recortables de figuras 3D de papel que luego había que montar para dar volumen? ¿Recordáis el cilindro?



Spherical: Suele deformar un poco la textura y deja una costura un poco fea en algún sitio de la esfera imaginaria que envuelve el objeto.


Unwrap: Esta es la más usada en videojuegos, básicamente porque es la que mejor funciona para establecer que coordenadas de la textura en 2D, se aplicarán a que coordenadas del objeto en 3D. Tenemos que trabajarla desplegando el objeto hasta dejarlo completamente plano, aunque para ayudarnos, en muchas ocasiones podemos partir de alguno de los métodos anteriores y seguir trabajando para hacer un “desplegado personalizado” del mapa sobre el que dibujaremos nuestra textura. Aquí tendremos que tener verdadero cuidado con las costuras o seams y disimularlas, debido a que para elementos complicados se suelen generar un montón de pequeñas piezas cortadas para poder “aplanar” bien el modelo sin que se produzcan deformaciones.

En caso de tener materiales generados que ya funcionan en 3D, no necesitamos recurrir a este tipo de mapeado si podemos apañarnos con los otros. Por ejemplo un color plano. Este tipo de materiales ni siquiera suelen generar discontinuidad, por lo que podemos olvidarnos de los seams, pero claro, nos limitan mucho, y para nuestros juegos casi siempre nos harán falta pintar texturas.

miércoles, 11 de diciembre de 2013

Diseño de GUI o HUD

Se conoce como GUI (Graphical user Interface) o HUD (Heads-Up Display) a los indicadores que aparecen durante el juego para informar al jugador de cosas como cuántas vidas le quedan, cuantos puntos ha alcanzado o en qué nivel está actualmente. Se trata de un elemento muy importante de nuestro proyecto, que en muchas ocasiones es menospreciado. Y es que, si la información no llega correctamente al usuario, si no lo hace de una forma atractiva, o si tapa demasiado la acción en la pantalla de juego, la GUI ya se puede considerar un auténtico fracaso para el encargado de diseñarla.
Además en los últimos tiempos, donde el desarrollo en dispositivos móviles con pantalla táctil está ganando terreno, se da el caso de que no hay botones físicos para jugar y hay que incorporarlos a la propia GUI del videojuego. Es por todo esto por lo que debemos dedicar tiempo a pensar que vamos a hacer y cómo, para que nuestro producto se comunique correctamente con el jugador durante la partida.

Algunos consejos:

- Utilizar el mínimo espacio  y, a ser posible, situar la interfaz en los lugares donde podamos prever que habrá menos acción durante la partida. Además en caso de tapar mucho, podemos hacer que el HUD sea transparente o que se oculte cuando no lo estamos consultando.

- Adaptarlo en integrarlo con la temática de nuestro juego. Por ejemplo si la cosa va de submarinos parece lógico que el diseño de nuestra GUI tenga muchos elementos metálicos, hechos de agua o que tengan que ver con el mundo de los submarinos y gente relacionada con ellos en general.

- En caso de tener que usar demasiados botones para nuestra idea en una pantalla tactil, deberíamos intentar eliminar algunos y hacer que esas acciones se realicen de forma automática sin necesidad de pulsar botones. Por ejemplo si queremos que el personaje salte y dispare pero solo queremos que haya un botón de acción para ocupar poco espacio en la pantalla, una solución puede ser que el salto se realice automaticamente cuando el protagonista se acerque al borde de un precipicio.

- Mostrar únicamente la información importante en el momento que el usuario necesite saberla. En este caso podemos imaginarnos una barra de vida que, para evitar que moleste, se oculte la mayor parte del tiempo. En el instante en que el personaje reciba daño, sin embargo, parece lógico que esta barra debe mostrarse para enseñar al jugador la cantidad de daño que se le ha causado.

- Crear algo bonito y “cool”. Ya que vamos a estar viendo todos esos dibujos en pantalla la mayor parte del tiempo, es mejor que lo que se muestre sea interesante y agradable. Nada de dejarlo para lo último y hacer cualquier diseño pasable. Los profesionales se pasan mucho tiempo diseñando esta parte del juego e incluso cambian de sitio o de aspecto cosas durante el desarrollo si ven que no funcionan.

- El mejor HUD es el que no está. Y esto lo leí en alguna parte que no recuerdo, pero es cierto que muchas veces el estado de inmersión puede ganar mucho si no hay nada entre el mundo de juego y el jugador, y una GUI siempre es una ventana intermedia. Si se nos ocurre una forma de que la pantalla este completamente libre y la vida del jugador sea el típico color cada vez más rojo que sale cuando nos disparan en un FPS o que las balas que nos quedan estén en el arma que lleva el prota, por poner algunos ejemplos conocidos, estaremos ganando muchos puntos para que quien disfruta de nuestro juego se meta realmente en la historia y la viva mucho más.

domingo, 8 de diciembre de 2013

Modelado Low Poly desde nivel básico: Jarrón

Esta vez vamos a centrarnos en un objeto también muy sencillo, pero elegido para ver un par de cosillas importantes en el modelado de videojuegos. Se trata de un jarrón, el cual tendrá varias piezas (la base y las asas) y que además se puede crear de formas distintas (dependiendo del software 3D que estemos usando). Con esto veremos que es necesario eliminar polígonos inútiles y que, en ocasiones, podemos obtener lo mismo de formas muy diferentes.


 Para empezar, si nuestro software de modelado maneja vectores y dispone de modificadores para ayudarnos a modelar, podemos optar por crear la mitad de la silueta del jarrón y usar una herramienta que la revolucione sobre si misma, creando la forma deseada. Por este método, eso sí, debemos controlar los parámetros para que no se nos genere una cantidad excesiva de polígonos.


El segundo método es un simple cilindro (escogeremos uno de 12 lados) al cual añadiremos segmentos en altura según necesitemos (si pasarnos) y, gracias al que, moviendo y escalando vértices en conjunto, es decir, grupos de vértices que forman un anillo completo del cilindro, obtendremos la forma base del jarrón.


Tendremos en ambos casos que rehacer los polígonos de la tapa y la base del cilindro-jarrón, para que tengan solo 4 lados y, después, insertar esos polígonos ligeramente hacia dentro para generar el agujero del jarrón a partir de una extrusión hacia su interior.



No modelaremos el interior del objeto, por lo que solo necesitamos un pequeño agujero hacia dentro que después pintaremos en la textura de color negro para que parezca que el interior está oscuro y no puede verse. (En este caso no nos interesa gastar polígonos en algo que no usaremos en el juego).

Ajustar los grupos de suavizado es algo que podemos hacer una vez terminada la base de nuestro jarrón. Con esto podemos conseguir que el objeto parezca más redondeado y con menos esquinas.


El modelado del asa puede hacerse de nuevo, mediante un cilindro que podemos modificar para darle la forma deseada moviendo vértices o, por ejemplo, usando una línea de tipo vector a la que daremos grosor y convertiremos en editable para poder ajustar sus vértices y dar unos últimos retoques.

El motivo para hacer las asas por separado a la base, es ahorrar polígonos. Así, en este caso se trata de formas independientes, ya que si sacáramos las asas mediante extrusión desde polígonos del jarrón, tendríamos que añadir más segmentos que en principio no queremos.


Las asas se introducirán ligeramente dentro de la geometría de la base, por lo que los polígonos de las tapas no se van a ver, así que los eliminamos.


Tras ajustar ligeramente el asa para darle una forma más interesante en las zonas donde se une al jarrón, la duplicamos y la espejamos horizontalmente para añadirle un segundo asa. Así podemos juntar las tres piezas en una sola forma y dar por terminado el modelado. (tras ajustar el suavizado de las asas también)


Finalmente colocamos una textura de tipo Checker para dejar el modelo listo para mapear en otra ocasión. !Continuará!

miércoles, 4 de diciembre de 2013

Diseño de juegos: Géneros: Aventura gráfica

La aventura gráfica no es realmente un género de videojuegos, es, tanto un subgénero dentro de la aventura, como también, una “evolución” de las aventuras conversacionales de los años 80 (similares pero únicamente con texto). Sin embargo, lo trato en esta sección por el especial cariño que le tengo a este tipo de videojuegos y porque me gustaría, con el tiempo, recopilar todos los géneros y subgéneros aquí en el blog.

Este tipo de productos consisten en la interacción de objetos y personajes para lograr solucionar una serie de puzles y problemas y poder ir avanzando en la historia, la cual es narrada en tercera o primera persona.

La aventura gráfica, para mí, siempre ha estado ligada a Lucas Arts y a Monkey Island, que fue el primer título de este tipo que disfruté de verdad, quedando enganchado a su humor y su gameplay del tipo point’n’click, en el que teníamos que elegir verbos o acciones para interactuar con objetos y personajes. Era sencillamente perfecto y nos hacia participes de una divertida e interesante historia en la que el protagonista, Guybrush soñaba con llegar a ser un pirata. (En la segunda parte ya lo era y era todavía más divertido).


En este tipo de juegos hay muchas cosas importantes, como puede ser un estilo gráfico uniforme e interesante, una buena historia (y bien narrada), unos personajes (sobre todo el protagonista) que nos entretengan y nos ayuden a superar los retos planteados y, hablando de esto último, unos puzles interesantes, que nos hagan pensar, pero no lleguen a ser imposibles o extraños. Y es que a todo el mundo se le puede ocurrir usar una llave con una cerradura para abrir una puerta, pero para que el jugador tenga que cerrar una llave de paso de agua con un mono, hay que guiarle un poco.

Respecto a mi experiencia con las aventuras gráficas ha sido muy extensa. (Como dije les tengo cariño y es uno de mis géneros o subgéneros favoritos). He jugado una gran cantidad de ellas, tanto en 3D como en 2D (mis favoritas), fui betatester del genial Pangea, de mi compañero Leandro García, e incluso participé en unos cuantos proyectos tanto en solitario (Piratebots) como en grupo, que, por desgracia, no llegaron a terminarse. Y es que el desarrollo de este tipo de juegos requiere de mucho tiempo y esfuerzo por el enorme trabajo gráfico, de guión, de música, sonido y animación que lleva encima. (La música y el sonido podemos simplificarlo un poco, pero sin buenos gráficos y animaciones el juego pierde mucho). Por otro lado, en el tema de la programación, siempre se ha dicho que es sencillo, aunque yo también apuntaría algunas dificultades. (Vamos que también tienen que trabajar los programadores, porque el juego solo no se hace)



Aconsejaría a aquellos que se embarquen en solitario o en grupos pequeños en el desarrollo de una Aventura Gráfica, que se preparen para dedicar mucho tiempo y esfuerzo en dibujar miles de fotogramas, escribir cientos de líneas de conversación e invertir meses y meses de implementar puzles de todo tipo. Y es que, aunque sea un modo genial de contar una historia y dejar al usuario vivirla, el crear este tipo de juegos requiere de muchísimo dedicación constancia y, durante un desarrollo, la euforia de los primeros momentos en los que tenemos la idea para nuestro videojuego, va desapareciendo paulatinamente si no vemos los resultados deseados con cierta prontitud. Por esto, si vais a hacerlo os animo, pero debéis estar seguros de que todos los participantes del proyecto vais a tener la paciencia necesaria y dejar aparcados otros proyectos hasta acabarlo del todo. (Ahora comprenderéis que, por este motivo, se ha puesto tan de moda sacar estos juegos por capítulos, para ir avanzando por metas y no estancarse).





sábado, 30 de noviembre de 2013

Modelado Low Poly desde nivel Básico: Textura del libro de hechizos

Después de modelar y mapear nuestro libro en post anteriores llega el momento de elaborar una textura sencilla para darle el aspecto final que deseamos y así poder usarlo dentro de un juego. Trabajaremos en un tamaño de 256x256 en esta ocasión (recordamos que las texturas deben tener un tamaño que sea potencia de dos (128x128, 256x256, 512x512, etc). Elegimos este tamaño por ser un objeto que no tendría mucha importancia ni uso, en el supuesto de que lo usáramos en un juego. Con esto podemos ahorrar memoria y reservarnos la nitidez para las texturas de objetos importantes (en los que se fijará más el jugador).


Guiandonos con las lineas del render del mapeado de la textura, comenzaremos por dar un color base a las piezas que tenemos. Podemos partir de una fotografía para tener más detalle, pero nunca será recomendable dejar la foto como está, hay que trabajarla siempre. En este caso usamos la foto para las páginas, aunque por el tamaño de la textura no se verá mucho el detalle finalmente.


Iremos añadiendo detalles y una pequeña capa de suciedad al libro. Siempre debemos pensar un poco en la historia del objeto, personaje, vehículo o escenario que estemos creando. Así decidiremos el uso que ha tenido, que zonas se han podido estropear más, si ha sobrevivido a alguna catástrofe que lo dejara tocado, etc.


Nuestro libro tendrá letras para el titulo en dorado y adornos metálicos un poco oxidados para las esquinas y el lomo. Debemos recordar que el oro no es amarillo, si no que tiene un tono marrón claro con poca saturación y algunos brillos y sombras que le dan ese aspecto metálico. Tras dar volumen y un poco de óxido y ruido a los adornos de metal, iremos consiguiendo lo que buscamos, teniendo en cuanta además, que aquellas piezas que se repitan se pueden duplicar sin problemas y ajustar su iluminación o variar sus detalles para que no se note que son exactamente los mismos pero girados o espejados.


Seguimos envejeciendo. Queremos más años. Igualmente añadimos algún detalle a la portada y borramos ligeramente el título para que parezca más usado. De tanto sacarlo y volverlo a colocar en la estantería ha debido de rozarse mucho con otros libros.


Manchas extra y los últimos detalles para portada, lomo y contraportada. Los bordes del libro es lo más gastado y ennegrecido, pero hasta parece haberse derramado algún liquido en alguna ocasión en este tomo que ha sufrido también algunos arañazos y ha sido bastante manoseado. Por último, no podemos olvidar añadir algo de sombreado a la parte en que las páginas se juntan con el lomo del libro.


En nuestro software 3D, tras aplicar la textura en el canal diffuse del modelo, tenemos el resultado final, que da el pego. No buscábamos algo excesivamente realista, si no con un toqué más de "dibujo". Aun así, basta un poco de trabajo para irnos hacia lo realista, e incluso podríamos trabajar un poco más rompiéndolo o ensuciándolo.


En este caso no me he ajustado muy bien a la hora de crear la textura en lo que se refiere a la situación de las manchas más oscuras de los bordes. Hemos de tener en cuenta donde quedan las líneas que nos indicaba el renderizado del mapa de textura (aunque conviene que sobrepasemos un poco esas líneas con el color para que no se puedan ver cortes). A pesar de este error, como he trabajado en un software de imágenes que me permite usar capas, puedo irme a la capa donde estaban las manchas o detalles que quedaron fuera del mapa de la textura y reescalar para colocarlos en su sitio.

¡Listos para pasar el modelo al motor 3D! En el futuro más, e iremos incrementando dificultad, calidad, técnica y complejidad de las texturas.

miércoles, 27 de noviembre de 2013

Libros: Power-Ups: Conviertete en un profesional de los videojuegos

Hace solo un par de días que me hice con este libro que acaba de salir y estoy encantado con las páginas que he leído, y es que no es el típico libro de cómo hacer videojuegos.

En algo más de 300 páginas, tenemos por un lado, las historias y consejos de desarrolladores de videojuegos de todo el mundo que nos hablan sobre qué formación tuvieron, como consiguieron su trabajo, que tareas tienen cada día, etc. Además, hay gente de todos los roles dentro de la industria, desde diseñadores de niveles hasta programadores, pasando por diseñadores de juegos, betatesters, animadores, modeladores, músicos… Por otro lado, se nos dan consejos para hacer un curriculum, montar una empresa Indie, afrontar nuestro primer día de trabajo, etc. Siempre en palabras de profesionales que ya han pasado por todo aquello que nos narran.

Sin duda alguien como yo (y seguramente también todos los lectores que paséis por este Blog), se siente identificado con la ilusión y las ganas de aprender de los profesionales que aparecen en el texto y, al mismo tiempo, es invadido por la esperanza de quienes, tras muchos años de esfuerzo consiguieron su sueño de participar en la creación de mundos interactivos e historias que ayudan a la gente a divertirse, evadirse de la cruda realidad, y vivir situaciones imposibles.

Pero bueno, espero que no esté presentando este volumen como un libro de autoayuda. Hay que destacar que también es muy útil para saber que podemos hacer, basándonos en las experiencias de otros, para convertir nuestro hobby en una profesión y poder vivir creando aquello que nos apasiona (y que haremos cada día mejor gracias a esta pasión).

Un trabajo muy interesante y recomendable del que podemos extraer un montón de lecciones y mucho ánimo para cumplir nuestro sueño de dedicarnos a los videojuegos. La verdad es que a mí me tiene enganchado, así que me lo terminaré de leer en dos días…

sábado, 23 de noviembre de 2013

Modelado Low Poly: Quads vs Tris

La pregunta de mi compañero Asensio, autor del Blog muy recomendable sobre videojuegos Toodaim (hacedle una visitilla), me recordó que debía tratar el tema del número de lados que tienen los polígonos, porque suele generar bastante duda. Voy por tanto, a tratar de explicar lo que se sobre esto de los Triángulos, Quads y polígonos de más de 4 lados.

Para comenzar debemos saber que, aunque para modelar, los polígonos de 4 lados o Quads, son los que más nos facilitan las cosas y con los que nos vamos a manejar, para la máquina, todo Quad está formado por 2 triángulos. Conocer este hecho es importante, porque más de una vez podemos querer editar está geometría que, en algunos programas no está a la vista de primeras, para corregir errores o porque nos convenga.


Poniendo un ejemplo sencillo, vamos a suponer que necesitamos modelar las alas para un dragón que solo tengan 2 Triángulos cada una. En este caso tenemos a nuestro querido Quad, cuya división en dos triángulos ya viene por defecto y que, sabiendo que está ahí, podemos usar para dar la forma del ala poligonal. Como en todo polígono de 4 lados existen dos posibles diagonales que lo dividan en triángulos, en caso de que se esté usando la diagonal equivocada para poder darle forma a nuestra ala, necesitaremos que nuestro software para 3D visualice esa diagonal oculta y rotarla. (En algunos programas estas aristas siempre se visualizan y en otros basta con pulsar la opción necesaria para verla, además todos suelen tener la opción de rotar esta arista). Con esto, conseguimos la forma que estábamos buscando y solo estamos usando un Quad, pero también estamos aprovechando el que para la máquina haya dos triángulos unidos.


¿Podríamos haber dibujado nosotros los dos triángulos? Sí, pero el efecto habría sido el mismo.

¿Y si da igual por qué se trabaja con Quads? Cuando extruimos o generamos formas básicas, los polígonos que se generan normalmente son de 4 lados por su estabilidad. Dicha estabilidad se puede observar muy bien cuando nos metemos en las subdivisiones que se usan tanto hoy en día, para suavizar o añadir polígonos que nos permitan esculpir una superficie al detalle en programas de esculpido 3D.

Cuando subdividimos, el software intenta crear nuevos polígonos dividiendo cada uno de los que encuentre en la geometría en Quads más pequeños. Si lo que tiene que dividir ya son Quads, la geometría es estable (normalmente divide cada polígono en otros cuatro a cada nivel de subdivisión que hagamos) y, además no suele generar ningún fallo ni deformidad en la malla cuando vamos a esculpirla.


Por otro lado, si lo que hay que subdividir son triángulos, la máquina aun intenta generar Quads dentro de ellos, y se produce una malla poco uniforme que a altos niveles de subdivisión puede traernos problemas (aunque a veces, con suerte, no pasa nada). Cuando empezamos a esculpir, en ocasiones hay zonas donde parece que han “pellizcado” la superficie por culpa de ese triángulo que teníamos por ahí perdido. Esto no significa que los triángulos estén desaconsejados del todo. Pero deberíamos evitarlos en lo posible. Aunque nos pueden venir genial para alguna zona de las superficies de ciertos modelos.

Si hablamos de polígonos de más de cuatro lados los problemas son mucho mayores. Con las subdivisiones tenemos el mismo problema que con los triángulos, que el ordenador intenta generar Quads en su interior y la malla se hace poco estable. Pero además, como en el caso de los polígonos de 4 lados, la máquina debe componerlos por triángulos, y en esta ocasión ya no tiene solo 2 diagonales con las que cortar, si no que suele haber más problemas para saber dónde y cómo colocar dichas diagonales. Por último, el software para esculpir mallas 3D no se lleva nada bien con este tipo de formas poligonales y tiende a generar errores al subdividirlas o fallos en la geometría cuando tratamos de esculpir sobre esas zonas.



En resumen, no es una obligación moral ni nada por el estilo usar solo Quads, pero es la forma más cómoda y estable para que podamos modelar nuestros proyectos 3D. Lo que si recomiendo evitar en lo posible son los polígonos de más de 4 lados. Cuando en algún modelo se quede alguno olvidado ya os daréis cuenta que puede traer problemas (y si no los trae será que tenéis mucha suerte). Respecto a los triángulos, como ya he dicho es importante saber que siempre están ahí y que es lo que la máquina va a manejar.

martes, 19 de noviembre de 2013

Modelado Low Poly desde nivel básico: Libro de hechizos

Últimamente tenía un poco abandonada una de mis pasiones relacionadas con el desarrollo de videojuegos, el modelado 3D en baja poligonización. A causa de esto me decidí a empezar una serie de pequeñas guías con las que poder practicar, desde un nivel muy básico, a base de modelar objetos, vehículos, personajes, escenarios o lo que se me vaya ocurriendo, y ponerlo en el Blog.

He de decir que no va a ser una guía de uso de un software determinado, sino que simplemente voy a hablar de forma general sobre modelado con pocos polígonos, sin centrarme en un programa concreto y perder demasiado tiempo en explicar donde están los botones o menús que sirven para cada cosa. Así, para seguir las guías, lo suyo es tener un mínimo conocimiento de cómo funciona el software que elijamos para modelar.

Espero que esta idea me sirva para practicar un poquito y no olvidar lo aprendido solo por que no esté, en estos momentos, embarcado en ningún proyecto que requiera de estas habilidades (Puede que en el próximo las necesite). Poco a poco, en capítulos, hablaré de polígonos, vértices, segmentos, extrusiones, texturizado, mapeado y otra terminología necesaria para avanzar, así que esto abierto a las preguntas de aquellos que necesiten aclaraciones.

Comenzando: Libro de hechizos. (Es muy simple, así que no hay excusas para no hacerlo)

1. He decidido empezar por algo casi tan básico como una caja, pero que requiera un poco de modelado ¡Que al menos haya que hacer algo! Así, empezaremos justo con eso, con una simple caja que mediremos en Centímetros, tratando de imitar el tamaño de un libro real. Las medidas en los videojuegos son más importantes de lo que pensamos porque, aunque se pueda cambiar el tamaño, puede hacernos perder tiempo y traernos algún quebradero de cabeza tener que estar re-escalando nuestros objetos una vez los tengamos en el motor.


2. Después de crear la caja llega el momento de añadir algunos polígonos con los que podamos empezar a trabajar. Para ello añadiremos subdivisiones (con añadir dos nos puede servir) al alto de la caja, con el objetivo de poder darle cierta curva a uno de los laterales y que parezca el lomo del libro.


3. Redondeamos moviendo vértices para dar la forma redondeada (pero manteniendo un bajo número de polígonos) de la que hablábamos en el paso anterior.


4. Ahora debemos extruir (“hacia afuera”) los polígonos que formarían la cubierta del libro. Así tendremos una parte diferenciada donde pondremos las páginas y otra para la ya mencionada cubierta.


5. Seleccionamos los polígonos que formarían los cantos de las hojas y los extruimos (esta vez hacia dentro) para conseguir que la cubierta sobresalga un poco como pasa en muchos libros reales de este tipo.


6. Este paso podría saltarse, pero para optimizar un poco hemos encontrado la manera de eliminar 3 polígonos y ahorrarnos eso en el conteo final. Simplemente hay que tener en cuenta que lo más recomendable es usar Quads (polígonos de 4 lados) y ser conscientes de que el motor final los convertirá en triángulos para manejarlos correctamente. Unas veces es bueno hacer esto por temas de ahorro y en otras ocasiones debemos evitarlo (o dejarlo para el final) y mantener una estructura de polígonos más sencilla para nosotros sobre la que trabajar (para el modelador son mejores los Quads). De todos modos, no es fácil ver donde podemos hacer el ahorro.


7. Una vez tenemos el modelado acabado, con la sencillez que queríamos, llega el momento de preparar el mapeado sobre el que pintaremos o aplicaremos nuestra textura. Para ello hay que “desenvolver” la malla 3D hasta dejarla plana, ayudándonos de una textura de checker con la que observar que no aparecerán deformaciones.

En este caso cortaremos en dos partes, una para la cubierta que podemos desplegar completa para después pintar sobre ella sin que se vean uniones o repeticiones, y otra para las hojas.

Existen muchas formas de prepara y colocar el mapeado para aprovechar más o menos el espacio de la textura (que recordemos debe ser cuadrada, aunque algunos motores también permiten rectangular, y en un tamaño que sea potencia de 8 como 128x128, 256x256, 512x512, etc.) incluso superponiendo en algunas ocasiones para que se repitan fragmentos de un motivo o dibujo. De momento lo vamos a hacer como en la imagen por sencillez.


8. Ya tenemos listo nuestro mapa sobre el que pintaremos la textura para el libro. En este caso de 256x256, y es que debemos elegir el tamaño en función de la importancia del objeto, porque a más tamaño más memoria consumiremos y es mejor dejar las grandes para elementos que deban verse más nítidos en nuestro juego y no para un libro que aparecerá por ahí tirado y en el que nadie se va a fijar.


Continuaremos en próximos capítulos con la creación y aplicación de la textura. Y tranquilos, iré haciendo cosas más difíciles con el tiempo (Aunque no tengo pensado de momento meterme en texturas avanzadas ni modelado High Poly, pero ya veremos).

sábado, 16 de noviembre de 2013

Juegos que me influyeron como desarrollador: Balloon Fight

Tenía tan solo dos años cuando fue lanzado este juego en Japón, pero por supuesto, llegó mucho más tarde a mis manos proporcionándome muchas horas de entretenimiento a base de explotar los globos de los enemigos. La influencia vino sin embargo, mucho después, cuando me enteré de que había sido desarrollado por un equipo muy pequeño, entre los que se encontraba Satoru Iwata, actual presidente de Nintendo.



Si un equipo tan reducido podía hacer un juego tan simple y a la vez entretenido poniendolo con éxito en el mercado, ¿Por qué no iba a poder hacer yo algo parecido juntándome con un par de amíguetes? Bien, pues se podría decir que a partir de ese pensamiento fue cuando me puse en marcha a diseñar mis propios juegos, aunque fuera sobre el papel, y con el tiempo, fui descubriendo la forma de llevarlos a la realidad. El resto de la historia ya la he contado en estos años de escribir en el Blog, desde las largas partidas en mi primera consola a juegos como este, hasta la actualidad y mis pequeños proyectos que espero que vayan creciendo en tamaño y calidad.

Balloon Fight consiste en un juego en el que un personajillo que, con ayuda de unos globos que le hacen flotar por el aire, se dedica a volar intentado explotar los globos a sus enemigos antes de que se los exploten a él y acabe en el mar devorado por un pez gigante. 

El juego tuvo versiones para Nes y Game Boy y actualmente se ha incluido una revisión del mismo con un nuevo sistema de control, dentro del juego para Wii U Nintendo Land.




Este título es, sin duda, un ejemplo de que se puede crear algo sencillo, bonito y profesional, incluso contando alguna historia peculiar para transmitir algo al jugador. Puede ser la chispa que active el cerebro de un desarrollador Indie para crear una pequeña gran joya que pase a la historia de la industria del videojuego.