miércoles, 24 de marzo de 2010

Se me enfrian los Donuts... :P

music: none

¡Bueno, al fin!. Ya he terminado de ver los artículos de física que estaba viendo. La verdad es que el esfuerzo ha merecido la pena pues gracias a ellos me he enterado de un montón de cosas pero para el lector no familiarizado con la física (o que ya no lo esté, como es mi caso) resultan bastante duros.

En cualquier caso, he repasado/entendido cosas como el Método de Euler, la fórmula de Rotación 3D de Ollinde Rodrigues, las Fuerzas y los Pares de Torsión ("Torques" en ingles), el Momento de Inercia, la descomposición de la velocidad que lleva un rigid body que se traslada y rota alrededor de su Centro de Masas por el Teorema de Chasles... un par de "misterios sin resolver":

-Similarity Transform: Un proceso que permite transformar la orientación de un body en coordenadas de mundo. Se transforman los vectores de la orientación mediante una matriz que es producto de tres matrices:
1)Matriz traspuesta de la "matriz de paso de coornadas locales a coordenadas de mundo" --> Al estar hablando de un sistema ortonormal, la matriz traspuesta será la inversa la matriz anteriormente mencionada, con lo que estamos hablando de la "matriz de paso de coordenadas de mundo a coordenadas locales".
2)Matriz de transformación --> Debido al paso 1) la orientación ya está en coordenadas locales; así que transformamos la orientación en coordenadas locales.
3)Matriz de paso de coordenadas locales a coordenadas de mundo --> la transformación vuelve a pasarse a coordenadas de mundo.

-Matriz Inertia Tensor; algo que ya había visto rondando por algunas demos , y que viene a ser la representación en 3D del Momento de Inercia en 2D.

En fin, digamos que en este momento me siento preparado para entender la parte de simulación física de la demo de los Donuts, y que al comienzo parecía una hardcorada total. Me pondré con el asunto en estos días, pero eso sí... voy a tener que recalentar un poco los Donuts. :P

Hasta otra. :P


P.D. Y mañana sale el Runaway a la venta...

lunes, 8 de marzo de 2010

The Black Art Of 3D Game Programming

music: FATBOY SLIM -"Right Here, Right Now"-

Albert Einstein: "No te metas en la cabeza aquello que puedas meterte en el bolsillo".
Anderson_JAG: "Sr. Einstein... ¡¡¡¿ha visto usted el tamaño de este libro?!!!". :P


Ya tocaba hablar de uno de mis libros favoritos, "The Black of 3D Game Programming" de A. LaMothe. Gracias a este libro, el cual llevo estudiando desde hace aproximadamente un año, he podido llegar a enterarme de un montón de cosas de las que, de otra forma, hubiera sido imposible haberme formado una idea acerca de cómo se producían, de su funcionamiento.

A nivel general, he de decir que cuando quiero estudiar o informarme sobre un tema relacionado con programación de videojuegos... donde me gusta mirar es en los libros. Sean mejores, sean peores... no importa. Siempre le daré, al menos, una oportunidad a un libro.

Así que, en estos años de andadura en el mundillo de la programación de videojuegos, me he encontrado principalmente con tres tipos de libros:

TIPO 1: Aquellos que te sueltan el rollo macabeo, te plantan los cuatro pseudocódigos generalistas y/o formulones, y... ¡ahí lo llevas, majo!.

TIPO 2: Ahora nos vamos al otro lado. Libros muy orientados a realizar algo muy concreto, empleando una tecnología muy concreta, pero que se quedan cortos no ya a la hora de profundizar en la materia, sino de explicar la materia misma. Qué se esta haciendo en esta o aquella parte del código, porqué llamar a estas fórmulas de Direct3D, OpenGL o lo que sea, y no a estas otras; porqué llamarlas en este orden. Porqué los parámetros empleados, y no otros. Etc.

TIPO 3: El tipo más minoritario. Hay una explicación más o menos extensa y difícil pero para nada farragosa o intragable; y si aún así, por mucho que te hayas esforzado, no te enteras de nada... no te preocupes: porque inmediatamente detrás va a venir siempre una pequeña demo, lista para ser compilada y ejecutada, con la que vas poder entender qué narices estaba diciendo el autor en este o en este otro lugar realizando un tracing de su funcionamiento.

Es fácil adivinar que enmarco a este libro dentro del Tipo 3. Cuando hablo de demos, no me refiero a una demo de final de capítulo... ¡sino a VARIAS demos dentro de un mismo capítulo!. Con lo cual puedes volver atrás en la teoría y decir: "¡Claro, ahora lo entiendo...!".

Y gracias a ello, he podido llegar a comprender (y más aún, VER) cosas como pintado de líneas, relleno de polígonos mediante scan conversion, shading Flat y Goraud, Z-Buffering y BSP partitioning. De acuerdo, existirán técnicas mejores que las explicadas en este libro para realizar las citadas tareas. De acuerdo, fastidia mucho que haya temas que LaMothe comenta explicitamente que no se van a tratar en el libro; de acuerdo, la demo final del tema de Voxel Graphics dista mucho de ser... como se dice ahora, "resultona". Pero no menos cierto es que si te encuentras atorado, si por alguna razón no logras comprender determinados aspectos relacionados con álgebra, con gráficos 3D, con estructuras de representación de un entorno 3D, o inlcuso con recursividad... te puede venir muy bien. De este libro se puede hablar muy bien ó muy mal. Depende del prisma. Pero dado que a mí me está sirviendo, aunque no sea de una forma directa... seré de los primeros.

CONCLUSIÓN:

Si no te apetece "perder el tiempo con algo viejo y obsoleto" porque estás buscando explicaciones sobre tecnología next-gen, o un manual para hacerte un engine que supere a Unreal Engine... tienes toda la razón, "no pierdas el tiempo".

Si consideras que los engines no son como las hortalizas (que las plantas, y crecen) sino que debe haber una base "soterrada" bajo capas y capas de tecnología de rimbombantes nombres y te apetece conocer un poco qué hay bajo todo ello y formarte una idea al respecto, aunque no pueda ser una idea exacta... este libro te puede interesar.

E insisto: si te encuentras atorado, si por alguna razón las transformaciones 3D, el pipeline gráfico, Direct3D u OpenGL "no te entran", si notas que te falta perspectiva de base... este libro te puede ayudar mucho si le derivas parte de tu tiempo; leete el Cap.1, de ahí salta al 10 y... ¡a trabajar!.

Hasta otra. :P


(** EDIT:  10/16/2013 **)

Thanks for signing me the book, Mr. LaMothe. : )


jueves, 4 de marzo de 2010

Retromadrid 2010

music: MOONCHILD -"A Friend / War"-


Pues eso... que el próximo 13 de marzo será la edición de Retromadrid para este año; estrenando, por cierto, nuevo sitio. Espero poder ver caras conocidas de la pasada edición (me sé yo de unos de las Islas que, como como crucen el charco y vengan, van a tener que traerse un buen surtido de caramelos porque servidor vendrá entrenado para el "Attack of the Mutant Fruits from Outerspace", ¡jejejeje...!). ; )

Hasta otra. :P