Ir al contenido principal

Entradas

Mostrando entradas de junio, 2010

Nueva plantilla

Hay días en que el lado gay resalta más, y parece que hoy fue uno de esos días para mí. Por casualidad fui a parar al nuevo editor de plantillas de Blogger y me llamó la atención una de ellas, con la posibilidad de poner tres columnas. Aunque al final la división de la columna de la derecha no funciona como yo esperaba, logré un aspecto aceptable, al menos en mi opinión.
El nuevo editor permite hacer muchas cosas, que no tuve tiempo ni interés en probar. También, al fin, logré los botones para compartir las anotaciones en las redes sociales más populares, cosa que anteriormente hacía con un código tomado de Feedburner, que no era tan cómodo y compacto visualmente. Ahora ya vienen en la plantilla. De paso limpié cosas viejas, como los anuncios de Wointz en el pie de página, a fin de cuentas no me reportaban visitas. Una pena, porque la idea es buena, pero probada hasta la saciedad y no funciona, porque simplemente los lectores ignoran los anuncios a menos que sean cosas que en verdad n…

Jugando con glade3 y pygtk

Hoy he hecho un alto para echar una rápida mirada a algo que tenía pendiente desde hace un buen tiempo: desarrollo con python, usando pygtk y glade para construir interfaces. Me sorprendió lo sencillo, una vez que hube logrado atar todos los cabos sueltos. El problema es que hay abundancia de ejemplos, pero casi todos fallan en indicar detalles tan importantes como que hay dos formatos: gtkbuilder y libglade (este último obsoleto o algo así) que se cargan de diferentes formas. Por tanto, hay que tomar de diferentes fuentes, algunas de ellas bastante desactualizadas, para obtener un resultado que funcione.
Por lo demás, Glade me parece bastante maduro, aunque para cosas complejas se dice que se vuelve un poco complicado. Bueno, eso es lo malo de las cosas complejas. De Gtk, me resulta molesto tener que usar contendeores para todo, hay que pensar muy en detalle la disposición que queremos dar a cada widget, si se nos queda algo fuera y no tienes una buena experiencia armando interfaces,…

Cuba en Mundiales de fútbol

Estamos en pleno Mundial, y obviamente yo quisiera estar en casa disfrutando de los partidos de octavos, pero desgraciadamente un olvido ayer me ha obligado a tener que volver a la oficina hoy sábado por la mañana.
Pero ya que hablamos de mundiales de fútbol, les haré un poco de historia acerca de Cuba y los mundiales. Nuestro país está entre los primeros en béisbol, voleibol, boxeo y judo (sí, eso de pegarle a los demás se le da bien a los cubanos), pero en fútbol somos bastante mediocres.
Nuestra selección nacional solo ha logrado llegar hasta un campeonato, el de 1938, en Francia. Según la Wikipedia, Cuba derrotó en repetición a Rumania (al parecer el sistema era diferente entonces) y fue eliminada por Suecia. Nunca más Cuba logró estar cerca ni siquiera de clasificar, excepto en el Mundial anterior (2006), cuando empataron dos veces con Costa Rica. Un par de juegos en los que el equipo cubano fue muy superior, a tal punto llegaron a  estar los costarricenses contra la pared que e…

Perfil de usuario y directorio para el juego

La mayoría de las aplicaciones (no solo juegos) necesita un lugar donde guardar al configuración personalizada y datos para cada usuario. La solución óptima es hacerlo en el directorio home o perfil, para los amigos Windows. Gracias a Engel, ya tenemos eso funcionando en Win y hoy logré completar la parte Linux.
Para Windows, el código para obtener el camino al perfil del usuario quedaría de la siguiente forma:

