Ir al contenido principal

Entradas

Mostrando entradas de noviembre, 2008

Hardware abierto

Leo en Slashdot que la revista Make ha publicado su tercer reporte acerca del estado del hardware abierto. Hay montones de cosas en la lista de las que no sabía y a las que no le encuentro utilidad (obviamente están orientadas a segmentos que no trabajo).
Por el momento el único proyecto que sigo es OpenMoko (que no he visto aún en la lista, ya que no la leí completa).

Nuevo código

Hacía un buen tiempo que no tocaba el svn del proyecto en Sourceforge, así que decidí actualizarlo con el nuevo código. Ayer limpié todo y hoy traje la última versión. No está en el estado que tenía planeado porque una visita me impidió terminar el soporte de colisiones, veré si hoy por la noche puedo concluirlo.
Además de poder compartir más fácilmente el código me sirve como un respaldo en caso de que suceda algo y pierda lo que tengo en casa.

2 vs 3

Ayer instalé nuevamente el Fallout 2, con todos sus parches. El caso es que mientras juego el 3, cuando logro que funcione más de cinco minutos sin explotar, siento que lo que quisiera jugar es Fallout 2. Una sensación inexplicable, pero es así.
Sé que debiera estar trabajando en mi proyecto en vez de perder el tiempo, pero es que tengo una de esas semanas de muerte cerebral en la que no se generan ideas. Me decepcionó mucho descubrir que ETL no funciona bien en OpenGL, y además ni siquiera he recibido una respuesta en el foro, así que dejé todo ahí donde estaba y me he tomado unas vacaciones.

Cosas del pasado

Erase una vez, los Farlópez, en pleno apogeo y jolgorio... eh, no, creo que me equivoqué de historia.
No sé si se acordarán de SCO. No, o es algo que tenga que ver con la Web 2.0 ni otra de las siglas de moda.
Eran unos tíos muy chéveres que hacían un Unix comercial, el SCO. El amor de la vida de mis amigos de la policía y el ejército, que en la década pasada no querían saber de otra cosa. Estos tíos muy majos compraron una distribución de Linux, Caldera. El caso es que con el tiempo las cosas no les fueron tan bien como les iban. Así que algún CEO tuvo la genial idea de demandar a Linux por robo de código.
Revisando los feeds hoy leo en Groklaw que SCO aún sobrevive a duras penas. No logro sacar mucho en claro de la jerga técnica, así que agradecería si alguien pudiese explicármelo. Pero lo que sí me parece es que el juicio original nunca pudo probarse, que SCO está en bancarrota y que ha tenido que retirar sus demandas.
Cosas de la estupidez humana.

Me aburre Ubuntu

Pues eso. No sé qué me pasa, pero cada día siento menos deseos de trabajar con él. Me estoy planteando volver a instalar Gentoo en esa PC. La sensación de falta de control y de no saber por qué tengo cosas instaladas que no necesito ya se me está haciendo insoportable.
En realidad, ese Ubuntu estaba destinado a desaparecer en cuanto regresara de la Habana, pero desgraciadamente el instalador de Nova (la distro cubana) que traje tiene un problema y no pude instalarlo.
Aún no he decidido con qué sustituirlo. He pensado en Fedora, para mantener la variedad de entornos de desarrollo, Gentoo, que me gusta más, e incluso hasta me ha pasado por la mente echarle otro vistazo a FreeBSD o incluso a OpenSolaris.

Tutoriales de Blender

Esta semana Blendernation ha estado cargada de anuncios de videotutoriales. El primero es acerca de AniSculpt, el segundo apunta a un paquete de 10 videos que cubren diversos temas, incluyendo trabajo básico con el Blender Game Engine, que ha estado recibiendo mucha atención desde que resucitó.
Otro buen sitio donde encontrar tutoriales de Blender en formato de video, listos para descarga y en buena resolución es blenderunderground.com.

Instalaciones

