Just Game programming Things – Simplemente cosas de desarrollo de juegos
El nombre de este post es como este meme, esta cosa de internet que todo el mundo encuentra gracioso sin saber por qué, es como Just Putin Things (Simplemente cosas de Putin) o como otras similares (Just Cats Things). Pues aqui tengo una lista de cosas extrañas que he encontrado desarrollando juegos con C++, MS VS *, Blender, que he acumulado estos días que he estado trabajando un nuevo nivel para mi juego psyblast.
Asi que, sin más preámbulos, los dejo con simplementes cosas de de desarrollo de juegos…
- En Blender el siguiente código en python extrae la escala y la posición de un objeto:
ob_new.location = copyobj.location
ob_new.scale = copyobj.scaleAjá, pero y ¿cómo se hace lo mismo para la rotación? Una hora después de googlear finalmente conseguí la respuesta. Para obtener la rotación de un objeto en Blender usando python se debe hacer… ta taaaa:
ob_new.rotation_euler = copyobj.rotation_euler - python no soporta i++, sin embargo todo el mundo lo considera un lenguaje moderno. (1) Esto salpicó a Blender porque los desarrolladores lo escogieron como lenguaje de scripting.
- Microsoft Visual Studio 2012 es una asco. Bueno, hay otras alternativas pero es que nunca es una mala oportunidad para enunciar lo malo que es Microsoft Visual Studio 2012. Es tan malo que para corregir sus fallas lo que hay que hacer es usar Microsoft Visual Studio 2010, es decir, la versión anterior.
- Una vez que tienes un nivel listo descubres cosas que no funcionan correctamente. Por ejemplo, al lanzar un misil, le colocas una luz para que a medida que el misil avance la luz simule el fulgor del cohete del misil (espero no tener que escribir eso más nunca). Pues bien Irrlicht maneja la iluminación en cada vértice, así que si tus meshes son muy grandes la densidad de los vértices es baja y entonces… pum.. la luz dinámica se ve irreal, poco natural. Aquí hay una discusión sobre el tema: “smooth lighting is only good if the vertex count is increaced” (“una iluminación suave es solo posible if el número de vértices se incrementa”). Ouch!
- La velocidad de desarrollo se incrementa en la medida que mantengas un balance correcto entre scripting y desarrollo en el core. Así que mi juego tiene 1, no, 2, 3 sistemas independientes para configurar a tiempo de ejecución. ¡3! Uno de ellos permite leer la info desde un xml que se puede cambiar a mano, otro permite modificar variables a través de una panel en el juego (el panel de configuración que tienen todos los juegos) y otro utiliza otro archivo *.ini que es de texto con líneas del tipo “velocidad=10”.Cada uno sirve para una función diferente.
Continuará…