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

miércoles, 17 de febrero de 2010

Physics, Collision Response and Runaway

music: AMERICAN DOG -"Dog Will Hunt"-

Veamos... estas últimas semanas han sido muy productivas a nivel de trabajo. He estado analizando el funcionamiento de la demo de los Domuts, especialmente el sistema de detección de colisiones, y la verdad es que me he enterado de bastantes cosas; pero tocar la parte relacionada con la física y el sistema de collision response aún me he parecido delicado con lo que, a riesgo de perderme sin entender ni papa, me he metido primeramente a ver unos artículos sobre Rigid Body Dynamics escritos por C. Hecker (link al website personal) que me están resultando muy, muy útiles y didácticos. Este señor ha logrado resumir en cuatro artículos... diría que entre 6 y 7 temas de física (Cinemática y Dinámica) de un libro de Bachillerato; y con la ayuda de las demos que acompaña, puedes ver perfectamente donde y cómo se emplea cada elemento, cada fórmula... en definitiva, cómo encaja todo. Hoy he terminado de ver los relacionados con 2D y he empezado a ver el de 3D (¡menos mal que avisa que la mayoría de fórmulas de cinemática ya vistas valen también para 3D, jejejeje...!). ¡¡¡RECOMENDADOS!!!.

Respecto de Runaway: A Twist of Fate... he estado bastante tiempo sin comentar nada porque, aparte de estar muy ocupado con estos y otros asuntos, era un tema que estaba copando toda la atención del blog, y tampoco quería eso. Me hice este blog basicamente como un "Dev Blog", para ir comentando mis progresos en programación, en mis proyectos personales, señalar artículos y cosas interesantes relacionadas con el mundo de la programación de videojuegos que fuera utilizando, recomendar libros del tema, etc. Por eso he dejado al Runaway más de lado, aunque han ido apareciendo noticias importantes sobre él (tan importantes como que será publicado en España el próximo 25 de marzo); podeis echar un vistazo a la página de Runaway: A Twist of Fate en español y también a la nueva página de Pendulo Studios, pero vamos, si habeis estado atentos seguro que todo esto ya lo habeis visto.

Hasta otra. :P

domingo, 31 de enero de 2010

DONUTS IV: REVENGE OF THE SPACE TORUS

music: W.A.S.P. -"The Heretic (The Lost Child)"-

Durante estos días me he puesto a mirar una demo a la que llevaba tiempo queriendo echarle un ojo: "Donuts IV: Revenge of the Space Torus".

Se hallaba entre los samples de DirectX SDK Summer 2003 e, inexplicablemente, fue eliminada en versiones posteriores. Me estoy centrando, sobre todo,en determinar el funcionamiento del Sistema de Collision Detection and Response, el principal elemento de Super Pong que quiero modificar, y que se me atraganta desde hace muuuuucho tiempo. Las explicaciones que he encontrado en Metanet Software , en Gamasutra y en los libros "Real-Time Collision Detection" y "3D Math Primer for Graphics and Game Development" estan muy bien... pero sigo sin saber muy bien qué hacer con todo ello, sin ver cómo encaja todo ello... sin ver "the big picture", vamos.

También he estado entretenido "rescatando" la posibilidad de pintar, estando en Modo Debug, los Bounding Box de los enemigos y los donuts que lanzas como proyectil (digo rescatando porque pareciera que dicha opción hubiera quedado "enterrada" en el código, sin posibilidad de dar una orden de activación de dicha característica desde el exterior). Así que la he dejado que puedas activarla/desativarla pulsando una tecla estando en Modo Debug. Por aquí he dejado un par de capturillas.


Gracias a "The Black Art of 3D Game Programming" de A. LaMothe (un libro al que le debo mucho y del que ya hablaré en una entrada próxima) he podido enterarme sin mucha dificultad de cómo se están calculando las normales de las seis caras de los Bounding. Por otra parte, parece que los únicos vértices del bounding que emplea para comprobar son los ocho de las esquinas (en ese sentido probaré a añadirle los seis puntos céntricos de cada cara, para refinar las comprobaciones).