No me había detenido a pensar en el proceso de instalación del proyecto en Windows, pero ayer me picó la curiosidad y descargué Inno Setup. No tuve tiempo de extenderme, pero por lo que vi parece ser muy sencillo. Espero poder hacer una prueba hoy.
De todas formas, ya que el binario para Windows está compilado con gcc, es muy sencillo redistrubuirlo en un archivo zip de ser necesario. A diferencia de las aplicaciones compiladas con Visual C++, que requieren la instalación de un paquete con manifiestos y DLLs y aún así pueden fallar.

Gestor de estados

Había estado trabajando sin utilizar el StateManager, una clase que se implementó hace mucho tiempo para mi primer proyecto. Tenía la idea de que podía manejar los estados sin una clase específica para ello, sin embargo me percaté que las ventajas que había planteado el que diseñó la clase eran mayores que las ventajas de no usarla.
El StateManager permite manejar una pila de estados, así que sería posible pausar un estado y poner uno encima, que al salir dejaría el control nuevamente en manos del estado anterior. Como es un singleton, es posible llamarla desde cualquier lugar para invocar un estado. Por ejem,plo, el estado de juego la utilizará para mostrar el estado de diálogo.
Integré la clase al proyecto y comprobé que compila. Pero aún no me atrevo a probarla. Esto de los siongletons puede ser conflictivo a veces.

Nuevo driver ATI y problemas

Al fin el 8.11 está en el portage, aunque instalarlo ha requerido lo suyo. El ebuild de xorg-server-1.5.2 lo bloquea y hay que hacerle sus cosquillas. Pero ya tengo Linux con soporte 3d.
Me he tomado la molestia de probar algunas cosas, porque luego de tanta espera no me creía que fuese tan fácil tener el 3d.
Sin embargo, al probar el proyecto me encuentro que el ETL no renderiza bien. Algo que no estaba en los planes pues funciona bien en Windows, ya sea con D3D o GL. Las opciones que me quedan no son nada agradables: esperar que corrijan el problema o descartar ETL en el proyecto principal y usarlo solo para Strata.
La segunda opción me enfrentaría al problema de encontrar la forma de embellecer el TSM, que es la cosa más sosa y disfuncional que hay en Ogre. Sé que se puede lograr, pues Dungeon Hack lo usa y se ve bastante bien, pero supongo que requiera un nivel que aún no he alcanzado.

Otra semana...

Otra semana que concluye con un sorprendente número de noticias en el campo de los gráficos en Linux. Echando un vistazo rápido a Phoronix, que es mi fuente para tales noticias, puedo ver que Nvidia está incorporando funcionalidades PureVideo en sus drivers, Intel ha lanzado dos versiones de los drivers abiertos y Nouveau se ha mezcaldo en Gallium3d. En fin, una semana activa.
Las dos primeras noticias son las más importantes. El apoyo de los fabricantes importantes es importante, y valga la redundancia. Aunque considero que las tarjetas gráficas de Intel sólo pueden llamarse así para cierto valor de "tarjetas gráficas", están muy difundidas y no está de más lograr que funcionen bien.
En cuanto a Nouveau, bueno, pues no es como para tirar cohetes, pero algo es algo.

De vuelta a la acción

Ayer concluí con los últimos detalles de la mudanza y ya tengo la PC funcionando nuevamente. Debería estar hablándoles de que reinicié el trabajo en Strata que me interrumpieron hace unos días, pero el caso es que he sucumbido a la misma tentación que Radu.
Ya tengo el Fallout 3. Luego de unas seis horas de juego hay algunas pocas cosas que puedo decir acerca de él, aunque no las consideraría definitivas. Para empezar, fui uno de los afortunados que no tiene muchos problemas. El juego se cuelga de vez en cuando, pero lo usual es que pueda jugar hasta una hora o dos sin problemas. Mi hardware lo mueve sin problemas en el nivel de calidad medio.
¿Es un buen juego? Sí. ¿Es un Fallout? No.
En esencia, es un buen juego de rol, como pocos que haya probado en los últimos tiempos. Pienso que se debe a que mucho es heredado de un clásico. Bethesda tomó muchas buenas cosas de Oblivion, otras no tan buenas, y quitó algunas cosas de Fallout que se echan de menos.
Por ejemplo, los objetos se deterior…

