Introducción al uso de Mosaicos [NB Original]

Dentro de cada una de las áreas del proceso de desarrollo de videojuegos existen métodos y técnicas que hacen a los artistas y programadores avanzar de manera efectiva y más eficiente. Estas técnicas han evolucionado junto con los videojuegos e inclusive, han llegado a convertirse en rasgos característicos de algunos géneros.
En este post hablaremos del uso de tiles para desarrollar videojuegos, una técnica que nos ayuda a optimizar recursos de procesamiento así como en la creación de assets. Para evitar el uso de términos en inglés, utilizaremos el término mosaico cuando nos refiramos a tiles.
Los mosaicos han sido utilizados para desarrollar videojuegos desde el principio de esta industria. Las primeras consolas y computadoras contaban con recursos limitados por lo que los desarrolladores debían de buscar métodos inteligentes para hacer que los juegos se vieran lo mejor posible con la menor cantidad de recursos. Uno de las razones más importantes para el uso de mosaicos es evitar cargar gráficos de gran tamaño que hagan lento el juego.
Veámoslo con un ejemplo:

Super Mario Bros L1-2 Tiles (c) Nintendo
La imagen superior corresponde a una pantalla tomada del nivel 1-2 de Super Mario Bros. Como ustedes recordarán, los niveles eran muy repetitivos y contaban con muy poca variación. Aquí podemos ver los dos mosaicos principales utilizados en el nivel. Por medio de código estos mosaicos son repetidos para crear la geometría del nivel de tal manera que el procesamiento de imagen sea el mínimo requerido.
Con solo estas dos pequeñas imágenes de 64 x64 pxs se puede lograr crear una imagen más grande que es el nivel completo, evitando procesar a la computadora una imagen de un tamaño muy grande. Para concentrarnos en la parte de programación, dejaremos la explicación de cómo diseñar estos mosaicos para el área de arte.
¿Cómo comenzar a trabajar con los mosaicos?
Existen muchas metodologías que han evolucionado para el uso de mosaicos. Dependiendo del lenguaje, sistema, engine, objetivo entre muchos otros factores. Aquí trataremos de darles la introducción a una metodología para el uso de mosaicos utilizando FLASH como herramienta de desarrollo. No podemos asegurar sea la más utilizada, ni la más eficiente pero creemos es una de las más intuitivas y sabemos existen muchas referencia en línea que les podrán ayudar a complementar lo que aquí veamos.
Imaginen que a esta cuadrícula la numeramos de izquierda a derecha y de arriba debajo de 0 a N. Ahora tendremos una referencia para cada uno de los cuadros. El primero sería, [0,0] el segundo a la derecha seria [0,1], después [0,2] y así sucesivamente hasta llegar a [0,N]. Ahora el segundo hacía abajo sería [1,0], el siguiente [2,0], y así hasta llegar al [N,0]. Finalmente podemos deducir que el último de los cuadrados será el [N,N]. Ahora bien, esta es solo la estructura que se utilizará para tener la referencia dentro del código.

Super Mario Bros L1-2 Tiles (c) Nintendo
Ahora tenemos que definir qué imagen se representará en cada uno de estos cuadros. Para esto podemos utilizar un simple sistema de números, en Flash es sencillo de esta manera ya que se tiene el número de Frames, en otros lenguajes o se puede utilizar una combinación de letras y números. Dado que en este ejemplo solo tenemos 2 imágenes, utilizaremos los números “1” y “2 “ y en cada espacio vacío el número “0”. Una representación de esto es:

Super Mario Bros L1-2 Tiles (c) Nintendo
Los siguientes pasos.
En este post es muy difícil llegar a explicar completamente el uso de los mosaicos y el objetivo de éste es solo darles una introducción para que vean el potencial que tiene esta técnica. Para continuar y tocar el tema más a fondo, les recomiendo las siguientes ligas:
Este podría ser el control final de la Wii U
Guaternius: Nintendo dominó, los primeros minut...
El Resumen de la Semana: el lanzamiento de Diab...
Medal of Honor: Warfighter muestra su nuevo tra...
Frank O'Connor ofrece más detalles de Halo 4
Metal Gear Rising: Revengeance estrena nuevo video
Regístrate al beta de Dust 514 y cruza los dedos
8 Comentarios
Introducción al uso de Mosaicos [NB Original]
se agradecen estas cosas son buenas para saber que hay detras, existen libros donde se saca esta info o es solo recoleccion de la web?
ResponderÉste ha sido uno de los post que más me ha gustado de todas las entregas, muy interesante, la misma pregunta que Hellfish, además, ¿cuáles conceptos debería uno de conocer para poder investigar y profundizar sobre cada uno?, es decir, sabemos que existen diversas áreas interviniedo en el desarrollo pero por ejemplo, ésto implica en "diseño/programación" conceptos como tiles, qué otros conceptos deberíamos conocer?
Responder..en pocas palabras "la jerga de la industria"
Exelente aporte, felicidades, sigan asi!!
ResponderUna consulta respecto del manejo de imagenes que me vino a la mente cuando vi la imagen de portada de este post.
Responder¿Qué método optimiza más los recursos, el manejar los tiles como la imagen de la portada, o manejar cada tile en un archivo por separado?
Por cierto, sigan con sus post, muy buenos todos!
Hay un juego fan-made llamado Super Mario Bros. X que cuenta con su propio editor de niveles basado en mosaicos. A lo mejor con esta herramienta nos da una mejor idea de lo que son los mosaicos.
ResponderExcelente, ojalas sigan estos tutos.
Responder442342424222222222222Para aquellos que les interesa el futuro, les recomiendo dos libros que en Internet son gratuitos. Me refiero a:
ResponderEL SHOCK DEL SIGLO XXI
¿Por qué el mundo va hacia una crisis?
¿Como haremos para salir de ella?
LOS PRÓXIMOS 500 AÑOS
¿Cómo evolucionaran las casas, computadoras,
automóviles, industrias, y robots del futuro?
LOS CUALES PODRÁN LEER O BAJAR GRATUITAMENTE A SUS COMPUTADORAS DESDE:
http://futuro.clan.su
sigan asi...excelente...demasiado corto...pero es un buen comienzo
ResponderDeja tu Comentario