Lo dicho, espero poder enterarme de más cosas y poder algún día resolver el problema de las colisiones y el "tunnelling" de Super Pong (mención aparte, el framerate en el portátil se me va a pique). :P

Me marcho otro rato a la Biblioteca, que es temporada de estudiantes y también abre los domingos.

Hasta otra. :P

domingo, 17 de enero de 2010

¿ PC --> iPhone --> Mac ?. ¿Es esta la jugada?.

music: MANO NEGRA -"Rock'N' Roll Band"-

Desde que me he enterado que Rage está siendo programado también para Mac llevo dándole vueltas a la cabeza a algo...

Me sorprendió muchísimo ver, en CDV 2009, cómo la gente se había tirado de cabeza al iPhone. Personalmente hay algo que no consigo ver ni a la de tres: decir "el iPhone por el iPhone". Así, porque sí, porque "aquí está el negocio y esto es la panacea con la que poder vivir"... y simplemente, no lo veo. Máxime con todos esos terminales dotados con Android revoloteando alrededor del cacharrito de Apple.Y tras haber visto el anuncio de Rage para Mac sólo se me ocurre una cosa para que esto cuadre...

Partiendo de la base de una hipotética sustitución del PC única y exclusivamente por otro ordenador (porque eso es lo único que sustituirá al PC; y lejos de querer avivar debates estériles, ninguna videoconsola podrá jamás erradicar "al ordenador" -actualmente: PC- como plataforma de videojuegos)...

...y partiendo del hecho indiscutible de los Mac como elelementos que ya han comenzado a salir del Olimpo de Apple para caminar entre nosotros, los pobres mortales......¿es que acaso veremos, dentro de unos cuantos años, el declive REAL del PC -el de verdad, no el falso que intentan colarnos con mayor o menor éxito- en favor de los Mac, el ordenador que quizás se consolide en el futuro y, sea, por lo tanto la "plataforma ordenador" para la que programar videojuegos?.

Y de ser así... ¿es esa la razón por la que tantos y tantos se han tirado "from lost to the river" al iPhone, como un buen paso previo para cuando el Mac se ponga ya por delante y la demanda de videojuegos para él crezca?.¿Acaso es esta la jugada?. Porque "el iPhone por el iPhone"... como diría alguien que conozco, que se llama Brian Basco: "No lo veo claro".

Hasta otra. :P

miércoles, 25 de noviembre de 2009

Edición alemana de RUNAWAY: A Twist of Fate


music: VISION DIVINE -"Fools Garden / The Fall Of Reason"-

Esta mañana he ido a Correos a recoger mi ejemplar de Runaway: A Twist of Fate (Edición Alemana para PC), que por fín ha llegado.

(**ORIGINAL**)
Sobre qué contiene la Edición Especial "Gina Forever"... no sé nada por el momento. El viernes estuve en la Escuela Oficial de Idiomas, donde una de las profesoras de alemán me tradujo algunas de las noticias, y ayer he estado en el que era mi antiguo instituto, donde uno de mis antiguos profesores de inglés (el cual también sabe alemán) me ha traducido otro tanto. Agradezco enormemente la colaboración de ambos. : ) En cualquier caso, no parecía que ni en las noticias de la página oficial alemana del juego ni en el dossier del juego que puedes descargarte desde allí digan nada al respecto. Habrá que seguir esperando información (aunque sin dormirse en los laureles, pues son sólo 300 copias).(**FIN ORIGINAL**)

(**EDIT: Mirar Edit de entrada anterior **)

Y nada más. Mañana pediré la versión francesa, que es cuando se pone a la venta (aún no sé si la edición normal ó la que contiene los tres juegos, veremos, veremos...). ; )

Asímismo, a través de las plataformas de descarga de pago Metaboli y Games Planet se pondrá también al alcance de todos (pero sinceramente prefiero el formato Caja + Manual + CD/DVD). :P