Tema avanzado: cambiando la apariencia

Desde hace un tiempo vengo razonando acerca de la solución al problema de cambiar la apariencia de los personajes durante el juego. Por ejemplo, al equipar una armadura.
En esencia la idea que tenía se acerca bastante a la opción habitual. Pueden ver en este hilo las respuestas en el foro de Ogre. Para los que no dominen el idioma de Checspier, les hago un resumen.
Primero está la solución fácil. Si el cambio geométrico no es drástico, o sea, simplemente estás cambiando una camisa o unos pantalones por otros de diferente color, basta con hacer un cambio de textura. Ojalá la vida fuera así de fácil siempre.
Cuando el cambio en la geometría es grande, por ejemplo estamos equipando una armadura con pinchos, etc, la mejor opción es cambiar el mesh. Cubre más hardware y tal vez sea más fácil de implementar, aunque requiere más trabajo por parte de los artistas. La base de esta técnica consiste en tener mallas separadas para cada parte del cuerpo que pueda cambiar de apariencia: cabeza, tronco…

La Rueda del Tiempo va al cine y a los videojuegos

Leo en Slashdot que Red Eagle Entertainment anunció planes de establecer un estudio para desarrollar juegos basados en la saga de Robert Jordan, La Rueda del Tiempo. Me entero ahora que Red Eagle había anunciado también hace algún tiempo que piensa llevar la serie al cine. La verdad que me encantaría ver esta historia en la pantalla, sin embargo la magnitud de la tarea es tal que a veces dudo que pueda llevarse a cabo con éxito.
La Rueda del Tiempo consta de un montón de libros gordos como ladrillos y abarca la historia de varios personajes. Comprimir tal enormidad en unas pocas películas inevitablemente dejará fuera muchos detalles que son los que le dan belleza a la saga. Pero bueno, habrá que esperar antes de sacar conclusiones.

Competencia de Blender Game Engine

Leyendo en Linuxjuegos me entero de un nuevo concurso de desarrollo de juegos, esta vez con el motor de juegos incluido en Blender. Mi única experiencia con el mismo es lo que me enseñaron los colegas en la UCI, así que no puedo opinar mucho acerca de él.
El Blender Game Engine estuvo bastante abandonado hasta hace poco, que recibió algo de atención con motivo del proyecto Apricot. A partir de Blender 2.48 tenemos un BGE mejorado que podría convertirse en una opción a tener en cuenta entre los que quieren hacer juegos de la forma más fácil y sin perder calidad.

Fallout 3, muy cerca

Estoy a punto de echarle el guante al Fallout 3. De ser así, y en caso de que funcione adecuadamente en mi PC, creo que pasaré varios días sin trabajar. Me pica la curiosidad de ver qué impresióm me causa esta versión, de la que hay varios detalles que por adelantado no me ggustan. Sin embargo, espero que el historia y el modo de juego logren desviar mi atención del hecho de que no es lo que yo esperaría de un Fallout.

Huracán en camino

Otro huracán se aproxima. Nuevamente la zona central del país recibirá el impacto de lleno. Por acá, más al oriente, solo tenemos hasta el momento cielo nublado, pero no hay vientos ni ha caído una gota de agua.

Las noticias de la semana