std::string dir;
    char AppDir[MAX_PATH+1] = {'\0'};
    ITEMIDLIST* pidl;
    HRESULT hRes = SHGetSpecialFolderLocation( NULL, CSIDL_APPDATA|CSIDL_FLAG_CREATE , &pidl );
    if (hRes==NOERROR)
    {
      SHGetPathFromIDList( pidl, AppDir );
    }
    dir = std::string(AppDir) + "/TheArk/";
    if(_mkdir(dir.c_str()) != 0){
        // "already exists" error is fine, else we failed.
        errno_t err;
        _get_errno(&err);
        if( err != EEXIST)
            throw std::exception(("Could not create directory "+dir).c_str())…

MSI y nuevo sistema de propiedades

Gracias a la ayuda invaluable de Engel, ya tenemos un sistema para crear instaladores MSI. Solo falta integrarle el paquete de redistribución de VS 2010 y ya estaríamos listos para liberar versiones para Windows. Otro detalle importante es que ya casi el juego está listo para evitar el uso de una cuenta administrativa, ahora la configuración y los juegos salvados se guardarán en el perfil del usuario, como debe ser, tanto en Windows como en Linux. Ahora solo hay dos temas que nos separan de un alpha preview: la física y tener nuestros propios modelos.
También implementé el nuevo sistema de propiedades para las entidades, aún muy básico, que sirve para guardar todo un conjunto de información propia de cada entidad como los nombres de las animaciones, los scripts, etc. Una propiedad es un par nombre/valor, que por el momento solo admite valores de tipo string. La clase Entity dispone de dos accesores: setProperty() y getProperty() que establecen y obtienen los valores. Por ejemplo, si q…

Nueva versión de Planeshift

Ya tenemos otra versión del MMORPG open source Planeshift, con algunas cosas nuevas, pero que desgraciadamente aún no arregla el problema que me impide conectarme. Resulta interesante también leer una entrevista al líde del proyecto que se publicó en OnRPG.
Para los que no lo saben, Planeshift es un MMORPG 3d, de fantasía, completamente gratis: no hay contenido premium, ni items de pago, nada. Probablemente el proyecto más conocido basado en el motor CrystalSpace, del cual he hablado mucho últimamente.

Avanzamos con la fisica

Otro día productivo hoy. Aparte de seguir el aprendizaje (Zamme y Jesús deben estar muy aburridos de mí) con Blender y el exporter de CS, dediqué un rato a lidiar con OgreBullet. La física ha sido la asignatura pendiente del proyecto desde que lo inicié, y ya se está haciendo más necesaria. Engel logró compilar OgreBullet en Windows, pero me estaba dando algunos problemas en Linux, debido a que depende de ConvexDecomposition, una biblioteca que es parte de Bullet, pero incuida en los Extras (donde también hay otras cosas interesantes como un broadphase acelerado con CUDA, pero eso lo veré otro día). Así que requiere un manejo aparte e instalarla manualmente.
Sin embargo, parece que algo tenía mal yo, porque no es necesario enlazar directamente a ConvexDecomposition en el proyecto, solo a las dos bibliotecas de OgreBullet. No sé si voy muy bien o muy mal, porque esto es terreno nuevo para mí. Justo ahora me estoy estudiando los demos más básicos en el escaso tiempo de que dispongo a v…

Al fin, funciona b2cs

Gracias a la ayuda de Zamme hoy logré que funcionara el exporter de Crystal Space para Blender. En verdad me he quedado asombrado de las funcionalidades del exporter, que más que eso, permite visualizar con CS o CEL cómo van quedando las cosas, editar propiedades para CEL, etc. Veinte minutos no bastan para conocerlo a fondo. Por ahora solo hay un detalle que nos preocupa a ambos y es que se nos viene encima la versión 2.5 de Blender y b2cs está más o menos sin mantenedor oficial. Tengo pensado hacer algunos prototipos sencillos con CEL, en cuanto actualice el portage (ya está disponible CS 1.4).
Tengo que refirmar mi planteamiento: si vas a iniciarte en los motores de juegos, prueba CS primero.

Modelos 3D y tutoriales gratis

Nuevo sitio con modelos 3D y tutoriales gratis, el autor solo pide que te registres y de ser posible, que contribuyas con una donación. Los modelos son de buen calidad y sin un conteo excesivo de polígonos, incluyen mapa normal y especular (muy importante) y además se ofrecen en varios formatos. Lamentablemente ninguno de ellos es .blend. Intenté importar el .obj y el .dae, pero ninguno funcionó correctamente.

mplayer+VDPAU

Con los nuevos codecs de compresión y las resoluciones altas es natural que muchos CPUs de gama baja se las vean negras para reproducir algunos videos. Esta situación me venía preocupando y desde ayer me di a la tarea de experimentar a ver si podía sacar algún provecho de mi GPU Geforce 9500, en este caso usando VDPAU, que es la solución de Nvidia. Lamentablemente cada fabricante tiene la suya, pero VDPAU parece ir más avanzada.
En Gentoo es muy sencillo habilitar VDPAU (para los que usan Ubuntu hay una guía muy buena aquí), solo necesitas agregar el flag vdpau al USE de mplayer, y muy importante, usar la versión que aún está enmascarada en el portage. La versión "estable", aunque admite el flag, no funciona. También actualicé los drivers de nvidia a la versión 190, que me incluyó un paquete libvdpau, aunque teóricamente el soporte está disponible desde la serie 180.
Una vez que has instalado el último mplayer, la configuración en /etc/mplayer se habrá actualizado y verás un…

Stio de Fallout Online, online

Y valga la redundancia. A pesar de los problemas legales, Interplay lanza el sitio de Fallout Online, lo cual no sé si es una buena noticia. Es que a pesar de que Fallout es una franquicia valiosa, ya Interplay la dejó perder una vez. El sitio es un teaser, o sea, que debe dar muy poca información (es una pesadez hecha en flash que aún no he podido ver) y además permite inscribirse para la fase beta.
De esto, podemos suponer algo. El proyecto va, a pesar de que me sienta escéptico, y está cerca de alcanzar un beta, lo cual me hace suponer que el equipo es muy bueno y son unas máquinas trabajando.

El zumbido del Mundial

Algo que me resultó significativo al ver los breves momentos que he podido disfrutar del Mundial (usualmente estoy en la oficina durante los horarios de transmisión), fue el raro zumbido de fondo, en vez del habitual ruido de la multitud. Pues bien, leo en Slashdot que el extraño zumbido se debe a decenas de miles de cornetas llamadas vuvuzelas, que parece ser la forma tradicional de los africanos de alborotar en sus estadios.
El zumbante ruidito puede ser filtrado, según descubrió un hacker teutón llamado Tube, aplicando algunos filtros al sonido y algunas cadenas están valorando usar dichos filtros para eliminar el ruido.

SCons 2.0

Ha sido liberada la versión 2.0.0 de SCons, un sistema de construcción  que se ha vuelto bastante popular últimamente como  alternativa a las autotools (y que es el que uso). Pueden descargarlo aquí, aunque supongo que como yo, la mayoría esperará a que sea incluido en los repositorios oficiales, a menos que uses Windows, claro.

E3 2010

Hoy empieza el E3 2010. Pero supongo que todos ya lo sabían.
Por una semana la ciudad de  Los Angeles va a estar invadida por videojuegos, desarrolladores y fanáticos. Hardware y software de última generación como Kinect (antes llamado Natal), Sony Move, Assassins Creed Brotherhood, Fallout New Vegas... En fin, es el lugar donde deberías estar si te gustan los videojuegos y te puedes costear un viaje a Los Angeles. Solo el viaje, porque si hace falta puedes dormir en el metro o algo así. Digo, si es que piensas dormir durante esa semana.

Otro más de Fallout New Vegas

Directo desde le E3 de este año, Gametrailers nos trae un video del gameplay de Fallout New Vegas, mezclado con un poco de trailer publicitario. Un poco más decente que el anterior, aunque no muestra mucho más.
Seguimos confirmando, el juego se ve exactamente igual. De hecho, tal parece que Bethesda cedió los  modelos que usó en Fallout 3, además del motor (Gamebryo). Un detalle curioso es que Alpha Protocol usa el Unreal Engine 3, lo cual me resulta bastante raro, que una empresa use un motor que no es el habitual en sus proyectos.

Vigila la temperatura de tu disco duro

Es un error muy común olvidar que los componentes de nuestra PC se calientan mucho. Es prudente mantenre vigiladas estas temperaturas, sin embargo, no todos los componentes tienen rangos iguales de operación. En mi caso, siempre estoy atento a la temperatura del disco duro cuando trabajo en casa. Mi región es extremadamente caliente, con temperaturas de 33 a 36 grados, y además mi cuarto por lo regular tiene algunos grados más que eso.
En comparación con su consumo de electricidad,  el disco duro se calienta de una forma desproporcional debido a las partes móviles que contiene. Los discos tienden a calentarse mucho y muy rápido, y su rango admisible es más estrecho que el del CPU o la tarjeta gráfica. Por lo general el rango sugerido por los fabricantes oscila entre 30 y 55, a veces 60 grados. A más grados, más cerca estaremos de sufrir errores y pérdida de rendimiento. A menos, igual, al parecer los discos no están hechos para operar a muy bajas temperaturas.
Controlar esta situación…

Gameplay de Fallout New Vegas

En IGN han conseguido un breve (brevísimo, diría yo) video de Fallout New Vegas. Los escasos segundos confirman lo que ya sabíamos: se ve muy parecido a Fallout 3. No podía ser de otra forma, en tan poco tiempo.





No obstante, tengo mucha fe en Obsidian. En fin, hay que irse preparando porque pronto tendremos otro Fallout en la familia.

Proyecto portado a Ogre 1.7 y CEGUI 0.7

Al fin he logrado que todo funcione como debe ser (o casi todo). Lo más problemático ha sido CEGUI, que sí tiene grandes cambios de la 0.6 a la 0.7. Los de Ogre son mínimos, de hecho, no he tenido que cambiar ninguna línea de código referente a Ogre.
Ha sido un día pesado, así que no me extenderé mucho, luego hablaré más al respecto.

Metro 2033, la novela

Año 2033. Tras una guerra nuclear devastadora, amplias zonas del mundo han quedado sepultadas bajo escombros y cenizas debido a la radiación. También Moscú se ha transformado en una ciudad fantasma. Los supervivientes se han refugiado bajo tierra, en la red de metro. En cada una de las estaciones, convertidas en pequeñas ciudades Estado, sus habitantes se agrupan en torno a las más diversas ideologías, religiones o movidos por un único objetivo: impedir una invasión de las criaturas mutantes del exterior.
Artyom, un joven soldado, será elegido para penetrar en el corazón del Metro hasta la legendaria Polis y alertar a todos del peligro que acecha a la estación de la que procede, la VDNKh, y a toda la red metropolitana. De él dependerá el futuro de su hogar, del Metro y puede que de toda la Humanidad.



Ya he mencionado aquí el juego basado en este libro, que tengo en mi lista de pendientes para jugar. Sin embargo, no conocía el origen de la novela, que fue puesta a disposición del públi…