Un resumen de lo mejor en Phoronix esta semana en el mundo Linux.
Para empezar lo más reciente: al fin Creative decidió abrir el driver para X-Fi.- Había oído que el soporte para estas tarjetas de sonido era muy malo o inexistente en Linux. Pues bien, al parecer se aclara el panorama en este asunto.
Dos de gráficos, para continuar. Se ha revelado un nuevo proyecto de un empleado de Redhat, Wayland. El mismo es un X Server mínimo, escrito desde cero y con un gestor de composición integrado que aprovecha algunas de las nuevas tecnologías en desarrollo como KMS y GEM. Aún es algo en sus inicios tempranos, pero está dando de qué hablar.
Por su parte RadeonHD ha agregado soporte para los GPUs RV710/730. Sin aceleración claro, que no todo es color de rosa. Habrá que seguir en espera.

Ogre 1.6 final

Al fin, ya está aquí. La rama Shoggoth ya es oficial, Eihort es historia antigua.
Una rama sin cambios drásticos y unas pocas cosas interesantes como geometry shaders y un nuevo gestor de escenas (Portal Connected Zone SceneManager). De hecho, se puede llevar un proyecto con ambas ramas a la vez. Cosa que espero no tener que hacer por mucho tiempo. Confío en que la 1.6 estará en el portage de Gentoo muy pronto.

Strata

Mencioné hace tiempo que había iniciado un editor de escenarios para el proyecto. Sin embargo, lo que había hecho era simplemente copiar el demo de ETM e intentar trabajar sobre él (cosa que nunca hice). Hoy decidí escribirlo desde cero e incluirlo como parte del proyecto. Así nació Strata.
Luego de probar un poco Artifex Terra me percaté que aunque era muy bueno solo resolvía una parte del problema: la estructura del escenario. La creación de objetos específicos del juego como entidades o triggers queda en el aire.
Strata intenta resolver esto, creando mapas específicos para el juego, con información sobre las entidades, sonidos de fondo, efectos sobre esos sonidos y clima. Aún me queda extender el formato xml actual para incluir todas esas cosas, pero ya lo haré cuando llegue el momento.

MOC al 20%

Hoy he iniciado la integración de MOC. Tal y como decía el anuncio, es muy sencillo y preciso. La selección se produce únicamente cuando se clickea en la malla e incluso puede utilizar las máscaras de las entidades. De momento solo tengo la selección, el segundo paso es determinar si en modo isométrico el rayo no intersecta ninguna entidad y en ese caso determinar las coordenadas del terreno. MOC trabaja lo mismo con el terrain renderer de Ogre que con el Editable Terrain Manager. El tercer paso, colisiones como tal. Lo ideal hubiera sido un sistema de física, pero justo ahora los que hay son wrappers que pueden funcionar en Linux o no, y con la documentación estrictamente necesaria para que un programador experimentado les meta el diente. De ahí en adelante que cada perro se lama su órgano.
Otra cosa sencilla que agregué hoy es un contador de cuadros, para medir el rendimiento. Usando el backend D3D 9, con las sombras habilitadas y anti alias Level 8 (no sé esta notación que usa DX pa…

De vuelta al estancamiento

Dos días muy poco productivos. Ayer, mucho trabajo estúpido: instalar Windows y recuperar toneladas de correo y documentos. Aparte de eso me he encontrado con un error curioso: por alguna razón el proyecto principal (Ark) produce una excepción cuando intenta parsear un archivo .program. Los program son la forma que tiene Ogre de definir los shaders. O sea, necesitas los correspondientes .cg, .hlsl o .glsl, pero además necesitas una definición o nombre que puedas usar en la declaración de un material.
El caso es que no van ni atrás ni alante, y para más inri todo va perfecto en el proyecto de prueba que es solo una vista en 3ra persona con ETM (que dicho sea de paso, también tiene un error misterioso). No me hace ninguna gracia descartar el proyecto por cuarta vez y empezar a migrar código al que sí funciona.

Actualización: El error era que debía inicializar la ventana antes de parsear los recursos con ResourceGroupManager::getSingleton().initializeAllResourceGroups();. Y si no recuerdo …