Feliz año nuevo
Hoy es mi último día en la oficina, así que aprovecho para desearles a todos los que pasan por aquí un feliz año nuevo y $A (sustituir la variable anterior por un arreglo conteniendo todas las cosas que deseas: dinero, salud, mucho sexo, etc).
No te mueras para que veas cosas
Como dice alguien por acá. Que se puede ser intruso, pero sin olvidar la cortesía y los buenos modales.
Desde hace un tiempo el tráfico de spam se ha incrementado y las medidas que he implementado son insuficientes, pero en estos días los spammers al menos tienen la delicadeza de desearme unas felices navidades.
Desde hace un tiempo el tráfico de spam se ha incrementado y las medidas que he implementado son insuficientes, pero en estos días los spammers al menos tienen la delicadeza de desearme unas felices navidades.
Manejo de entidades y jugadores
Hace un tiempo mencioné que que había un detalle por optimizar en el ciclo principal: el proceso de los jugadores. Los NPC reciben un refrescado o tiempo de proceso a razón de uno por cada vuelta de cliclo, si han transcurrido N segundos desde que fueron atendidos por última vez, y lo mismo para los personajes. Mantenía listas separadas de entidades de personajes y NPCs, aunque la estructura de datos es la misma. La razón es que la instancia de la clase Entity se guardaba como parte de la información de conexión de cada jugador.
Luego de razonar un poco me percaté que tal enfoque no era el correcto y que era trivial separar la información del personaje de la información de conexión del jugador, e integrarla a la lista de entidades. Aún no he puesto manos a la obra, pero debería tomarme apenas una hora reajustar todo.
Luego de razonar un poco me percaté que tal enfoque no era el correcto y que era trivial separar la información del personaje de la información de conexión del jugador, e integrarla a la lista de entidades. Aún no he puesto manos a la obra, pero debería tomarme apenas una hora reajustar todo.
Elymuria
Para estar a tono con la ola de anuncios navideños y aunque no tenga mucho que mostrar, aprovecho para hacer oficial el proyecto Elymuria. Mis agradecimientos a Daysita por encontrarme el nombre, porque a mí no se me ocurrió nada que sirviera. El servidor y el cliente están en el repositorio. El wiki es un intento de página oficial que no funciona muy bien, por lo que se convertirá en la guía de usuario en un futuro bastante lejano.
Google Code Hosting
Al fin me decidí a crear el proyecto en Google Code Hosting. Sourceforge está sobrecargado en exceso, Berlioz no acepta más proyectos de juegos y Savannah exige una serie de requisitos que hacen el proceso tedioso sin necesidad. Y ahora está de moda Google, así que ¿por qué no echarle un vistazo?
Para empezar diré que aún está un poco verde, muy lejos de las funcionalidades que proporciona sourceforge. Da la impresión de un conjunto de servicios amarrados entre sí con hilo viejo: SVN, control de miembros sin un perfil mínimo, una página de proyecto que no se puede cambiar complementada por un wiki con escasas explicaciones de cómo hacer las cosas y ya está. Eso es todo lo que Google tiene para ofrecer una alternativa a los veteranos en este campo.
De paso: http://code.google.com/p/elymuria
Para empezar diré que aún está un poco verde, muy lejos de las funcionalidades que proporciona sourceforge. Da la impresión de un conjunto de servicios amarrados entre sí con hilo viejo: SVN, control de miembros sin un perfil mínimo, una página de proyecto que no se puede cambiar complementada por un wiki con escasas explicaciones de cómo hacer las cosas y ya está. Eso es todo lo que Google tiene para ofrecer una alternativa a los veteranos en este campo.
De paso: http://code.google.com/p/elymuria
Ryzom (otra vez)
Pues bien, al parecer la iniciativa de comprar Ryzom ha fracasado. Henos aquí con una comunidad con 170000 estacas en el bolsillo y que se ha quedado sin caramelos porque ni siquiera les dieron tiempo a mostrar la billetera.
De todas formas, bravo por ellos, por haber emprendido la lucha. Pero yo en su lugar, cogía esos 170k, el motor del juego (que es libre) y me dedicaba a crear un nuevo Ryzom mantenido por la comunidad.
De todas formas, bravo por ellos, por haber emprendido la lucha. Pero yo en su lugar, cogía esos 170k, el motor del juego (que es libre) y me dedicaba a crear un nuevo Ryzom mantenido por la comunidad.
Op-Center
Luego de una sobredosis de fantasía causada por la lectura consecutiva de Eragon, Crónicas y Leyendas de Dragonlance y al final Naciones Enanas, andaba en busca de algo radicalmente opuesto para despejar.
De alguna forma me cayeron en las "manos" un par de libros de la serie Op-Center de Tom Clancy. Aunque no era precisamente lo que buscaba de Clancy, el resultado es el mismo. En cierta forma me recuerda a La Conspiración, de Dan Brown, pero hay que aclarar que Clancy es un escritor con muchos más recursos. Hasta puede darse el lujo de revelarnos en las primeras páginas quiénes son los malos y qué pretenden hacer. Y aún así tenemos que seguir leyendo porque nos queda la duda de cómo se las va a arreglar el Op-Center para desbaratar el malvado plan.
Por supuesto, se agradecería que nos obviara las disquisiciones filosóficas acerca de la necesidad de hacer cosas incorrectas por el bien del país, pero supongo que eso sea inevitable.
De alguna forma me cayeron en las "manos" un par de libros de la serie Op-Center de Tom Clancy. Aunque no era precisamente lo que buscaba de Clancy, el resultado es el mismo. En cierta forma me recuerda a La Conspiración, de Dan Brown, pero hay que aclarar que Clancy es un escritor con muchos más recursos. Hasta puede darse el lujo de revelarnos en las primeras páginas quiénes son los malos y qué pretenden hacer. Y aún así tenemos que seguir leyendo porque nos queda la duda de cómo se las va a arreglar el Op-Center para desbaratar el malvado plan.
Por supuesto, se agradecería que nos obviara las disquisiciones filosóficas acerca de la necesidad de hacer cosas incorrectas por el bien del país, pero supongo que eso sea inevitable.
Astratega, primeras impresiones
Como había avisado la semana pasada, se ha iniciado una nueva partida de Astratega. Según el anuncio oficial es la versión 1.0, sin embargo me parece que aún seguimos con la beta 3. Para los que no lo han mirado, es un juego de estrategia basado en navegador.
De inicio, hay que criticar que no es tan claro e intuitivo como el OGame, ni en interfaz ni en modo de juego. Demasiados botones repetidos que hacen una misma cosa y algunos detalles son algo ambiguos. Es necesario consultar el tutorial muchas veces para familiarizarse con todo y aún así quedan dudas: ¿son acumulativos los efectos de las investigaciones? ¿los recursos están centralizados y disponibles en todos los planetas? El proceso de colonización es demasiado manual, ocupas un planeta y lo recibes sin habitantes, por lo tanto debes desviar población de alguno de tus otros mundos para poblar este. Sin embargo, no sólo debes enviar el transporte con población, sino que también debes dar a la orden de descargar el transporte o los obreros desplazados no cuentan a la hora de calcular el crecimiento poblacional. Con lo cual, se pierde tiempo valioso.
En fin, no acaba de convencerme, pero tengo entendido que la partida es lenta al principio pero luego se hace más dinámica y no alcanza el tiempo. Esperemos que sea así.
De inicio, hay que criticar que no es tan claro e intuitivo como el OGame, ni en interfaz ni en modo de juego. Demasiados botones repetidos que hacen una misma cosa y algunos detalles son algo ambiguos. Es necesario consultar el tutorial muchas veces para familiarizarse con todo y aún así quedan dudas: ¿son acumulativos los efectos de las investigaciones? ¿los recursos están centralizados y disponibles en todos los planetas? El proceso de colonización es demasiado manual, ocupas un planeta y lo recibes sin habitantes, por lo tanto debes desviar población de alguno de tus otros mundos para poblar este. Sin embargo, no sólo debes enviar el transporte con población, sino que también debes dar a la orden de descargar el transporte o los obreros desplazados no cuentan a la hora de calcular el crecimiento poblacional. Con lo cual, se pierde tiempo valioso.
En fin, no acaba de convencerme, pero tengo entendido que la partida es lenta al principio pero luego se hace más dinámica y no alcanza el tiempo. Esperemos que sea así.
Se inicia nueva partida de Astratega
Astratega.com ha iniciado hoy una nueva partida, esta vez con la versión 1.0 del juego. Aún estás a tiempo de registrarte, hay pocos jugadores y todos están a casi el mismo nivel, pero supongo que esa situación cambiará dentro de pocas horas.
Y como pueden ver, esta anotación es la primera que hago con Blogger Beta. Al fin recibí la posibilidad de migrar el blog, veremos como me va.
Y como pueden ver, esta anotación es la primera que hago con Blogger Beta. Al fin recibí la posibilidad de migrar el blog, veremos como me va.
Ryzom
A través de esta anotación en linuxjuegos.com supe que este juego online permite jugar gratis sin límites. Así que me di a la tarea de bajarlo, algo nada fácil pues son 1.7 Gb. El sitio oficial promete toda clase de maravillas, incluyendo la posibilidad de crear tus propios hechizos.
Para empezar, no es solo una descarga grande. El juego pide además 7 Gb para instalarse, pero afortunadamente no es necesario descargar mucho más aparte de la instalación, solo 10 Mb de actualizaciones. El proceso de creación de la cuenta es sencillo, aunque por alguna razón el url de activación llegó a mi correo en Yahoo varias horas después, mientras que a gmail llegó en cuestión de segundos.
Empezaré con las cosas que no me gustan. El sistema de manejo de latencia consiste en detener el juego con una molesta ventanita, lo cual puede convertirse en una molestia con líneas saturadas. El motor gráfico, impresionante, aunque este calificativo se aplica solo a sus requerimientos. En mi ATI Radeon Express 200M onboard fue necesario bajar todos los parámetros al mínimo para poder al menos mover el personaje.
Sin embargo, los gráficos no son algo en lo que me fije mucho cuando de juegos online se trata. El apartado de modo de juego puntea más alto en mi apreciación y aquí Ryzom se desempeña bastante bien. La interfaz es intuitiva y el sistema de habilidades se asimila en poco tiempo. Un punto en contra es que aunque al principio escogemos una profesión: mago, guerrero, artesano o recolector, esto no influye en lo absoluto en el desarrollo posterior del personaje. Simplemente desarrollamos las habilidades que más usamos.
La parte de creación de objetos está muy bien lograda. No existen recetas predefinidas, cada material que podemos obtener, ya sea por recolección o de las presas muertas, puede emplearse en diferentes partes de objetos y proporciona características específicas al objeto resultante.
Tal vez el proceso de recolección pueda parecer complicado para el gusto de algunos. Existen diferentes habilidades o formas de cosechar recursos, aunque hubiese sido más claro que todas ellas tributaran a un solo método. En el procedimiento actual, existen varias habilidades de cosechado, cada uno con un propósito específico, por ejemplo Gentle harvest, Ground stability, etc.
Como ya dije, a partir de las habilidades mágicas aprendidas puedes crear nuevos hechizos, pero hasta ahora no he logrado combinar algo que supere las acciones predefinidas.
En fin, es un juego que vale la pena jugar si puedes permitirte la descarga y una tarjeta gráfica decente.
Para empezar, no es solo una descarga grande. El juego pide además 7 Gb para instalarse, pero afortunadamente no es necesario descargar mucho más aparte de la instalación, solo 10 Mb de actualizaciones. El proceso de creación de la cuenta es sencillo, aunque por alguna razón el url de activación llegó a mi correo en Yahoo varias horas después, mientras que a gmail llegó en cuestión de segundos.
Empezaré con las cosas que no me gustan. El sistema de manejo de latencia consiste en detener el juego con una molesta ventanita, lo cual puede convertirse en una molestia con líneas saturadas. El motor gráfico, impresionante, aunque este calificativo se aplica solo a sus requerimientos. En mi ATI Radeon Express 200M onboard fue necesario bajar todos los parámetros al mínimo para poder al menos mover el personaje.
Sin embargo, los gráficos no son algo en lo que me fije mucho cuando de juegos online se trata. El apartado de modo de juego puntea más alto en mi apreciación y aquí Ryzom se desempeña bastante bien. La interfaz es intuitiva y el sistema de habilidades se asimila en poco tiempo. Un punto en contra es que aunque al principio escogemos una profesión: mago, guerrero, artesano o recolector, esto no influye en lo absoluto en el desarrollo posterior del personaje. Simplemente desarrollamos las habilidades que más usamos.
La parte de creación de objetos está muy bien lograda. No existen recetas predefinidas, cada material que podemos obtener, ya sea por recolección o de las presas muertas, puede emplearse en diferentes partes de objetos y proporciona características específicas al objeto resultante.
Tal vez el proceso de recolección pueda parecer complicado para el gusto de algunos. Existen diferentes habilidades o formas de cosechar recursos, aunque hubiese sido más claro que todas ellas tributaran a un solo método. En el procedimiento actual, existen varias habilidades de cosechado, cada uno con un propósito específico, por ejemplo Gentle harvest, Ground stability, etc.
Como ya dije, a partir de las habilidades mágicas aprendidas puedes crear nuevos hechizos, pero hasta ahora no he logrado combinar algo que supere las acciones predefinidas.
En fin, es un juego que vale la pena jugar si puedes permitirte la descarga y una tarjeta gráfica decente.
Quadtrees
Había mencionado hace un tiempo los quadtrees y dije que hablaría acerca de ellos y por qué son tan importantes a la hora de manejar listas de entidades. Según la wikipedia, un quadtree es una estructura de datos en forma de árbol en la que cada nodo puede tener hasta cuatro hijos. Se utilizan para particionar un espacio bidimensional subdividiéndolo recursivamente en cuatro cuadrantes o regiones. En este caso nos interesa su aplicación en indexación espacial, o dicho en lenguaje más claro, para determinar si dos puntos están cercanos entre sí.
Supongamos que tenemos un área o mapa de nuestro juego y comenzamos dividiéndolo en cuatro sectores:
A su vez, cada uno de estos sectores es subdividido otra vez:
y así sucesivamente (que para eso está la palabrita recursivo por ahí arriba), hasta que tenemos nuestro mapa dividido en regiones de tamaño X, cada una de las cuales es un nodo de nuestro árbol. Dadas tres entidades de nuestro juego, A, B y C, necesitamos notificar de cualquier cambio en alguna de ellas a sus vecinos. ¿Cómo encontrar las entidades cercanas sin recorrer toda la lista? Aquí es donde entran en escena los quadtrees. Como muestra la imagen siguiente, solo tendríamos que recorrer nuestro árbol y tomar todas las entidades que se encuentren en el mismo sector.
En el caso anterior, A y B son vecinos, están en el mismo sector, así que teóricamente deberíamos encontrarlos en el mismo nodo. Tal búsqueda debería además dejar fuera a C.
Así que, sin recorrer toda la lista de entidades, tenemos los vecinos de A.
Sin embargo, las cosas pueden complicarse, como podemos ver en este último dibujito:
No hay dudas de que este tío llamado D es tremendo inoportuno. Es vecino de B, ¡pero no está en el mismo cuadrante! Es como para mentarle a su progenitora. Resolver este problema lo dejo como ejercicio intelectual para el lector. O sea, que no tengo ni puta idea de cómo lidiar con él, a menos que cada cuadrante guarde un puntero adicional al cuadrante vecino.
Otro detalle, no sé cuánto CPU consuma la importantísima tarea de mantener el árbol organizado. Hay que recordar que cuando una entidad se desplaza, debe quedar en el nodo correcto.
Supongamos que tenemos un área o mapa de nuestro juego y comenzamos dividiéndolo en cuatro sectores:
A su vez, cada uno de estos sectores es subdividido otra vez:
y así sucesivamente (que para eso está la palabrita recursivo por ahí arriba), hasta que tenemos nuestro mapa dividido en regiones de tamaño X, cada una de las cuales es un nodo de nuestro árbol. Dadas tres entidades de nuestro juego, A, B y C, necesitamos notificar de cualquier cambio en alguna de ellas a sus vecinos. ¿Cómo encontrar las entidades cercanas sin recorrer toda la lista? Aquí es donde entran en escena los quadtrees. Como muestra la imagen siguiente, solo tendríamos que recorrer nuestro árbol y tomar todas las entidades que se encuentren en el mismo sector.
En el caso anterior, A y B son vecinos, están en el mismo sector, así que teóricamente deberíamos encontrarlos en el mismo nodo. Tal búsqueda debería además dejar fuera a C.Así que, sin recorrer toda la lista de entidades, tenemos los vecinos de A.
Sin embargo, las cosas pueden complicarse, como podemos ver en este último dibujito:
No hay dudas de que este tío llamado D es tremendo inoportuno. Es vecino de B, ¡pero no está en el mismo cuadrante! Es como para mentarle a su progenitora. Resolver este problema lo dejo como ejercicio intelectual para el lector. O sea, que no tengo ni puta idea de cómo lidiar con él, a menos que cada cuadrante guarde un puntero adicional al cuadrante vecino.Otro detalle, no sé cuánto CPU consuma la importantísima tarea de mantener el árbol organizado. Hay que recordar que cuando una entidad se desplaza, debe quedar en el nodo correcto.
Irrlicht 1.2
Ha sido liberada la versión 1.2 de este motor gráfico, acompañada de la 0.6 de IrrEdit. Herramienta ésta que ha dado mucho de qué hablar en los foros de Irrlicht, ya que algunos se preguntan por qué se invierte tiempo en esto en vez de dedicarlo a mejorar el motor que en muchos aspectos aún es limitado. Por ejemplo, desde hace tiempo se viene reclamando que se diseñe (e implemente) un formato de modelos y escenarios propio con sus correspondientes exportadores apra las principales aplicacioens de modelado. Irrlicht maneja de forma nativa diversos formatos, pero ninguno de ellos del todo bien.
Me resulta curioso que esta noticia me llegó vía Gamedev.net, que no se caracteriza por su abundancia de noticias sobre software libre. Un punto a favor de Irrlicht.
Me resulta curioso que esta noticia me llegó vía Gamedev.net, que no se caracteriza por su abundancia de noticias sobre software libre. Un punto a favor de Irrlicht.
Mi primera aplicacion con Ogre 3d
Tenía pendiente hacer algo con este motor gráfico, para ver qué tal me iba. Invertí en eso toda la mañana de ayer domingo y nada, tal como me esperaba apenas avancé un poco empezaron las excepciones de todo tipo y tuve que dejarlo por imposible.
El gran problema que veo en el concepto de Ogre es que solamente tienes control de la aplicación cuando el motor te deja. Eso es, antes de iniciar un cuadro o al terminar el cuadro. También cuando estás haciendo entrada por cola (buffered input). Al menos eso es lo que me ha parecido en unas pocas horas de uso. Soy partidario de un enfoque radicalmente opuesto, preferiría llamar al motor solo para que se encargase de refrescar la pantalla y que el control esté en mi manos. Así sé en todo momento dónde estoy parado.
Lo cual no quita que considere a Ogre como el mejor motor LGPL que exista en la actualidad. Pero bueno, hay montones de mujeres bellísimas por ahí y ninguna es mi novia (aún), ¿qué se le va a hacer?
El gran problema que veo en el concepto de Ogre es que solamente tienes control de la aplicación cuando el motor te deja. Eso es, antes de iniciar un cuadro o al terminar el cuadro. También cuando estás haciendo entrada por cola (buffered input). Al menos eso es lo que me ha parecido en unas pocas horas de uso. Soy partidario de un enfoque radicalmente opuesto, preferiría llamar al motor solo para que se encargase de refrescar la pantalla y que el control esté en mi manos. Así sé en todo momento dónde estoy parado.
Lo cual no quita que considere a Ogre como el mejor motor LGPL que exista en la actualidad. Pero bueno, hay montones de mujeres bellísimas por ahí y ninguna es mi novia (aún), ¿qué se le va a hacer?
Declarado UTUTO de interés por la Cámara de Diputados
Mis felicitaciones para Daniel, el proyecto UTUTO ha sido declarado de interés por la Honorable Cámara de Diputados de La Nación Argentina. La noticia completa aquí, en el sitio del proyecto.
Blogs
Al fin mi amigo Edwin se ha decidido a meterse en esto de los blogs. Esperemos que este intento sea el definitivo.
Y hablando de eso, me han confirmado la inscripción en el premio 20Blogs, de 20minutos.es. Me he inscrito en las categorías de Mejor blog de juegos y Mejor blog latinoamericano. Por supuesto que no espero ganar nada, el año pasado blogs mejores que éste quedaron por debajo de otros que muy poco o nada tenían que ver con juegos pero que recurrieron a todo tipo de artimañas. Pero un poco de competencia nunca viene mal.
Y hablando de eso, me han confirmado la inscripción en el premio 20Blogs, de 20minutos.es. Me he inscrito en las categorías de Mejor blog de juegos y Mejor blog latinoamericano. Por supuesto que no espero ganar nada, el año pasado blogs mejores que éste quedaron por debajo de otros que muy poco o nada tenían que ver con juegos pero que recurrieron a todo tipo de artimañas. Pero un poco de competencia nunca viene mal.
Código de enlace
Voy a hacer un aparte para hablar un poco sobre la herramienta que uso para generar el código de enlace entre el intérprete Lua embebido y la aplicación que lo hospeda, en este caso el server.
En mi caso utilizo Lua porque es un lenguaje muy sencillo, medio Pascal, medio C, rápido y con las funcionalidades que necesito. Ahora bien, generar el código necesario para hacer accesibles las clases de C++ a los scripts es una tarea larga, tediosa y susceptible a errores de todo tipo.
Aquí entran los generadores de código, como Swig. Sin embargo, Swig genera código para proporcionar al script Lua la definición de una clase. Si quisiéramos enviar valores, por ejemplo, de dos entidades, habría que usar algún truco extra.
Por suerte hay varias variantes en el caso de Lua, y de ellas, mi preferida es tolua++. Este programita toma un encabezado limpio con algunas directivas específicas y genera el código de enlace que no solo proporciona a Lua la estructura de la clase, sino también funciones para enviar variables al script, variables que pueden ser modificadas.
Supongamos que tenemos el siguiente código en un archivo test.h:
const int C = 10;
class test {
public:
test();
int a,b;
};
El encabezado (o package) para tolua++ sería:
$#include "test.h"
#define C = 10;
class test {
public:
test();
int a,b;
};
Que procesamos con la sintaxis siguiente:
tolua++ -n test -H test_wrap.h -o test_wrap.cpp test.h
Ahora solo necesitamos incluir el encabezado tolua++.h, amén de nuestros dos archivos generados con el código de enlace y por supuesto, enlazar la biblioteca de tolua.
Hacemos disponible la definición de la clase al intérprete Lua:
tolua_test_open(luaVM);
y para enviarle una instancia n de test al script simplemente:
tolua_pushusertype(luaVM,(void*)n,"test");
lua_setglobal(luaVM,"n"); //Aquí le decimos cómo se llamará la variable dentro del script
¿Desventajas? Que necesita linkear una biblioteca extra. Que tolua++ usa scons para compilarse y no make. Pero las ventajas superan con creces estas nimiedades.
En mi caso utilizo Lua porque es un lenguaje muy sencillo, medio Pascal, medio C, rápido y con las funcionalidades que necesito. Ahora bien, generar el código necesario para hacer accesibles las clases de C++ a los scripts es una tarea larga, tediosa y susceptible a errores de todo tipo.
Aquí entran los generadores de código, como Swig. Sin embargo, Swig genera código para proporcionar al script Lua la definición de una clase. Si quisiéramos enviar valores, por ejemplo, de dos entidades, habría que usar algún truco extra.
Por suerte hay varias variantes en el caso de Lua, y de ellas, mi preferida es tolua++. Este programita toma un encabezado limpio con algunas directivas específicas y genera el código de enlace que no solo proporciona a Lua la estructura de la clase, sino también funciones para enviar variables al script, variables que pueden ser modificadas.
Supongamos que tenemos el siguiente código en un archivo test.h:
const int C = 10;
class test {
public:
test();
int a,b;
};
El encabezado (o package) para tolua++ sería:
$#include "test.h"
#define C = 10;
class test {
public:
test();
int a,b;
};
Que procesamos con la sintaxis siguiente:
tolua++ -n test -H test_wrap.h -o test_wrap.cpp test.h
Ahora solo necesitamos incluir el encabezado tolua++.h, amén de nuestros dos archivos generados con el código de enlace y por supuesto, enlazar la biblioteca de tolua.
Hacemos disponible la definición de la clase al intérprete Lua:
tolua_test_open(luaVM);
y para enviarle una instancia n de test al script simplemente:
tolua_pushusertype(luaVM,(void*)n,"test");
lua_setglobal(luaVM,"n"); //Aquí le decimos cómo se llamará la variable dentro del script
¿Desventajas? Que necesita linkear una biblioteca extra. Que tolua++ usa scons para compilarse y no make. Pero las ventajas superan con creces estas nimiedades.
Lazo principal del server
En sus inicios el lazo principal del server era más o menos así:
while
{
chequeo de eventos (incluye entrada de paquetes)
revisar la lista de jugadores y ejecutar refrescado si no han sido tocados en 2 segundos
lo mismo para los NPCs
}
Tal esquema, en principio, no es tan malo. Bajo una situación de 1700 entidades NPC consumía un 15-30% de CPU como ya mencioné en una anotación anterior. Sin embargo, una solución más óptima y sencilla de implementear es la siguiente:
while
{
chequeo de eventos (incluye entrada de paquetes)
revisar la lista de jugadores y ejecutar refrescado si no han sido tocados en 2 segundos
revisar solo un NPC e incrementar el iterator para la proxima vuelta del lazo
}
En este caso sólo se verifica/ejecuta una entidad por cada iteración del ciclo principal. La única preocupación es que el servidor pueda garantizar que todas las entidades (NPCs o jugadores) se reciban su refrescado cada dos segundos o cualquiera que sea el intervalo.
Sin embargo, no he podido hacer los mismo para el procesado de jugadores. Aquí la solución no es tan sencilla, ya que en un inicio la lista de jugadores está vacía, situación que podría repetirse más adelante si todos los jugadores se desconectan. Por tanto se requieren algunas verificaciones que aún no me he molestado en elucubrar para evitar iterar una lista vacía y explotar el server. De todas formas, el uso de listas y vectores de STL tendrá que ser descartado más adelante en favor de quadtrees por una razón que explicaré luego.
Se admiten opiniones y sugerencias acerca de cómo optimizar aún más el lazo.
while
{
chequeo de eventos (incluye entrada de paquetes)
revisar la lista de jugadores y ejecutar refrescado si no han sido tocados en 2 segundos
lo mismo para los NPCs
}
Tal esquema, en principio, no es tan malo. Bajo una situación de 1700 entidades NPC consumía un 15-30% de CPU como ya mencioné en una anotación anterior. Sin embargo, una solución más óptima y sencilla de implementear es la siguiente:
while
{
chequeo de eventos (incluye entrada de paquetes)
revisar la lista de jugadores y ejecutar refrescado si no han sido tocados en 2 segundos
revisar solo un NPC e incrementar el iterator para la proxima vuelta del lazo
}
En este caso sólo se verifica/ejecuta una entidad por cada iteración del ciclo principal. La única preocupación es que el servidor pueda garantizar que todas las entidades (NPCs o jugadores) se reciban su refrescado cada dos segundos o cualquiera que sea el intervalo.
Sin embargo, no he podido hacer los mismo para el procesado de jugadores. Aquí la solución no es tan sencilla, ya que en un inicio la lista de jugadores está vacía, situación que podría repetirse más adelante si todos los jugadores se desconectan. Por tanto se requieren algunas verificaciones que aún no me he molestado en elucubrar para evitar iterar una lista vacía y explotar el server. De todas formas, el uso de listas y vectores de STL tendrá que ser descartado más adelante en favor de quadtrees por una razón que explicaré luego.
Se admiten opiniones y sugerencias acerca de cómo optimizar aún más el lazo.
Propuesta
Esto ni yo mismo me lo creo. Una amiga me ha propuesto escribir un guión para una serie de televisión, cosa que por supuesto nunca he hecho ni tengo idea de cómo se hace. La serie sería un anime en 3D, producida en unos estudios que se están formando en Holguín, cerca (relativamente) de aquí. Las únicas condiciones son que sea algo fantástico pero sin caer en lo de siempre. En un principio se pedía que fuera ambientada en las civilizaciones precolombinas o algo así, que se apartara de la visión americana/europea/japonesa pero luego de romperme la cabeza decidí que me era mucho más fácil encontrar una idea original en un mundo creado por mí que lograr hacer encajar una historia fantástica en la era de los aztecas. Tampoco es que las ideas originales estén a patadas por ahí, pero ya veré cómo me las agencio. Eso en caso de que logre salir adelante con esta locura.
Y siguiendo esta misma línea, estén atentos proque pronto tendré una sorpresa por aquí.
Y siguiendo esta misma línea, estén atentos proque pronto tendré una sorpresa por aquí.
SCOURGE 0.16
Desde ayer estaba en Happypenguin, pero recién hoy es que veo el anuncio oficial en el sitio. Ya tenemos la 0.16 de este juego, con las mejoras y ampliaciones de rigor.
SWIG 1.3.30
Ha sido liberada la versión 1.3.30 (rama de desarrollo) de SWIG, una herramienta de desarrollo que genera a partir de un fichero de encabezado de C/C++ el código necesario para hacer que funciones y variables de C/C++ estén disponibles en otros lenguajes.
Nuevo en esta versión: soporte para un nuevo lenguaje, R; soporte para Python 2.5; soporte para directores en C# y otras muchas cosas.
Nuevo en esta versión: soporte para un nuevo lenguaje, R; soporte para Python 2.5; soporte para directores en C# y otras muchas cosas.
Double Fusion y Rebellion llevan la publicidad a los juegos
Pues mucho había tardado en llegar, pero ya lo tenemos. Recuerdo que hace un año aproximadamente Funcom realizó una encuesta para estudiar el grado de aceptación por parte de los usuarios de publicidad dentro de Anarchy Online.
Según este artículo de Gamasutra, Double Fusion se ha asociado con la compañía Rival Interactive con base en Virginia y Rebellion del Reino Unido para colocar ingame ads en PRISM, un juego creado para la Guardia Nacional por estos dos desarrolladores. Las opciones son variadas, incluyendo objetos 3D interactivos, videos, ads interactivos con posibilidad de compra en tiempo real.
Es cuestión de tiempo apra que en medio de cualquier juego nos interrumpa un mercader vendiéndonos, además de armaduras y espadas, objetos y servicios del mundo real.
Según este artículo de Gamasutra, Double Fusion se ha asociado con la compañía Rival Interactive con base en Virginia y Rebellion del Reino Unido para colocar ingame ads en PRISM, un juego creado para la Guardia Nacional por estos dos desarrolladores. Las opciones son variadas, incluyendo objetos 3D interactivos, videos, ads interactivos con posibilidad de compra en tiempo real.
Es cuestión de tiempo apra que en medio de cualquier juego nos interrumpa un mercader vendiéndonos, además de armaduras y espadas, objetos y servicios del mundo real.
Transparencias
Al fin logré solucionar el problema con el blend de OpenGL. Antes el último color utilizado se mezclaba con la textura e incluso rellenaba las áreas que supuestamente debían ser transparentes. La solución es simple: solo tenía que habilitar blend con glEnable(GL_BLEND) pero no definir ninguna función de mezclado. No sé si será la forma correcta pero al menos me funciona.
Aún me quedan por resolver dos problemas muy enojosos, el renderizado de fuentes y una falla de segmentación al crear texturas a partir de una SDL_Surface, que por alguna razón sólo se produce cuando compilo con VC o gcc 4. En gcc 3 el siguiente código:
tmp=IMG_Load("default/dialog_back.png");
glBindTexture(GL_TEXTURE_2D, dialog_back); // 2d texture (x and y size)
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, tmp->w, tmp->h, 0, GL_RGBA, GL_UNSIGNED_BYTE, tmp->pixels);
produce una caída total del la aplicación en glTexImage2D.
Para las fuentes estoy intentando usar SDL_ttf y cachear el texto en una textura, pero no he logrado resultados por el momento.
Aún me quedan por resolver dos problemas muy enojosos, el renderizado de fuentes y una falla de segmentación al crear texturas a partir de una SDL_Surface, que por alguna razón sólo se produce cuando compilo con VC o gcc 4. En gcc 3 el siguiente código:
tmp=IMG_Load("default/dialog_back.png");
glBindTexture(GL_TEXTURE_2D, dialog_back); // 2d texture (x and y size)
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, tmp->w, tmp->h, 0, GL_RGBA, GL_UNSIGNED_BYTE, tmp->pixels);
produce una caída total del la aplicación en glTexImage2D.
Para las fuentes estoy intentando usar SDL_ttf y cachear el texto en una textura, pero no he logrado resultados por el momento.
De regreso de las vacaciones
Por desgracia los días de vagancia terminaron. Tuve algunas jornadas de trabajo bastante provechosas, principalmente en el server. He concluido un sistema básico de scripting usando lua y tolua++ para generar el código de enlace entre C++ y el intérprete incrustado. Incluso hice algunas pruebas de carga con 1700 entidades, cada una ejecutando un script con un ciclo y operaciones matemáticas. Antes de optimizar utilizaba entre un 15 y un 30% del CPU. Luego de la optimización bajó bastante, solo me preocupa que con demasiadas entidades y jugadores el server no pueda garantizar que cada una sea atendida cada 2 segundos. Lo que aún no he podido optimizar es el procesado de los jugadores.
También encontré un problema en el código de login, pero persiste otro que ocasiona que las cadenas se envíen con caracteres extra y por lo tanto el server rechaza la solicitud de login.
También encontré un problema en el código de login, pero persiste otro que ocasiona que las cadenas se envíen con caracteres extra y por lo tanto el server rechaza la solicitud de login.
XFCE 4.4 RC2
Hago un alto en mis vacaciones para informarme un p0oco de cómo va el mundo y me encuentro que ayer se liberó el segundo RC de XFCE 4.4, acompañado de libexo 0.3.1.12 rc2 y Thunar 0.5. Pueden consultar el changelog aquí. Los afortunados usuarios de Slackware y Suse ya pueden disfrutar de los correspondientes paquetes.
Vacaciones
Bueno, pues a partir de mañana salgo de vacaciones. Salgo de viaje unos días y luego pienso recluirme en casa de la vieja a trabajar en el proyecto, o mejor dicho, en los proyectos, porque tengo varios aunque algunos de ellos están muy relacionados.
Como desgraciadamente no tengo portátil y los puntos WiFi gratis no abundan aquí, el blog estará abandonado hasta mi regreso.
Como desgraciadamente no tengo portátil y los puntos WiFi gratis no abundan aquí, el blog estará abandonado hasta mi regreso.
Terrain renderer
Como mencioné anteriormente logré echar a andar un primitivo renderizador de terrenos. Tenía pensado poner una imagen, pero el caso es que se ve fatal en mi tarjeta Nvidia Vanta LT a menos que se utilicen los drivers propietarios y desde que cambié a Visual C++ Express 2005 no he logrado que la versión para Windows vuelva a correr.
Aquí puede verse el cliente en ejecución:

Y esto es una muestra del servidor, recibiendo mensajes:
Aquí puede verse el cliente en ejecución:

Y esto es una muestra del servidor, recibiendo mensajes:
Eragon
Nuevamente Daisita me señaló esta peli, la primera de la trilogía El Legado de Christopher Paolini. De inmediato me di a la tarea de localizar el libro original, o más bien los dos primeros libros, pues el tercero aún no se ha terminado. Apenas terminé la serie Mallorea de Eddings inicié la lectura de Eragon.
Debo decir que aunque la novela es buena, hay un no se qué que no acaba de gustarme. Tal vez sea el toque magistral de autores más experimentados como Jordan, Kage Baker o el propio Eddings. Y no puedo dejar de pensar que algo raro hay detrás de la decisión de convertir El legado en una trilogía fílmica, habiendo obras maestras del género fantástico.
No quisiera dármelas de experto analista pero tal vez el hecho de que Paolini escribió este libro a los 15 años (ahora tiene unos 20) tenga algo que ver. Puede ser que estemos asistiendo a un nuevo fenómeno Potter, pero a la inversa.
Sea lo que sea, el joven C.P. ya tiene garantizado su futuro como escritor con esta producción cinematográfica.
Debo decir que aunque la novela es buena, hay un no se qué que no acaba de gustarme. Tal vez sea el toque magistral de autores más experimentados como Jordan, Kage Baker o el propio Eddings. Y no puedo dejar de pensar que algo raro hay detrás de la decisión de convertir El legado en una trilogía fílmica, habiendo obras maestras del género fantástico.
No quisiera dármelas de experto analista pero tal vez el hecho de que Paolini escribió este libro a los 15 años (ahora tiene unos 20) tenga algo que ver. Puede ser que estemos asistiendo a un nuevo fenómeno Potter, pero a la inversa.
Sea lo que sea, el joven C.P. ya tiene garantizado su futuro como escritor con esta producción cinematográfica.
Nueva comunidad de desarrolladores
Un nuevo sitio dedicado a reunir desarrolladores de juegos y artistas está disponible: Digital Reality. Aún no está muy concurrido pero pinta muy bien.
Crystal Space 3D V1.0pre1
Luego de un largo tiempo el motor para juegos Crystal Space libera una nueva versión, la primera de una serie de liberaciones que culminará con la 1.0 definitiva. La pre1 está considerada como estable.
Crystal Space es un motor extremadamente amplio y bastante complejo que abarca desde gráficos hasta física. Es el corazón del proyecto Planeshift y de algunos otros no tan conocidos.
Crystal Space es un motor extremadamente amplio y bastante complejo que abarca desde gráficos hasta física. Es el corazón del proyecto Planeshift y de algunos otros no tan conocidos.
Nuevo server de Travian
A partir del viernes se abre la preinscripción para un nuevo server de travian.es. Este tiene la particularidad de ser un speed server, o sea, todo va más rápido y hay más recursos. La dirección de registro es speed.travian.es.
Microsoft está decidida a sacar adelante Halo como película
Aunque Universal y Fox están retirando el apoyo al proyecto, dirigido por Neill Blomkamp y con producción ejecutiva de Peter Jackson y Fran Walsh, MS y Bungie han reiterado su propósito de convertir Halo en película. Todo se debe a un insignificante problema de menudo. Las compañías cinematográficas intentaron a última hora renegociar los acuerdos financieros para recortarle las ganancias a Jackson y comparsa, debido a que los gastos están sobrepasando los $135 millones asignados inicialmente.
MS y Bungie andan a la caza de nuevos socios que valoren adecuadamente la franquicia (léase que suelten la pasta sin tanta tacañería) y expresaron su firme decisión de llevar adelante el proyecto.
Vía Gamasutra y Bungie.
MS y Bungie andan a la caza de nuevos socios que valoren adecuadamente la franquicia (léase que suelten la pasta sin tanta tacañería) y expresaron su firme decisión de llevar adelante el proyecto.
Vía Gamasutra y Bungie.
MPlayer 1.0rc1
Ayer fue liberada la Release Candidate 1 de este reproductor de video para Unix (y para Win también). La lista de cambios es extensa como de costumbre, y pueden consultarla aquí. A simple vista no veo nada significativo, si exceptuamos que ya el GUI funciona en Windows. Es de esperar que tengamos un RC 2 y luego, con suerte, la versión definitiva.
Mplayer es un reproductor bastante maduro, veterano diría yo. Aún recuerdo los tiempos en que tenía que arrancarles a los desarrolladores el enlace directo para descargarlo vía correo electrónico porque no tenía acceso a Internet. Yo diría que en este momento solo le falta manejar los menúes de DVD para ser perfecto.
Mplayer es un reproductor bastante maduro, veterano diría yo. Aún recuerdo los tiempos en que tenía que arrancarles a los desarrolladores el enlace directo para descargarlo vía correo electrónico porque no tenía acceso a Internet. Yo diría que en este momento solo le falta manejar los menúes de DVD para ser perfecto.
Regnum Online
Tenía planeado hablar de Regnum Online, juego que descubrí gracias a este artículo que sin dudas podrá darles mejores detalles que yo. Sin embargo luego de esperar ansioso toda la noche a que descargara me encontré que por alguna razón, que posiblemente tenga que ver con estar detrás de un proxy, no puedo jugarlo. Nada, qué remedio, tendré que conformarme con decirles que pinta bien, es gratis (que no software libre) e incluso tiene versión para Linux.
No sé a ustedes pero a mí me causa muy buena impresión ver un trabajo así hecho por latinoamericanos y teniendo en cuenta las posibilidades del mercado (por llamarlo de alguna manera) de la región. Ojalá esto sirva de ejemplo, porque potencial hay, no solo de este lado del charco sino también en la península (y si no lo creen pues con echarle un vistazo a Glest basta).
No sé a ustedes pero a mí me causa muy buena impresión ver un trabajo así hecho por latinoamericanos y teniendo en cuenta las posibilidades del mercado (por llamarlo de alguna manera) de la región. Ojalá esto sirva de ejemplo, porque potencial hay, no solo de este lado del charco sino también en la península (y si no lo creen pues con echarle un vistazo a Glest basta).
IrrEdit 0.5
Renderizado de terrenos
Desde hace mucho tiempo vengo dándole vueltas a este asunto de la generación y renderizado de terrenos. Tutoriales hay a montones en internet pero no estaba preparado para entenderlos hasta que leí OpenGL game programming y Beginning OpenGL game programming, un par de libros que recomiendo muy especialmente. Están en mi lista de prioridades para cuando alguien me deba un favor y esté dispuesto a desembolsar su precio para pagármelos, porque obviamente están muy lejos de mi modesto salario.
Cada cual tiene su propio método, pero nadie explica el algoritmo para calcular la geometría del terreno de una forma tan clara y lo mismo para el proceso de renderizado, que incluso agrega agua y posteriormente es susceptible de ser mejorado con arreglos de vértices.
Me resultó muy fácil adaptar el código del libro, aunque en el proceso cometí varios errores.
Suponiendo que tengas un mapa de alturas en forma de arreglo bidimensional:
float hm[MAP_Z][MAP_X]={
{0,1.0,0,0,0,0,0,0,0,0,0,0},
{1.0,4.0,3.0,0,0,1.0,2.0,1.0,0,0,0,0},
{0,0,1.5,2.0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,2.0,3.5,1.0,0,0,0},
{1,2,3,2.7,2,1.1,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0},
{1,2.0,1,0,0,0,1.0,2.0,2.0,0,0,0},
{0,0,0,0,2.0,0,0,0,0,0,0,0},
{0,0,1.0,0,0,0,0,0,0,0,0,0},
{0,0.6,1.0,0.5,0,0,0,0,0,0,0,0},
{0,0,1.0,0,0,0,0,0,0,0,0,0},
{0,0,0.5,0,0,1.1,0,0,0,0,0,0}
};
Generar la geometría sería algo tan sencillo como:
GLfloat terrain[MAP_X][MAP_Z][3];
int z,x;
for (z=0;z < MAP_Z ; z++ )
for (x=0;x < MAP_Z ; z++ )
terrain[x][z][0]=x*ts;
terrain[x][z][1]=hm[z][x];
terrain[x][z][2]=z*ts;
}//for x
}//for z
Y el renderizado sería:
for (z=0;z < style="font-style: italic;"> glBegin(GL_TRIANGLE_STRIP);
for (x=0;x < style="font-style: italic;"> //vertex 0
glTexCoord2f(0.0,0.0);
glVertex3f(terrain[x][z][0],terrain[x][z][1],terrain[x][z][2]);
//vertex 1
glTexCoord2f(1.0,0.0);
glVertex3f(terrain[x+1][z][0],terrain[x+1][z][1],terrain[x+1][z][2]);
//vertex 2
glTexCoord2f(0.0,1.0);
glVertex3f(terrain[x][z+1][0],terrain[x][z+1][1],terrain[x][z+1][2]);
//vertex 3
glTexCoord2f(1.0,1.0);
glVertex3f(terrain[x+1][z+1][0],terrain[x+1][z+1][1],terrain[x+1][z+1][2]);
}
glEnd();
}
Nada, que este libro vale su peso en oro y es una herramienta que no debería faltarte si quieres dedicarte a la programación de juegos.
Cada cual tiene su propio método, pero nadie explica el algoritmo para calcular la geometría del terreno de una forma tan clara y lo mismo para el proceso de renderizado, que incluso agrega agua y posteriormente es susceptible de ser mejorado con arreglos de vértices.
Me resultó muy fácil adaptar el código del libro, aunque en el proceso cometí varios errores.
Suponiendo que tengas un mapa de alturas en forma de arreglo bidimensional:
float hm[MAP_Z][MAP_X]={
{0,1.0,0,0,0,0,0,0,0,0,0,0},
{1.0,4.0,3.0,0,0,1.0,2.0,1.0,0,0,0,0},
{0,0,1.5,2.0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,2.0,3.5,1.0,0,0,0},
{1,2,3,2.7,2,1.1,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0},
{1,2.0,1,0,0,0,1.0,2.0,2.0,0,0,0},
{0,0,0,0,2.0,0,0,0,0,0,0,0},
{0,0,1.0,0,0,0,0,0,0,0,0,0},
{0,0.6,1.0,0.5,0,0,0,0,0,0,0,0},
{0,0,1.0,0,0,0,0,0,0,0,0,0},
{0,0,0.5,0,0,1.1,0,0,0,0,0,0}
};
Generar la geometría sería algo tan sencillo como:
GLfloat terrain[MAP_X][MAP_Z][3];
int z,x;
for (z=0;z < MAP_Z ; z++ )
for (x=0;x < MAP_Z ; z++ )
terrain[x][z][0]=x*ts;
terrain[x][z][1]=hm[z][x];
terrain[x][z][2]=z*ts;
}//for x
}//for z
Y el renderizado sería:
for (z=0;z < style="font-style: italic;"> glBegin(GL_TRIANGLE_STRIP);
for (x=0;x < style="font-style: italic;"> //vertex 0
glTexCoord2f(0.0,0.0);
glVertex3f(terrain[x][z][0],terrain[x][z][1],terrain[x][z][2]);
//vertex 1
glTexCoord2f(1.0,0.0);
glVertex3f(terrain[x+1][z][0],terrain[x+1][z][1],terrain[x+1][z][2]);
//vertex 2
glTexCoord2f(0.0,1.0);
glVertex3f(terrain[x][z+1][0],terrain[x][z+1][1],terrain[x][z+1][2]);
//vertex 3
glTexCoord2f(1.0,1.0);
glVertex3f(terrain[x+1][z+1][0],terrain[x+1][z+1][1],terrain[x+1][z+1][2]);
}
glEnd();
}
Nada, que este libro vale su peso en oro y es una herramienta que no debería faltarte si quieres dedicarte a la programación de juegos.
Ideas
Hace unos días conversaba otra vez con Daisita, esta vez sobre cine. Como podrán darse cuenta Daisita y yo somos dos personas muy curtas y apreparás, lo mismo leemos a David Eddings que sabemos un mundo de Hollywood. Pues una cosa lleva a otra y sacando cuentas llegamos a la conclusión de que las grandes ideas, esas que son originales de verdad y no una mala copia de algo que alguien ya hizo antes, se dan en la historia del cine más o menos con una periodicidad aproximada de una por década.
La gran idea de los 70 fue Star Wars. En los 80 Regreso al futuro. Sobre principios de los 90 Terminator y ya llegando a los finales Matrix. Casualmente todas ellas se convirtieron en trilogías.
Se nota cierta escasez de ideas. Sería interesante ir más atrás en el tiempo y hacer una lista de ideas originales en el cine para calcular con más exactitud el intervalo entre una y otra.
La gran idea de los 70 fue Star Wars. En los 80 Regreso al futuro. Sobre principios de los 90 Terminator y ya llegando a los finales Matrix. Casualmente todas ellas se convirtieron en trilogías.
Se nota cierta escasez de ideas. Sería interesante ir más atrás en el tiempo y hacer una lista de ideas originales en el cine para calcular con más exactitud el intervalo entre una y otra.
Beryl
Hace unos días me dio la idea de probar Beryl. En caso de que hayas estado viviendo bajo una piedra en los últimos tiempos, Beryl es un Windows Manager con capacidades composite que se apoya en OpenGL. O sea, que puedes tener todo tipo de efectos muy maricas como cubos y cosas así que harían parecer al cacareado Aeroglass de Vista una mala falsificación de la Mona Lisa hecha por un pintor de brocha gorda. A pesar de que con los años me he vuelto conservador y tacaño con los recursos de mi PC, decidí echarle un vistazo a ver qué tal.
No recuerdo cómo me encontré con ese nombre en específico, pero a partir de él valoré la otra variante, que es Compiz (Beryl es un fork de Compiz). Sin embargo Compiz requiere Xgl y Gnome. Beryl puede correr en Xorg 7.1 gracias a AIGLX.
Para empezar, Beryl no está en el portage. Al menos no logro que aparezca. Luego tengo el problema de que mi Xorg por alguna razón no ejecuta ciertas aplicaciones OpenGL, a pesar de que glxgears corre y glxinfo reporta Direct Rendering habilitado.
De todas formas aún no pierdo las esperanzas, hoy le pondré un poco de ganas otra vez a ver qué me sale.
No recuerdo cómo me encontré con ese nombre en específico, pero a partir de él valoré la otra variante, que es Compiz (Beryl es un fork de Compiz). Sin embargo Compiz requiere Xgl y Gnome. Beryl puede correr en Xorg 7.1 gracias a AIGLX.
Para empezar, Beryl no está en el portage. Al menos no logro que aparezca. Luego tengo el problema de que mi Xorg por alguna razón no ejecuta ciertas aplicaciones OpenGL, a pesar de que glxgears corre y glxinfo reporta Direct Rendering habilitado.
De todas formas aún no pierdo las esperanzas, hoy le pondré un poco de ganas otra vez a ver qué me sale.
Opening de Naruto
Vía el blog de raruto acabo de ver lo que dice ser el opening #9 de Naruto. De paso, también el ending. Aunque está bueno, no llega a la altura de Haruka kanata. Más que la música lo interesante es el look y que vemos a Naruto entrenando con Neji y Rock Lee. El ending, pues nada del otro mundo. Y por supuesto, nada en cuanto al fin del relleno, así que habrá que esperar a ver qué sucede.
Conquer Online
Hace un buen tiempo, cuando probé Mu Online, alguien me señalaba la falta de contenido de los juegos online asiáticos. Más o menos por ese camino va Conquer Online, de la misma compañía si no ando equivocado. Aunque ambos juegos destacan en el apartado visual con unos escenarios sencillos pero llenos de colorido y una variedad casi infinita de aspectos para los personajes, luego de una semana de juego el aburrimiento se impone. Muy pocas cosas que hacer, muy pocos objetos, muy pocas habilidades y el hueco entre una y otra es de decenas de adormecedores niveles. Ni siquiera proyectos open source de bajo presupuesto adolecen de tal escasez creativa.
Las Crónicas de Belgarath
Gracias a mi amiga Daisita (¡que nunca se te caiga el pelo de los pies!) conseguí esta serie , de David Eddings. Ya Arturo Pérez-Reverte se me estaba haciendo pesado de leer y la siguiente opción era dispararme las Crónicas Vampíricas de la Rice.
Aunque me ocasiona un cierto deja vu y a ratos me parece que estoy leyendo La Rueda del Tiempo vuelta a escribir, el estilo es un poco más fresco y con algo de humor en los diálogos. Los libros no son tan largos, la trama no se diversifica innecesariamente a pesar de que los personajes centrales son varios y cada uno con su propia agenda, por decirlo de alguna manera. En fin, causa una buena impresión leerlo y atrapa luego que han pasado esas peligrosas primeras páginas que tanto trabajo cuesta vencer a veces.
Aunque me ocasiona un cierto deja vu y a ratos me parece que estoy leyendo La Rueda del Tiempo vuelta a escribir, el estilo es un poco más fresco y con algo de humor en los diálogos. Los libros no son tan largos, la trama no se diversifica innecesariamente a pesar de que los personajes centrales son varios y cada uno con su propia agenda, por decirlo de alguna manera. En fin, causa una buena impresión leerlo y atrapa luego que han pasado esas peligrosas primeras páginas que tanto trabajo cuesta vencer a veces.
Método correcto para rascarse la oreja izquierda (según Microsoft)
- Levante la rodilla derecha hasta la altura del pecho.
- Pase el brazo izquierdo por debajo de la rodilla izquierda.
- Con la mano izquierda sujete firmemente el codo del brazo derecho.
- Sin soltar el codo, pase la mano derecha por detrás de la cabeza hasta alcanzar la oreja izquierda. Opcional: Puede ayudarse volteando la cabeza hacia la izquierda.
Explico. Luego de instalar el SDK y configurarlo según las indicaciones, resulta que se produce un error de linkeo al no encontrar la librería msvcirtd.lib. Si buscas la librería está ahí, sólo que incluida en la plataforma AMD64. Interesante, ¿no? Y la solución es instalar un Visual Studio 6, y sacarla de ahí. Si tienes una sola PC y no quieres desinstalar tu VC Express, tengo entendido que basta con que instales Visual Basic 6.
Hay un problema similar con Visual Studio .Net 2003.
Server 4 de Travian
En estos días he estado luchando con una aguda escasez de ancho de banda, así que no había podido comentar al apertura del polémico server 4 de Travian. A diferencia del anterior, éste abrió la inscripción el 27 para iniciar actividades el 28. Es un Travian 3, común y corriente, pero, y aquí empeizan las diferencias, utiliza una modalidad de Plus muy discutida que se rumora se probó en un server de Turquía. Los jugadores que tengan unos euros de más podrán comprar recursos o pagar para que una construcción termine instantáneamente.
La reacción adversa explotó desde ayer mismo, en forma de "huelga" virtual en el foro, donde mayorean las opiniones en contra y solo unas pocas a favor.
La reacción adversa explotó desde ayer mismo, en forma de "huelga" virtual en el foro, donde mayorean las opiniones en contra y solo unas pocas a favor.
Nuevas imágenes de SCOURGE
Hay algunas imágenes nuevas de este proyecto y creo que se ven muy bien. Me gusta la estabilidad en el trabajo que han mantenido, con pequeñas mejoras en cada versión, nada impresionante pero que si las vamos sumando todas no me cabe duda que en un año tendremos algo que dará de qué hablar.
Malos hábitos Microsoft
Pues con sólo un par de días ya he tenido suficiente para hartarme de Visual C Express. Resulta que para instalarlo se necesita IE 6 SP1, que no me sale de adentro buscarlo para actualizar mi Windows 2000. Si uso Firefox ¿por qué razón debería molestarme en actualizar algo que no uso?
Además luego de instalar el SDK las cosas no han ido tan fácil como deberían. Han aparecido problemas que no tenía con el viejo Visual Studio 6. ASí que en vez de dedicar tiempo a programar, tengo que invertir ese precioso tiempo y materia gris en imaginarme por qué el compilador intenta enlazar una librería que está en la carpeta de IA64.
Además luego de instalar el SDK las cosas no han ido tan fácil como deberían. Han aparecido problemas que no tenía con el viejo Visual Studio 6. ASí que en vez de dedicar tiempo a programar, tengo que invertir ese precioso tiempo y materia gris en imaginarme por qué el compilador intenta enlazar una librería que está en la carpeta de IA64.
Nuevo Gentoo
Ya tengo una estación de trabajo propia donde experimentar. Así que me di a la tarea de montar el Gentoo 2006.1. Apenas eché un vistazo al manual oficial de la motherboard me dije: "esto va a ser complicado". Todos los dispositivos excepto el GPU ATI Xpress 200 eran ALi. Y en efecto, encontrar la tarjeta de red en el kernel fue terrible, estaba escondida en una categoría llamada Tulip. El sonido, un derivado de AC97 al final terminó funcionando con el driver de hda-intel. El chipset IDE fue otra historia, que resolví compilando todo lo que dijera ALi en el kernel.
En fin, ya nos estamos entendiendo y todo va mejor ahora, si descontamos un problemilla con la aceleración 3D.
En fin, ya nos estamos entendiendo y todo va mejor ahora, si descontamos un problemilla con la aceleración 3D.
Visual C 2005 Express
En vistas de que el viejo Visual Studio 6 ya se está quedando obsoleto y que Microsoft permite descargar y usar gratis los Visual Express, me decidí a intentar cambiar la plataforma de trabajo en Windows. El VC 2005 Express se ve muy bien, es una descarga bastante pequeña que incluso contiene un SLQ Server Express, aunque instalado se expande hasta ocupar 1.2 Gb. Pero... resulta que por alguna razón el SDK de Win32 no viene incluido. Así que hay que descargarlo aparte y son otros 400 Mb más, amén de que solo sirve para XP SP2, 2003 y 2000 SP4 si no ando muy errado en esto último.
Nada, que al final serán 800 Mb de descarga en total y 2GB instalado en disco, lo cual es probable que sea lo mismo que me ha llevado montar un sistema Gentoo si exceptuamos Open Office.
Nada, que al final serán 800 Mb de descarga en total y 2GB instalado en disco, lo cual es probable que sea lo mismo que me ha llevado montar un sistema Gentoo si exceptuamos Open Office.
Dos actualizaciones en EL
El servidor de Eternal Lands ha recibido dos actualizaciones en lo que va de mes. Muchas cosas ahora pueden fabricarse (hilo, pilón y mortero), nuevos anillos y ahora hay una pequeña probabilidad de perder los objetos usados para fabricar, como los martillos, etc.
Ogre Dagon 1.2.3
Vía Linuxjuegos veo que ya tenemos otra versión de la rama estable de Ogre 3D. En cuanto a los demás motores, todo sigue sin novedad en el frente, pero en el frente de los juegos, y valga la redundancia, se me había escapado que ya tenemos un update de Planeshift desde hace varios días. Los cambios no son muchos, aunque interesantes.
Preview de SDL 1.3
Ya está disponible un preview de SDL 1.3 para que los desarrolladores vayan jugando un poco con ella. Los drivers 3D ya están implementados, aunque por supuesto aún quedan detalles por pulir, bugs y todo tipo de cosas.
Creo que el trabajo va muy bien, hace apenas un mes o dos eran apenas unos encabezados con la idea de lo que se quería hacer y ya tenemos algo tangible para hacer pruebas. Si todo sigue así es de esperar que para los primeros meses del próximo año tengamos la primera liberación de esta rama.
Creo que el trabajo va muy bien, hace apenas un mes o dos eran apenas unos encabezados con la idea de lo que se quería hacer y ya tenemos algo tangible para hacer pruebas. Si todo sigue así es de esperar que para los primeros meses del próximo año tengamos la primera liberación de esta rama.
Esto sí va rápido
El sábado un amigo fue a buscarme a la casa de mi madre para irnos a los carnavales de San Luis. Allí es donde tengo la PC y pude mostrarle mi Gentoo con XFCE 4.4 beta 2. Se quedó sorprendido de lo rápido que se movía, algo que para mí es normal pues lo uso con frecuencia. Tengo que decir que él tiene en casa un P4 a 2.4Ghz con mas de 300 Mb de RAM, que no se mueve nada mal, y mi tareco es un Celeron P3 a 1.2 Ghz con 256 Mb. Mi anterior tarjeta Radeon 9800 Pro falleció y estoy tirando con una viejísima Nvidia Vanta LT. No he podido instalar los drivers oficiales así que ya podrán imaginarse.
Cacharreando la Palm
Pues dando vueltas por ahí para mejorar mi arsenal de aplicaciones, y específicamente para lograr copiar archivos con más facilidad a la nueva SD, me encontré con este sitio. Aparte de montones de aplicaciones, me ha servido para aprender algunas cosas nuevas, como por ejemplo que puedo instalar extensiones (hacks en el argot Palm) para hacer muchas cosas que aún ni siquiera me imagino. De momento, Multiuser hack es una muy cómoda que me permite tener Card Export registrado bajo un user ID que no es el mío.
Instalación de Windows: reparar
Pues sin mucho trámite mi XP dejó de funcionar. Se quejaba de que faltaba un archivo y me remitía, muy amable, al proceso de instalación donde se resolverían mis problemas seleccionando R para Reparar. Así que me traje el disco a la oficina a ver si podía salvar algo y de paso ver el tal Reparar, que nunca lo había visto.
El caso es que al seleccionar R lo único que obtenemos es un shell y más nada. Luego de algunos minutos preguntándome cómo carajo restaurar el archivo que faltaba, lo dejé por imposible. Decidí reiniciar y entonces, cuando Windows inició correctamente, comprendí. Reparar es una opción mágica. Simplemente la escoges, y miras el shell unos segundos y ya está.
Estos muchachos de Microsoft están arriba en el Top 10 de mis favoritos, solo superados por los chicos de ETECSA.
Si alguien puede explicarme cómo se usa esta opción, se lo agradecería infinitamente.
El caso es que al seleccionar R lo único que obtenemos es un shell y más nada. Luego de algunos minutos preguntándome cómo carajo restaurar el archivo que faltaba, lo dejé por imposible. Decidí reiniciar y entonces, cuando Windows inició correctamente, comprendí. Reparar es una opción mágica. Simplemente la escoges, y miras el shell unos segundos y ya está.
Estos muchachos de Microsoft están arriba en el Top 10 de mis favoritos, solo superados por los chicos de ETECSA.
Si alguien puede explicarme cómo se usa esta opción, se lo agradecería infinitamente.
Visualizadores de imágenes para Palm
Ayer recibí un memoria SD de 256 mb que compré en UK a través de un amigo. La idea era utilizarla para guardar imágenes y libros, porque ya los 16 mb internos se me quedan chicos.
Como recibí la Palm m515 sin el CD del fabricante no tenía instalado un visualizador de imágenes. Así que desde entonces he estado luchando por encontrar un software para eso. He probado Album To Go, GrxView, AcidImage, ACDSee, Firepad, VD Image View.
Si algo tienen en común es que casi todos son de pago (excepto VD Image View) y a veces bastante molestos de usar cuando ha vencido el período trial. Album To Go solo exige inscribirse en el sitio para recibir el registro, sin embarbo el mismo no me funcionó. Algunos requieren un proceso de conversión que se vuelve molesto cuando son grandes cantidades de imágenes. Aquí sobresale ACDSeee, con una buena interfaz que permite exportar varias imágenes a la vez.
En el caso contrario, específicamente Acid y Grx que pueden leer varios formatos nativos desde la SD, la carga es extremadamente lenta, llegando a 10 segundos para un jpg de apenas 40-50 kb. En este apartado destaca Acid, que es mucho más rápido que Grx.
Por el momento me quedo con Acid y ACDSee, hasta que expiren. Una pena que no exista un buen software libre para llenar este hueco.
Como recibí la Palm m515 sin el CD del fabricante no tenía instalado un visualizador de imágenes. Así que desde entonces he estado luchando por encontrar un software para eso. He probado Album To Go, GrxView, AcidImage, ACDSee, Firepad, VD Image View.
Si algo tienen en común es que casi todos son de pago (excepto VD Image View) y a veces bastante molestos de usar cuando ha vencido el período trial. Album To Go solo exige inscribirse en el sitio para recibir el registro, sin embarbo el mismo no me funcionó. Algunos requieren un proceso de conversión que se vuelve molesto cuando son grandes cantidades de imágenes. Aquí sobresale ACDSeee, con una buena interfaz que permite exportar varias imágenes a la vez.
En el caso contrario, específicamente Acid y Grx que pueden leer varios formatos nativos desde la SD, la carga es extremadamente lenta, llegando a 10 segundos para un jpg de apenas 40-50 kb. En este apartado destaca Acid, que es mucho más rápido que Grx.
Por el momento me quedo con Acid y ACDSee, hasta que expiren. Una pena que no exista un buen software libre para llenar este hueco.
Probando XFCE 4.4 beta 2
No había tenido tiempo de estudiar detenidamente la beta 2 de Xfce (recién la instalé la semana pasada) hasta hoy. Ya sé que salió la RC1, pero de ahí a que esté disponible en el portage pasará un buen tiempo y mejor me espero que salga la oficial. Quiero aclarar que esto no es un review con todas las de la ley de este escritorio, solamente algunas imágenes y mis primeras impresiones sobre las cosas que saltan a la vista sin necesidad de ir muy a fondo en las opciones.

No es que los cambios sean drásticos, pero sus detalles hay. Por ejemplo ahora nos salen íconos en el escritorio por cada ventana abierta, con el correspondiente título.

Y aquí vemos que ya se dispone de un menú como dios manda. Antes era un lío ejecutar aplicaciones si no te acordabas del nombre o tenías un lanzador en el panel.

Y también tenemos una aplicación de terminal decente, con pestañas y todo.

Aquí está el thunar 0.3 en acción. Al fin un gestor de archivos como debe ser, siempre respetando la regla de ser ligero.
En fin, que me ha gustado lo que he visto hasta ahora. Noté cierta lentitud al renderizar algunas cosas, así que he decidido observarlo con más cuidado para ver si fueron falsas impresiones mías. Ya veremos cuando lo pruebe en una tarjeta sin aceleración.

No es que los cambios sean drásticos, pero sus detalles hay. Por ejemplo ahora nos salen íconos en el escritorio por cada ventana abierta, con el correspondiente título.

Y aquí vemos que ya se dispone de un menú como dios manda. Antes era un lío ejecutar aplicaciones si no te acordabas del nombre o tenías un lanzador en el panel.

Y también tenemos una aplicación de terminal decente, con pestañas y todo.

Aquí está el thunar 0.3 en acción. Al fin un gestor de archivos como debe ser, siempre respetando la regla de ser ligero.
En fin, que me ha gustado lo que he visto hasta ahora. Noté cierta lentitud al renderizar algunas cosas, así que he decidido observarlo con más cuidado para ver si fueron falsas impresiones mías. Ya veremos cuando lo pruebe en una tarjeta sin aceleración.
XFCE 4.4 RC1
Y ya estamos más cerca. Acaba de salir la Release Candidate 1 del Xfce 4.4. Los cambios con respecto a la beta 2 pueden verse aquí. Para descargar los tarballs puede usar cualquiera de estos:
http://sourceforge.net/project/showfiles.php?group_id=19869&package_id=187881
http://www.xfce.org/archive/xfce-4.3.99.1/
http://www.p0llux.be/xfce/xfce-4.3.99.1/
La época
Un comentario en esta anotación me hace recordar los buenos tiempos prehistóricos en que usábamos teclados MSX y otros no tan prehistóricos. En efecto, como me dice Alain entrar en aquellos primeros laboratorios de computación requería de todo un ritual. Era la época que se estudiaba MSX Basic en el preuniversitario y recién algunas escuelas secundarias habían recibido un único teclado MSX con un televisor en blanco y negro de fabricación nacional, mas una grabadora para los cassettes.
Pasé el preuniversitario en una escuela con 2500 estudiantes. La misma tenía varios laboratorios, no logro recordar cuántos con exactitud. De ellos al menos dos eran de teclados MSX, con unos 15 equipos cada uno. En décimo grado iniciabas el estudio de la computación ahí. Obtener tiempo extra por las noches era una aventura y requería hacer cola, porque muchos querían jugar y no alcanzaban las máquinas. Era la época del poke para recuperar los programas que algún imbécil había borrado de la memoria con new, de esperar cinco minutos escuchando el chirrido de las grabadoras mientras se cargaba el juego y soñar con los laboratorios 3 y 2.
El 3 y el 2 tenían nada más y nada menos que las LTEL 24, máquinas 8088 con monitores en color, torres de diskettes de 5 1/4 y las astronómica cifra de 640Kb de RAM. Durante las noches estaban controlados por la élite: alumnos de concurso de computación. Para llegar hasta allá había que abrirse paso a fuerza de saber programar, en Quick Basic o Turbo Pascal.
Más arriba estaba el codiciado laboratorio 5. Super XT con 1Mb de RAM, más rápidas (unos 8 Mhz por 4 las otras). El reino de la élite de la élite, cada puesto casi que tenía nombre. Por allí pasó lo mejor de Santiago de Cuba: Richard Remedios, el señor Alex Luna, Guido Medina, Edelsi Silega y algunos otros que vinieron depués y heredaron nuestro imperio ya decadente y vencido por el tiempo y las roturas.
Algunos no están entre nosotros, pasaron a mejor vida en otros países. Pero los recuerdo porque fueron mis primeros colegas y ejemplo a seguir.
Modestia parte, me costó esfuerzo pero logré elevarme hasta allí desde cero, sin entrenamiento especial y sin muchos privilegios. Es una época que recuerdo con cariño, a pesar de los malos momentos pasados en la escuela.
Pasé el preuniversitario en una escuela con 2500 estudiantes. La misma tenía varios laboratorios, no logro recordar cuántos con exactitud. De ellos al menos dos eran de teclados MSX, con unos 15 equipos cada uno. En décimo grado iniciabas el estudio de la computación ahí. Obtener tiempo extra por las noches era una aventura y requería hacer cola, porque muchos querían jugar y no alcanzaban las máquinas. Era la época del poke para recuperar los programas que algún imbécil había borrado de la memoria con new, de esperar cinco minutos escuchando el chirrido de las grabadoras mientras se cargaba el juego y soñar con los laboratorios 3 y 2.
El 3 y el 2 tenían nada más y nada menos que las LTEL 24, máquinas 8088 con monitores en color, torres de diskettes de 5 1/4 y las astronómica cifra de 640Kb de RAM. Durante las noches estaban controlados por la élite: alumnos de concurso de computación. Para llegar hasta allá había que abrirse paso a fuerza de saber programar, en Quick Basic o Turbo Pascal.
Más arriba estaba el codiciado laboratorio 5. Super XT con 1Mb de RAM, más rápidas (unos 8 Mhz por 4 las otras). El reino de la élite de la élite, cada puesto casi que tenía nombre. Por allí pasó lo mejor de Santiago de Cuba: Richard Remedios, el señor Alex Luna, Guido Medina, Edelsi Silega y algunos otros que vinieron depués y heredaron nuestro imperio ya decadente y vencido por el tiempo y las roturas.
Algunos no están entre nosotros, pasaron a mejor vida en otros países. Pero los recuerdo porque fueron mis primeros colegas y ejemplo a seguir.
Modestia parte, me costó esfuerzo pero logré elevarme hasta allí desde cero, sin entrenamiento especial y sin muchos privilegios. Es una época que recuerdo con cariño, a pesar de los malos momentos pasados en la escuela.
El Capitán Alatriste va al cine
Justo cuando entro en el quinto libro de la saga se estrena la peli del Capitán, protagonizada nada más y nada menos que por Viggo Mortensen. Recuerdo que alguien la mencionaba en los comentarios de la anotación sobre Pérez-Reverte, pero pensé que era una película vieja.
El ciclón va echando
Pues la tormenta tropical (para llamarla correctamente, que ni a huracán llegó) se aleja. Bien flojita nos ha salido, con apenas algo de lluvia y unos vientos que daban pena. Esta es una de las ocasiones en que echo de menos tener una cámara digital y el fotógrafo escondido en mí se revuelve. No hay nada más interesante que ver la ciudad en medio del paso de un temporal de ciertas proporciones. El paseo se vuelve algo más movido, lo mismo puede caerte un árbol en la cabeza, que una teja, que un cable eléctrico, o caerte dentro de una alcantarilla. En fin, un sinnúmero de formas espectaculares de obtener visa a la dimensión espiritual.
No estoy muy al tanto de los daños. Mas, sin duda alguna vendrán las brigadas de los solidarios compatriotas del occidente del país para ayudar a reconstruir lo que haga falta, tal y como hacemos nosotros los orientales cuando los afectados son ellos. Pero me disculpan si espero sentado, es que ya estoy un poco viejo y los años se sienten...
No estoy muy al tanto de los daños. Mas, sin duda alguna vendrán las brigadas de los solidarios compatriotas del occidente del país para ayudar a reconstruir lo que haga falta, tal y como hacemos nosotros los orientales cuando los afectados son ellos. Pero me disculpan si espero sentado, es que ya estoy un poco viejo y los años se sienten...
blogger.com se quedó sin gasolina
Pues en meneame.net alguien se quejó de que se habían llenado las particiones de Dreamhost. Tenía esta imagen reservada para mañana, pero ya que no me creen, aquí está:

Esto sucedió ayer domingo o el sábado, no recuerdo exactamente, mientras posteaba el comentario sobre Artur Pérez-Reverte.

Esto sucedió ayer domingo o el sábado, no recuerdo exactamente, mientras posteaba el comentario sobre Artur Pérez-Reverte.
Huracán a la vista
Pues para anoche esperábamos la entrada del ciclón al país, justo por esta zona oriental. Para variar, que últimamente ni los ciclones nos visitan, todos cogen por otra ruta y se van al occidente a hacer sus destrozos por allá.
Y no podía faltar, también hoy tenemos el día especial de internet: errores aleatorios cortesía de... ¡nuestros queridos amigos de ETECSA! que tan duramente se esfuerzan para proporcionarnos novedosos errores. Empezamos con el habitual surtido de IP sin resolver, de ahí llegamos a cabeceras html corruptas para finalmente sorprendernos con esto:

Les juro que la dirección está bien escrita, pero en cuanto presiono Enter se convierte en ese galimatías que ven ahí.
Actualización: La situación va mejorando. Entre otras cosas ahora recibo esto:
Y no podía faltar, también hoy tenemos el día especial de internet: errores aleatorios cortesía de... ¡nuestros queridos amigos de ETECSA! que tan duramente se esfuerzan para proporcionarnos novedosos errores. Empezamos con el habitual surtido de IP sin resolver, de ahí llegamos a cabeceras html corruptas para finalmente sorprendernos con esto:

Les juro que la dirección está bien escrita, pero en cuanto presiono Enter se convierte en ese galimatías que ven ahí.
Actualización: La situación va mejorando. Entre otras cosas ahora recibo esto:
Arturo Pérez-Reverte
En estos días tuve bastante tiempo libre debido a un corto viaje y decidí dedicarlo a algo que tenía pendiente: leer a este autor que aún no había leído. Tal vez no debí comenzar con El maestro de esgrima, porqeu sin lugar a dudas su mejor trabajo es la serie del Capitán Alatriste. Eso, sin desmerecer La sombra del Aguila, que es un relato corto magnífico y que sugiero como el primero a leer para familiarizarse con su estilo.
Un buen escritor que recomiendo muy especialmente y que logra transmitir la impresión de que estamos en la España del siglo XVII. Aunque he echado una ojeada a sus otros libros y también incursiona en temas modernos. No entro en detalles porque aún no he explorado esta vertiente de su obra, tal vez luego pueda abundar más al respecto.
Un buen escritor que recomiendo muy especialmente y que logra transmitir la impresión de que estamos en la España del siglo XVII. Aunque he echado una ojeada a sus otros libros y también incursiona en temas modernos. No entro en detalles porque aún no he explorado esta vertiente de su obra, tal vez luego pueda abundar más al respecto.
Encuesta de Desktop Linux
DesktopLinux.com ha lanzado su encuesta de escritorios del 2006. Pasen por el enlace y voten. ¡Arriba XFCE!
El día que se jodió la internet
Pues hoy he tenido un día pésimo con internet. Las pantallitas como ésta:
me salen a montones, cualquiera pensaría que la mitad de los servidores están caídos. También me he topado casos como este:

y todo tipo de errores raros en las páginas. Un mal día para salir a navegar por la red de redes, y especialmente hoy que he encontrado algunos enlaces interesantes para revisar.
me salen a montones, cualquiera pensaría que la mitad de los servidores están caídos. También me he topado casos como este:
y todo tipo de errores raros en las páginas. Un mal día para salir a navegar por la red de redes, y especialmente hoy que he encontrado algunos enlaces interesantes para revisar.
Cambios en Blogger
Pues luego de un largo período sin mejoras parece que los de Blogger están haciendo algo para ganarse los frijoles. Han lanzado un beta con muchas cosas nuevas, incluyendo categorías. Ahora se puede3 acceder usando la cuenta de gmail para probarlo, sin necesidad de crear una nueva cuenta. Por el momento la beta va separada, pero luego se podrán mezclar ambos blogs, éste y el beta. Aún no me animo a probarlo.
Por otra parte, estoy pasando un serio período de muerte cerebral. El poco espíritu creativo que me asalta a veces ha sido empleado en otros proyectos que no tienen que ver con el tema principal de este blog.
Y luego de una larga espera al fin recibí el reproductor mp3 que tanto había esperado (y valga la redundancia). Me regalaron uno de 256, que vendí hace un par de días para comprar uno de más capacidad y mejores prestaciones. Por ejemplo, tiene batería interna recargable, lo que me va a ahorrar un montón de dinero.
Por otra parte, estoy pasando un serio período de muerte cerebral. El poco espíritu creativo que me asalta a veces ha sido empleado en otros proyectos que no tienen que ver con el tema principal de este blog.
Y luego de una larga espera al fin recibí el reproductor mp3 que tanto había esperado (y valga la redundancia). Me regalaron uno de 256, que vendí hace un par de días para comprar uno de más capacidad y mejores prestaciones. Por ejemplo, tiene batería interna recargable, lo que me va a ahorrar un montón de dinero.
La Fuerza está en todas partes (hasta en los ogros)
Es muy difícil encontrar algo que haya calado tan profundo en la mente de todos como Star Wars. Echándole un segundo vistazo a un animadode Shrek que dura 15 minutos me percaté de una escena que me había pasado por alto antes: Shrek y el Burro montados en la dragona y perseguidos por otro dragón se lanzan hacia un desfiladero que recuerda la trinchera de la Estrella de la Muerte mientras el ogro dice "Aquí Dragón Rojo, vamos a entrar". Un guiño a la Trilogía Original sin dudas.
Borland contraataca
Leo en Barrapunto que Broland planea resucitar la rama Turbo de sus compiladores. Tal y como dice el sitio turboexplorer.com, Turbo inspiró a toda una generación a programar. Recuerdo que me inicié en Turbo Pascal 5 y fue mi lenguaje de programación favorito durante varios años hasta que al fin me pasé al C cuando comencé a usar Linux, en el 1999. Hice todo tipo de cosas, incluyendo un utilitario para sustituir al Norton Commander con funciones para obtener el listado de los archivos comprimidos dentro de los arj y zip. Considerando que era la época en que Internet era un sueño que solo existía en la capital del país y que la documentación nos caía fragmentada y de casualidad, creo que logré exprimirle el máximo al TP 5.
Luego llegó la era del 6 y el 7, que requerían un disco duro porque hacían swapping como locos. Algo impensable en el año 93-94, en que trabajábamos aún con 8086 y 8088. La programación orientada a objetos era algo raro que nadie entendía, porque no había documentación y los ejemplos no aclaraban casi nada.
La primera PC con disco duro que llegó a mis manos fue una 8086 con 20 Mb, en el 95 me acompañó hasta donde pudo en mis experimentos. Mientras casi todos mis compañeros de estudios tenían acceso a las modernas 386 y hasta 486 DX4 a la alucinante velocidad de 100 MHz yo seguía con unos escasos 8 MHz, pantalla monocromática verde y 640 Kb de RAM. Y encima el idiota jefe de informática de la casa matriz decía que no funcionaba bien porque yo tenía instalado el Turbo Pascal. Espero que si hay un infierno para los informáticos (y para los que se creen informáticos como él), tenga un puesto especial ahí reservado.
Luego llegó la era del 6 y el 7, que requerían un disco duro porque hacían swapping como locos. Algo impensable en el año 93-94, en que trabajábamos aún con 8086 y 8088. La programación orientada a objetos era algo raro que nadie entendía, porque no había documentación y los ejemplos no aclaraban casi nada.
La primera PC con disco duro que llegó a mis manos fue una 8086 con 20 Mb, en el 95 me acompañó hasta donde pudo en mis experimentos. Mientras casi todos mis compañeros de estudios tenían acceso a las modernas 386 y hasta 486 DX4 a la alucinante velocidad de 100 MHz yo seguía con unos escasos 8 MHz, pantalla monocromática verde y 640 Kb de RAM. Y encima el idiota jefe de informática de la casa matriz decía que no funcionaba bien porque yo tenía instalado el Turbo Pascal. Espero que si hay un infierno para los informáticos (y para los que se creen informáticos como él), tenga un puesto especial ahí reservado.
Naruto 3
El pasado día 5 debe haberse estrenado la tercera peli de Naruto en los cines de Japón. Pero por más que busco no encuentro confirmación sobre eso. Si alguien sabe algo, pues que me deje un comentario...
Irrlicht 1.1
Ayer fue liberada la versión 1.1 de este motor 3D, junto con IrrEdit 0.3, su editor de contenido. La lista completa de cambios puede consultarse aquí. Algunos cambios significativos son mejoras a importadores de archivos y nuevos scene nodes.
API de audio para SDL 1.3
Ryan C. Gordon publicó hace un par de días la propuesta inicial del API de audio para la rama 1.3 de SDL. Interesante: soporte para múltiples dispositivos y captura de audio. De momento es sólo un diseño preliminar, no se ha iniciado la implementación aún.
Tarjetas de presentación
Una bonita colección de tarjetas de presentación de Star Wars. El escaneo no es magnífico, pero se pueden leer.
Información del jugador
Creo haber mencionado antes que hay dos posibilidades para almacenar el estado actual del personaje en un juego online. El primero es usar una base de datos, igual que para la autentificacion. También se pueden utilizar ficheros, en xml por ejemplo. Inicialmente había pensado en usar esta segunda opción, por la flexibilidad de tener un medio de almacenamiento de estructura flexible. Sin embargo, luego de valorar la idea me percaté que el proceso de escribir el archivo cada vez que desee guardar cambios (coordenadas, objetos adquiridos, etc) se haría un poco complejo y lento. Así que he trabajado en diseñar un conjunto de tablas que guardarán esa información. Incluso, si suponemos que el servidor de bases de datos está en una máquina diferente al servidor del juego esto liberaría recursos en esta última máquina que ya no tendría que hacerse cargo de las escrituras.
Curso para usar el sable de luz
Si eres un joven padawan que acaba de fabricar su sable de luz aquí tienes un curso para sacarle el máximo:
http://www.youtube.com/watch?v=xGYKTn74wus
http://www.youtube.com/watch?v=xGYKTn74wus
De vuelta
Pues he estado ausente por varios días de carnavales. El tiempo que pasé por la oficina fue dedicado en exclusiva a una guerrita de la Alianza CLS en el server 2 de Travian que me ha costado un ojo en tropas. Pero al final le hemos hecho ver al tipo que no puede intentar robarse una aldea de nuestra zona verde y escapar impunemente.
Travian 3
Pues hace un poco más de una semana se abrió el servidor 3 de travian.net, con la versión 3 del juego. No me queda nada por decir que no esté mejor ilustrado en los anuncios oficiales, así que considero más conveniente mostrarles algunas pantallas para que vean el nuevo look de Travian.


El mapa ya no se ve igual, véase algunas casillas ligeramente diferentes a los tradicionales valles de bosques y agua.
Y aquí está una de las novedades: los oasis (esos valles especiales que les señalé anteriormente). Los oasis pueden ser conquistados si tienes el Hogar del Héroe a cierto nivel y aumentan la producción de un recurso específico en un 25%. Algunos son dobles, o sea, un recurso y cereal, como este que ven aquí.

Los gráficos para los recursos han cambiado. Ya no son esos aburridos hexágonos, ahora se ven mucho mejor.

La vista de las construcciones también ha recibido un lavado de cara con el mismo estilo, aunque los edificios sí conservan el mismo gráfico. Puede verse el nuevo edificio disponible solo para los galos: el Trampero.

El mapa ya no se ve igual, véase algunas casillas ligeramente diferentes a los tradicionales valles de bosques y agua.

Y aquí está una de las novedades: los oasis (esos valles especiales que les señalé anteriormente). Los oasis pueden ser conquistados si tienes el Hogar del Héroe a cierto nivel y aumentan la producción de un recurso específico en un 25%. Algunos son dobles, o sea, un recurso y cereal, como este que ven aquí.
Entrevista a Terry Pratchett
En Axxón han publicado una entrevista, algo breve, que le hiciera un periodista norteamericano a Terry Pratchett.
Nuevos avances
La tarde de ayer y parte de la mañana de hoy los dediqué a trabajar en la nueva versión del cliente y el servidor. He rediseñado el sistema de hilos para que utilice el mismo sistema de eventos de SDL, y extendí el concepto al cliente, asi que ahora también es multihilo. Estoy reemplazando los viejos char * por std::string y si todo va bien a fines de semana debería tener integrado nuevamente el soporte de bases de datos en postgresql y la autentificación tal y como estaba en la versión vieja.
Xfce 4.2 y múltiples fondos de escritorio
Luego de mucho proguntar y buscar en los foros al fin encontré la forma de hacer que el Xfce 4.2 cambie periódicamente el fondo del escritorio como lo hace KDE. La idea es sencilla, ejecutar xfdesktop, lo segundo es ejecutarlo cada cierto tiempo y lo más complicado, hacer que el scrip se cargue automáticamente. Ahí fue el problema, porque en la rama estable actual (4.2) se hace de una forma: poniendo el script o un enlace simbólico al mismo en ~/Desktop/Autostart y en la futura versión 4.4 autostart quedará dentro de ~/.config/autostart y habrá una herramienta xfce4-autostart-editor para facilitar esos menesteres.
SDL 1.3, último reporte de avances
Sam ha estado compartiendo con la lista de correo los progresos que hace en el desarrollo de la nueva rama de SDL. Aquí pueden ver su último correo sobre el tema. Los drivers de renderizado por software, gdi y d3d ya están casi listos. Queda pendiente el esperado driver vía OpenGL.
No hay que decepcionarse por los resultados de los benchmarks que muestra Sam ahí, aún todo está en sus inicios y es de esperarse que dentro de un año las cosas sean completamente distintas.
No hay que decepcionarse por los resultados de los benchmarks que muestra Sam ahí, aún todo está en sus inicios y es de esperarse que dentro de un año las cosas sean completamente distintas.
SCOURGE 0.14
Hemos tenido unos días de muchas liberaciones. Acaba de salir SCOURGE 0.14, para Windows, los binarios para Mac y Linux le seguirán muy pronto.
Actualización: Parece que estoy algo perdido con las fechas. La noticia debe ser del mes pasado, me parece.
Actualización: Parece que estoy algo perdido con las fechas. La noticia debe ser del mes pasado, me parece.
¿De qué villa eres?
¿A qué aldea oculta perteneces? Este sencillo test te dice a cuál de las villas nijas de la serie Naruto perteneces.

What Village Are You From?
Hosted by theOtaku.com: Anime. Done right.
What Village Are You From?
Hosted by theOtaku.com: Anime. Done right.
Xfce 4.4 beta 2
Tal como habían anunciado ayer, al liberar una nueva versión de Thunar y libexo, ha salido la versión 4.3.90.2 (4.4 beta 2) del Xfce, un entorno de escritorio ligero. Los cambios pueden verse en el changelog.
Quizás no sea un KDE o Gnome, pero he encontrado que este escritorio satisface la mayoría de mis necesidades y es bastante atractivo visualmente sin consumir una barbaridad en recursos. Echo de menos la posibilidad de tener widgets como en otros escritorios que he probado, pero supongo que con el tiempo todo vendrá.
Quizás no sea un KDE o Gnome, pero he encontrado que este escritorio satisface la mayoría de mis necesidades y es bastante atractivo visualmente sin consumir una barbaridad en recursos. Echo de menos la posibilidad de tener widgets como en otros escritorios que he probado, pero supongo que con el tiempo todo vendrá.
Cinco que cayeron
Un interesante artículo sobre algunas compañías desarrolladoras de juegos que marcaron pautas en la historia del género, para después desaparecer.
Server 3 de Travian
A partir de mañana sábado a las 12:00 (hora del servidor) se abrirán las preinscripciones para el servidor 3 de travian.net. El mismo arrancará a las 6:00 del martes. Lo novedoso es que este server correrá la versión 3 del juego, que incluye héroes y nuevos edificios (uno de ellos es único y disponible solo para los galos).
Liberadas las v ersiones 2.2.12 y 2.3.10 de GIMP
Actualización de Planeshift
Ya se ha anunciado la actualización 0.3.015 de este juego online, aunque aún las descargas del cliente no funcionan. La lista de mejoras es bastante larga, baste mencionar que el protocolo ha sido mejorado para disminuir el volumen de tráfico y los tiempos de carga han sido reducidos.
Cal3d, Blender y otras cosas
Ayer me dediqué a probar la nueva versión de Cal3d. Estaba teniendo problemas con los modelos que exportaba desde Blender 2.41, así que tuve que hacer una pequeña búsqueda, probar con versiones más viejas y diferentes modelos. Encontré este exportador y descubrí además dos cosas. Una, que el error al cargar se debía no a un problema al exportar si no a algún error mío al modelar. Lo segundo, que al parecer el sistema de coordenadas de Blender es diferente y por ello los modelos se exportan acostados sobre el eje Z.
Les debo la imagen, porque el material que usé en el modelo es color chocolate y apenas se distingue del fondo negro. Todos mis esfuerzos por modificarlo han sido inútiles, creo que tendré que rehacer el modelo.
Actualización: Aquí está la imagen:
Les debo la imagen, porque el material que usé en el modelo es color chocolate y apenas se distingue del fondo negro. Todos mis esfuerzos por modificarlo han sido inútiles, creo que tendré que rehacer el modelo.
Actualización: Aquí está la imagen:
Cal3d 0.11.0
Con esto de mis desastres del Firefox, que me hicieron perder el historial y los marcadores dos veces, no me había percatado de que el pasado día 29 se liberó la versión 0.11 de esta biblioteca. Cal3d ha cambiado de sitio, ahora están hosteados en GNA.
La lista de cambios es bastante larga y no tiene mucho sentido a menos que seas un gurú en animación 3D y C++ avanzado. Lo importante es que el proyecto está vivo.
La lista de cambios es bastante larga y no tiene mucho sentido a menos que seas un gurú en animación 3D y C++ avanzado. Lo importante es que el proyecto está vivo.
Eternal Lands 1.2 (beta)
Pues ya tenemos la versión 1.3. Aparte del barullo por el nuevo hechizo de invisibilidad, hay pocas cosas significativas (cuando pocas tiende a 0). En general los cambios benefician a jugadores de muy alto nivel y para el ciudadano de a pie, solo hay mejoras puramente cosméticas en el cliente. En fin, que si fuera opcional yo les diría que pasaran de esta actualización.
T - 5 horas para actualización de EL
Sobre las 5 de la tarde de hoy será la actualziación planificada de Eternal Lands. Los cambios pueden verlos en este hilo del foro oficial.
Temporada de updates
Ya está disponible para descarga la actualización a la versión 1.3 de Eternal Lands, aunque aún no debe instalarse la misma. Si no recuerdo mal ya se podrá cosechar hidrógeno, habrá nuevos items y un hechizo de invisibilidad.
Por su parte los muchachos de Planeshift también se están preparando para otra actualización.
Por su parte los muchachos de Planeshift también se están preparando para otra actualización.
SDL 1.2.11 y 1.3
Sam ha anunciado una nueva versión de la rama estable para corregir bugs (he visto muchas quejas sobre la 1.2.10 en la lista). Ya está disponible para descarga.
Por otra parte el trabajo en la 1.3 sigue y Sam ha compartido con la comunidad algunos detalles de cómo van las cosas. El subsistema de video está sufriendo grandes cambios para adaptarse al manejo de múltiples ventanas, múltiples monitores, múltiples dispositivos de entrada (múltiple parece ser la palabra de orden para esta rama) y para sacar mejor rendimiento del hardware 3D.
Por otra parte el trabajo en la 1.3 sigue y Sam ha compartido con la comunidad algunos detalles de cómo van las cosas. El subsistema de video está sufriendo grandes cambios para adaptarse al manejo de múltiples ventanas, múltiples monitores, múltiples dispositivos de entrada (múltiple parece ser la palabra de orden para esta rama) y para sacar mejor rendimiento del hardware 3D.
No estoy muerto (aún)
He tenido una semana bastante atareada y sin tiempo para atender esto. PHP y XAJAX me han ocupado bastante, no puedo decir que todo va sobre ruedas pero más o menos logro avanzar en esto de AJAX.
Irrlicht
Se están gestando algunos cambios, mejoras más bien, en este motor gráfico. A partir de la versión 1.0 ya tenemos un equipo de desarrollo, tal vez no tan nutrido como el de otros proyectos, pero ya es algo. Según la última noticia en el sitio oficial se ha lanzado una versión pre-alfa de un editor de escenas que facilitará la creación de contenido para los juegos.
Creo que a pesar de su sencillez Irrlicht va bastante bien y en camino de convertirse en una opción mucho más seria para proyectos de envergadura.
Creo que a pesar de su sencillez Irrlicht va bastante bien y en camino de convertirse en una opción mucho más seria para proyectos de envergadura.
Sitio sobre SDL
A través de la lista de SDL acabo de descubrir este sitio, que lleva algún tiempo online sobre SDL y programación.
Volviendo a programar
Ayer hice un alto al fuego con Naruto y dediqué un rato a programar. Pienso reescribir cliente y servidor desde cero. En la parte del cliente planeo dedicar el mínimo indispensable a los gráficos y concentrarme más en la parte de comunicación y sincronización con el servidor. Ya aparecerá alguien que se encargue de embellecerlo más tarde.
Mis últimos intentos con cal3d no dieron muy buen resultado. No he logrado adaptar adecuadamente el demo, aunque introduje el escalado de los meshes (soportado internamente por la biblioteca) y tengo en planes estudiarlo más detenidamente a ver si me animo a escribir mi propio renderer, algo más sencillo. Simplemente el modelo no se dibuja completo y no logro encontrar el problema. También he descubierto que el exporter para blender no funciona, los archivos de mallas que genera provocan un error al cargarse.
Mis últimos intentos con cal3d no dieron muy buen resultado. No he logrado adaptar adecuadamente el demo, aunque introduje el escalado de los meshes (soportado internamente por la biblioteca) y tengo en planes estudiarlo más detenidamente a ver si me animo a escribir mi propio renderer, algo más sencillo. Simplemente el modelo no se dibuja completo y no logro encontrar el problema. También he descubierto que el exporter para blender no funciona, los archivos de mallas que genera provocan un error al cargarse.
De policía a criminal en 24 horas (una historia real y no de Jack Bauer)
Es curioso cómo podemos ir de un extremo a otro en un tiempo muy corto.
Tenemos acá en la oficina un colega que lleva unos añitos escribiendo un sistema de control de carpeta para hoteles. Hace unas semanas tuvo que viajar por casi todo el país instalándo en varios lugares. Mientras se encontraba en la Habana un día vienen a buscarlo en un auto policial. Habían oído hablar del sistema y querían que lo instalara, ahora no recuerdo bien dónde. Lo llevaron a una unidad, lo trataron de maravilla, vio las cámaras de vigilancia de la Habana Vieja, etc...
Al otro día, tuvo que ir por su cuenta hasta el Hotel Comodoro, porque no apareció un auto para llevarlo. Así que tomó una máquina de alquiler. Da la bendita casualidad que un policía detiene la máquina. Los papeles del conductor estaban en regla, así que el agente del orden dedicó su atención entonces a los pasajeros y les solicitó sus documentos.
Al llegarle el turno al colega, el policía ve que es oriental. "Residente ilegal", dice inmediatamente, lo baja del vehículo y sin atender más explicaciones lo montan en otro carro policial, esta vez como detenido y lo envían a una unidad, donde lo retienen varias horas hasta que aclaran que simplemente está en la capital por asuntos de trabajo y que no es tal "residente ilegal". A esa hora, ninguno de los que había conocido el día anterior estaban localizables.
Cuando nos hizo la historia nos hemos reído bastante a costa de él y su "residencia ilegal".
A eso es lo que llamo yo tener una suerte...
Tenemos acá en la oficina un colega que lleva unos añitos escribiendo un sistema de control de carpeta para hoteles. Hace unas semanas tuvo que viajar por casi todo el país instalándo en varios lugares. Mientras se encontraba en la Habana un día vienen a buscarlo en un auto policial. Habían oído hablar del sistema y querían que lo instalara, ahora no recuerdo bien dónde. Lo llevaron a una unidad, lo trataron de maravilla, vio las cámaras de vigilancia de la Habana Vieja, etc...
Al otro día, tuvo que ir por su cuenta hasta el Hotel Comodoro, porque no apareció un auto para llevarlo. Así que tomó una máquina de alquiler. Da la bendita casualidad que un policía detiene la máquina. Los papeles del conductor estaban en regla, así que el agente del orden dedicó su atención entonces a los pasajeros y les solicitó sus documentos.
Al llegarle el turno al colega, el policía ve que es oriental. "Residente ilegal", dice inmediatamente, lo baja del vehículo y sin atender más explicaciones lo montan en otro carro policial, esta vez como detenido y lo envían a una unidad, donde lo retienen varias horas hasta que aclaran que simplemente está en la capital por asuntos de trabajo y que no es tal "residente ilegal". A esa hora, ninguno de los que había conocido el día anterior estaban localizables.
Cuando nos hizo la historia nos hemos reído bastante a costa de él y su "residencia ilegal".
A eso es lo que llamo yo tener una suerte...
El desastre de Firefox
Ayer tuve que apagar la PC debido a un apagón. Al encenderla por la tarde me encuentro que Firefox ha perdido toda la configuración, incluyendo marcadores e incluso los motores de búsqueda. Todo desaparecido y hasta ahora no sé cómo recuperarlo.
Si usas Firefox te recomendaría salvar de alguna forma todo esto, no sea que te pase como a mí.
Si usas Firefox te recomendaría salvar de alguna forma todo esto, no sea que te pase como a mí.
Nueva faceta
Siempre he sido aficionado a las bandas sonoras. Tengo una pequeña colección de piezas escogidas de algunas películas que me gustan. Y acabo de descubrir una nueva faceta de este gusto, los temas de apertura y cierre de algunos animes. Hasta el momento, con más exactitud, Gundam Seed Destiny, que tiene un par de temas tecno magníficos y Naruto, que a partir del capítulo 26 si no ando muy errado tiene un tema tirando a pop que me gusta mucho (y ya lo tengo en mi colección).
Irrlicht 1.0 para Mac
Buena noticia para los desarrolladores de juegos que utilizan MAc OS, ya está disponible la versión 1.0 de este motor gráfico.
Cambios en OGame ¡ya viene el lobo!
Pues eso, el lobo viene a comerse a los Top 10. Dentro de unos días se hace efectivo en todos los universos de OGame el SAC, Sistema de Ataques Combinados (o Confederados, o Coordinados, como más te guste) , que permite que hasta 5 jugadores unan sus flotas en un solo ataque. Según la encuesta, que es de puro trámite porque la implantación ya está decidida, el 60% de los jugadores está a favor. En contra, los que hasta ahora se creían intocables. Con raras excepciones, jugadores del Top 10 de todos los universos se han quejado ya que su invulnerabilidad se ve afectada. Los que se daban el lujo de dejar sus flotas en algunos planetas bien defendidos ya no podrán dormir tranquilos y tendrán que hacer fleetsaving como cualquier hijo de vecino. Las alianzas que se han distribuido estratégicamente agrupando sus miembros tendrán una gran ventaja a la hora de lanzar ataques. Los que viven de saquear al más débil tendrán que pensárselo dos veces, porque los ataques de represalia en equipo pueden ser devastadores (una alianza de 10 miembros podría atacar fácilmente variar colonias). Como también serían devastadoras las subsiguientes guerras entre alianzas.
En definitiva, la medida de afectar sí afecta, a quienes no se han preparado para este cambio o llevan un estilo de juego muy individual. Así que a replantearse la estrategia, que ya tenemos el lobo aquí.
En definitiva, la medida de afectar sí afecta, a quienes no se han preparado para este cambio o llevan un estilo de juego muy individual. Así que a replantearse la estrategia, que ya tenemos el lobo aquí.
SDL 1.3
Vuelvo sobre este tema. El pasado lunes Sam anunció (otra vez, al parecer ésta es la oficial) el inicio del trabajo en la rama 1.3, la próxima generación de esta API que incluye importantes cambios y mejoras: blit a través de OpenGL, soporte multiventanas, etc. Hasta el momento, según sus palabras "solo el driver dummy compila".
Nueva Palm m515
Ya estoy de regreso de mis vacaciones. No me ha ido tan mal, pues he regresado con una Palm m515 en lugar de mi anterior Palm One. Un excelente dispositivo si sabes sacarle el máximo a todo lo que te cae en las manos. Su única desventaja es que viene con Palm Os 4.1, y no estoy muy seguro de querer arriesgarme a actualizar. La pantalla en colores no es buena, porque es de las primeras que se introdujeron con la m505. Hay que utilizarla con la retroiluminación para poder ver algo y por supuesto, eso acaba con las baterías en cuestión de nada.
Ya está lista para su uso, con un visor de imágenes (FirePad, que también reproduce video) y un lector de libros (por el momento RichReader). ¿Qué faltaría? Pues reproducir audio y video, pero eso será para el próximo año.
Ya está lista para su uso, con un visor de imágenes (FirePad, que también reproduce video) y un lector de libros (por el momento RichReader). ¿Qué faltaría? Pues reproducir audio y video, pero eso será para el próximo año.
Vacaciones
Me voy de vacaciones por unos días. Pero los dejo en compañía de este grupo que está haciendo furor en toda la Galaxia. Directo desde la cantina de Mos Eisley, para ustedes ¡Curriculum Collegium! (¿y por qué ese nombrecito en inglés?)
El buen samaritano y sus malas intenciones
Imagínate que estás botado en el medio de la autopista a la Galaxia. Una nave de la Federación de Comercio pasa por tu lado y el capitán se ofrece a llevarte hasta Coruscant si le pagas el costo (solo el costo) de la gasolina estelar. Los nemoidianos no son unos tíos muy populares, siempre tratando de obtener beneficios y esas cosas (véase el bloqueo a Naboo y otras historias). Pero da la casualidad que no tienes ni la más remota posibilidad de conseguirte tu propio Halcón Milenario y quedarte botado allí no es una opción.
¿Qué deberías hacer? ¿Sentarte a rumiar las posibles malas intenciones ocultas tras la oferta del nemoidiano o tomar la nave?
No soy muy bueno para las historias moralistas, creo que me dormí mientras Jesús daba clases de cómo apearte con tu propia parábola en 5 minutos, así que ¿de qué va toda esta tontería?
Desde ayer se ha desatado una peregrina discusión en nuestra lista de software libre acerca de las muy llevadas y traídas laptops de $100 y su posible implicación política. Estos pequeños cacharritos están destinados a niños que de otra forma jamás verían una PC en su vida. Pero ¡ah desdicha! La idea es de un norteamericano. Las fabrican en USA. Llevan software libre, pero ¡oh, horror! ¡es software libre empaquetado por una compañía americana! ¡y además van a cobrar por el soporte técnico! Ya lo decía un troyano justo antes de que se lo comieran unas serpientes con muy mala leche: Desconfiad de los regalos de los griegos.
O me estoy pasando al bando de Bush y me despertaré un día de estos en la unidad de la Seguridad del Estado o soy más ciego y tonto de lo que pensaba. Pero no veo quién en América Latina o Asia hubiera podido enfrentar la tarea de construir varios millones de PCs. El soporte técnico, tal vez algunos países tengan la mano de obra calificada y las instituciones con posibilidades de hacerse cargo, pero son unos pocos.
Además, no veo por qué no puedan distribuirse softwares educativos que eleven la cultura y los valores patrios locales.
Podemos seguir criticando las iniciativas de otros, pero la verdad es que estamos abandonados en medio de la autopista de la era informática. Necesitamos desesperadamente que nuestros niños crezcan con acceso a la tecnología. El aventón está ahí, es verdad que viajaremos con un asesino en serie al lado, pero la opción de seguir quedándonos atrás no es válida. O los futuros contratos de mantenimiento seguirán asignándose a compañías americanas o europeas y el dinero seguirá saliendo de nuestros países.
¿Qué deberías hacer? ¿Sentarte a rumiar las posibles malas intenciones ocultas tras la oferta del nemoidiano o tomar la nave?
No soy muy bueno para las historias moralistas, creo que me dormí mientras Jesús daba clases de cómo apearte con tu propia parábola en 5 minutos, así que ¿de qué va toda esta tontería?
Desde ayer se ha desatado una peregrina discusión en nuestra lista de software libre acerca de las muy llevadas y traídas laptops de $100 y su posible implicación política. Estos pequeños cacharritos están destinados a niños que de otra forma jamás verían una PC en su vida. Pero ¡ah desdicha! La idea es de un norteamericano. Las fabrican en USA. Llevan software libre, pero ¡oh, horror! ¡es software libre empaquetado por una compañía americana! ¡y además van a cobrar por el soporte técnico! Ya lo decía un troyano justo antes de que se lo comieran unas serpientes con muy mala leche: Desconfiad de los regalos de los griegos.
O me estoy pasando al bando de Bush y me despertaré un día de estos en la unidad de la Seguridad del Estado o soy más ciego y tonto de lo que pensaba. Pero no veo quién en América Latina o Asia hubiera podido enfrentar la tarea de construir varios millones de PCs. El soporte técnico, tal vez algunos países tengan la mano de obra calificada y las instituciones con posibilidades de hacerse cargo, pero son unos pocos.
Además, no veo por qué no puedan distribuirse softwares educativos que eleven la cultura y los valores patrios locales.
Podemos seguir criticando las iniciativas de otros, pero la verdad es que estamos abandonados en medio de la autopista de la era informática. Necesitamos desesperadamente que nuestros niños crezcan con acceso a la tecnología. El aventón está ahí, es verdad que viajaremos con un asesino en serie al lado, pero la opción de seguir quedándonos atrás no es válida. O los futuros contratos de mantenimiento seguirán asignándose a compañías americanas o europeas y el dinero seguirá saliendo de nuestros países.
Blender texture CD
Dándome mi vuelta habitual por el sitio de Blender me encuentro con la noticia, algo vieja, de que el Blender Texture Disc está disponible para descarga y distribución. Este CD antes se vendía y ahora puedes obtenerlo gratis. Son 220 megas (comprimido) de materiales, texturas y plugins para varias plataformas.
Acabo de descargarlo para un amigo que está abandonando el 3d Max y dice que le va muy bien con Blender.
Acabo de descargarlo para un amigo que está abandonando el 3d Max y dice que le va muy bien con Blender.
Cube
El fin de semana me llevé a casa Cube para probarlo. Esta versión ya casi está obsoleta y se está trabajando en Cube 2 Sauerbraten, una más actualizada que se ve mucho mejor. No me daba tiempo a descargarla, así que me tuve que conformar con la más vieja.
El primer problema es que ambas versiones son como el sexo: están orientadas a multijugador. Si las quieres para matar el tiempo solo pues me parece que no dan la talla. Hay un modo single player, pero muy limitado, simplemente te lanza 20 bichos con muy mala IA que puedes matar en pocos segundos y ya está. En Quadropolis puedes encontrar un mod que añade bots, pero por alguna razón, se mueve extremadamente lento, apenas 2 o 3 cuadros por segundo y el cliente sin modificar no puede conectarse al servidor dedicado modificado para bots. Intenté recompilarlo, pero eso me llevó a recompilar Cube lo cual no funcionó. Este mod no está portado aún a Sauerbraten.
Hasta ahí llegué con este proyecto. Tengo previsto echarle un vistazo a la versión más reciente, pero no creo que los cambios sean drásticos en cuanto a modo de juego. Mi humilde opinión es que deberían enfocarse un poco más en implementar modos de juego para las situaciones más comunes, porque por la parte gráfica han hecho un trabajo bastante bueno.
El primer problema es que ambas versiones son como el sexo: están orientadas a multijugador. Si las quieres para matar el tiempo solo pues me parece que no dan la talla. Hay un modo single player, pero muy limitado, simplemente te lanza 20 bichos con muy mala IA que puedes matar en pocos segundos y ya está. En Quadropolis puedes encontrar un mod que añade bots, pero por alguna razón, se mueve extremadamente lento, apenas 2 o 3 cuadros por segundo y el cliente sin modificar no puede conectarse al servidor dedicado modificado para bots. Intenté recompilarlo, pero eso me llevó a recompilar Cube lo cual no funcionó. Este mod no está portado aún a Sauerbraten.
Hasta ahí llegué con este proyecto. Tengo previsto echarle un vistazo a la versión más reciente, pero no creo que los cambios sean drásticos en cuanto a modo de juego. Mi humilde opinión es que deberían enfocarse un poco más en implementar modos de juego para las situaciones más comunes, porque por la parte gráfica han hecho un trabajo bastante bueno.
Trabajos manuales
Ayer me di a la tarea de traspasar la motherboard al nuevo chasis y de paso cambiar la fuente vieja de 200W por una de 300W de P4. El chasis que estaba usando era terriblemente antiguo, de cuando las 8088. El nuevo, en realidad no es nuevo, porque es de P3. Hubo que hacer un trabajo de adaptación y recortar parte del fondo para dejar accesibles los puertos.
De todas formas tanto esfuerzo no me sirvió de mucho porque ahora resulta que no hay espacio dentro para la fuente. La placa es muy grande y donde debía ir antes la fuente ahora queda el CPU y su disipador. La caja que usualmente alberga las unidades de CD y los discos es muy ancha para sostener a estos últimos porque parece que alguien la recortó por debajo, por lo que el disco duro está apoyado en el fondo. Acceder a él es muy molesto, porque la tarjeta de video y su sistema de enfriamiento llega desde el fondo del chasis hasta el borde de la motherboard, presionando las cintas IDE contra los discos.
Así que dejé armado un engendro sin tapa, con la fuente encima de la caja de unidades, pasando corriente al chasis e incluso a la mesa. Supongo que tendré que buscar un chasis de verdad porque las manualidades no se me dan muy bien y dudo que pueda rehacer lo suficiente el que tengo para que pueda.
De todas formas tanto esfuerzo no me sirvió de mucho porque ahora resulta que no hay espacio dentro para la fuente. La placa es muy grande y donde debía ir antes la fuente ahora queda el CPU y su disipador. La caja que usualmente alberga las unidades de CD y los discos es muy ancha para sostener a estos últimos porque parece que alguien la recortó por debajo, por lo que el disco duro está apoyado en el fondo. Acceder a él es muy molesto, porque la tarjeta de video y su sistema de enfriamiento llega desde el fondo del chasis hasta el borde de la motherboard, presionando las cintas IDE contra los discos.
Así que dejé armado un engendro sin tapa, con la fuente encima de la caja de unidades, pasando corriente al chasis e incluso a la mesa. Supongo que tendré que buscar un chasis de verdad porque las manualidades no se me dan muy bien y dudo que pueda rehacer lo suficiente el que tengo para que pueda.
Liberado SDL 1.2.10
Probablemente esta sea la última de la rama estable 1.2. EL sistema de compilación ha sufrido algunos cambios (para bien) y se ha mejorado el API. Algunos cambios interesantes son que ahora se puede pasar 0 a SDL_SetVideoMode como ancho y alto para utilizar el modo de video actual o la resolución del escritorio, SDL_VideoInfo ahora contiene dos miembros más con la resolución del escritorio durante la inicialización del video, y más tarde con la resolución de pantalla cuando se cambia el modo de video, un driver de audio "dummy" para simular sonido cuando no hay capacidades para audio y SDL_WM_SetCaption ahora acepta títulos UNICODE. En Windows ahora el driver por defecto es windib y no DirectX para evitar problemas con algunas laptops y Windows Vista.
La lista es impresionante y muy larga como para traducirla completa. Esperemos a ver qué nos trae la 1.3 que ya viene en camino.
Actualización: Se han liberado también SDL-image 1.2.5, SDL-mixer 1.2.7, SDL-net 1.2.6 y SDL-ttf 2.0.8. Los cambios son mínimos.
La lista es impresionante y muy larga como para traducirla completa. Esperemos a ver qué nos trae la 1.3 que ya viene en camino.
Actualización: Se han liberado también SDL-image 1.2.5, SDL-mixer 1.2.7, SDL-net 1.2.6 y SDL-ttf 2.0.8. Los cambios son mínimos.
Cal 3d otra vez
Pues al fin me decidí a adaptar el tutorial de cal3d (el Cally). Sin errores críticos por el momento, pero de todas formas no funciona. Como es usual, ando en busca de alguien que se haga cargo de eso.
Algo interesante del formato es que puedes especificar opciones a través de un fichero de configuración, como por ejemplo, el escalado. Una desventaja, que todo está en archivos separados, así que cada modelo consta de varios de ellos: uno para cada animación, material, malla, etc.
Algo interesante del formato es que puedes especificar opciones a través de un fichero de configuración, como por ejemplo, el escalado. Una desventaja, que todo está en archivos separados, así que cada modelo consta de varios de ellos: uno para cada animación, material, malla, etc.
Travian
Al fin logré mi segunda aldea en Travian. No ha sido nada fácil, porque Travian no es un juego fácil. Sin dudas está mucho mejor logrado que OGame, pero la protección contra abusos es casi inexistente, limitada solo a los primeros 14 días. Después, estás completamente a merced de los jugadores más experimentados o que hayan empezado unos días antes. Aunque la cantidad de tropas que puedes mantener tiene un límite, el número de aldeas no. Por tanto la diferencia entre los que empiezan primero y roban a sus vecinos probablemente no se acortará con el tiempo. La necesidad de una alianza fuerte es muy grande aquí porque el saqueo parece ser la única forma de jugar.
Perdí un día de ventaja por volver a crear mi cuenta para estar cerca de mi alianza. En definitiva, fue en vano. Estoy bastante lejos de mis compañeros y rodeado por saqueadores. Aún así he logrado fundar mi segunda aldea. Si todo va bien en un mes tendré otra. Y tal vez pueda darles alguna guía rápida de estrategia antes de que abran el servidor 3.
Perdí un día de ventaja por volver a crear mi cuenta para estar cerca de mi alianza. En definitiva, fue en vano. Estoy bastante lejos de mis compañeros y rodeado por saqueadores. Aún así he logrado fundar mi segunda aldea. Si todo va bien en un mes tendré otra. Y tal vez pueda darles alguna guía rápida de estrategia antes de que abran el servidor 3.
Piensa antes de escribir
Gracias a Axxonita recibimos esto en el grupo del taller literario.
He aquí una serie de avisos reales que se publicaron alguna vez, sin darse cuenta que podían ser malinterpretados. Son avisos parroquiales, reales todos ellos, que seguramente habrán sido redactados con la mejor voluntad del mundo:
* Para cuantos entre ustedes tienen hijos y no lo saben, tenemos en
la parroquia una zona arreglada para niños.
* El próximo jueves, a las cinco de la tarde, se reunirá el grupo de
las mamás. Cuantas señoras deseen entrar a formar parte de las
mamás, por favor, pedir entrevista para que las atienda el párroco
en su despacho.
* El grupo de recuperación de la confianza en sí mismos se reúne el
jueves por la tarde, a las ocho. Por favor, para entrar usen la
puerta trasera.
* El viernes, a las siete, los niños del Oratorio representarán la
obra "Hamlet" de Shakespeare, en el salón de la iglesia. Se invita a
toda la comunidad a tomar parte de esta tragedia.
* Estimadas señoras, ¡no se olviden de la venta de beneficencia! Es
una buena ocasión para liberarse de aquellas cosas inútiles que
estorban en casa. Traigan a sus maridos.
* Tema de la catequesis de hoy: "Jesús camina sobre las aguas".
Catequesis de mañana: "En búsqueda de Jesús".
* El coro de los mayores de sesenta años se suspenderá durante todo
el Verano, con agradecimiento por parte de toda la parroquia.
* Recuerden en la oración a todos aquellos que están cansados y
desesperados de nuestra parroquia.
* El torneo de baloncesto de las parroquias continúa con el partido
del próximo miércoles por la tarde. ¡Venid a aplaudirnos, trataremos
de derrotar a Cristo Rey!
* El precio para participar en el cursillo sobre "oración y ayuno"
incluye también las comidas.
* Por favor, pongan sus limosnas en el sobre, junto con los difuntos
que deseen que recordemos.
* El párroco encenderá su vela en la del altar. El diácono encenderá
la suya en la del párroco, y luego encenderá uno por uno a todos los
fieles de la primera fila.
* El próximo martes por la noche habrá cena a base de garbanzos en
el salón parroquial. A continuación tendrá lugar un concierto.
* Recuerden que el jueves empieza la catequesis para niños y niñas
de ambos sexos.
* El mes de noviembre terminará con un responso cantado por todos
los difuntos de la parroquia.
He aquí una serie de avisos reales que se publicaron alguna vez, sin darse cuenta que podían ser malinterpretados. Son avisos parroquiales, reales todos ellos, que seguramente habrán sido redactados con la mejor voluntad del mundo:
* Para cuantos entre ustedes tienen hijos y no lo saben, tenemos en
la parroquia una zona arreglada para niños.
* El próximo jueves, a las cinco de la tarde, se reunirá el grupo de
las mamás. Cuantas señoras deseen entrar a formar parte de las
mamás, por favor, pedir entrevista para que las atienda el párroco
en su despacho.
* El grupo de recuperación de la confianza en sí mismos se reúne el
jueves por la tarde, a las ocho. Por favor, para entrar usen la
puerta trasera.
* El viernes, a las siete, los niños del Oratorio representarán la
obra "Hamlet" de Shakespeare, en el salón de la iglesia. Se invita a
toda la comunidad a tomar parte de esta tragedia.
* Estimadas señoras, ¡no se olviden de la venta de beneficencia! Es
una buena ocasión para liberarse de aquellas cosas inútiles que
estorban en casa. Traigan a sus maridos.
* Tema de la catequesis de hoy: "Jesús camina sobre las aguas".
Catequesis de mañana: "En búsqueda de Jesús".
* El coro de los mayores de sesenta años se suspenderá durante todo
el Verano, con agradecimiento por parte de toda la parroquia.
* Recuerden en la oración a todos aquellos que están cansados y
desesperados de nuestra parroquia.
* El torneo de baloncesto de las parroquias continúa con el partido
del próximo miércoles por la tarde. ¡Venid a aplaudirnos, trataremos
de derrotar a Cristo Rey!
* El precio para participar en el cursillo sobre "oración y ayuno"
incluye también las comidas.
* Por favor, pongan sus limosnas en el sobre, junto con los difuntos
que deseen que recordemos.
* El párroco encenderá su vela en la del altar. El diácono encenderá
la suya en la del párroco, y luego encenderá uno por uno a todos los
fieles de la primera fila.
* El próximo martes por la noche habrá cena a base de garbanzos en
el salón parroquial. A continuación tendrá lugar un concierto.
* Recuerden que el jueves empieza la catequesis para niños y niñas
de ambos sexos.
* El mes de noviembre terminará con un responso cantado por todos
los difuntos de la parroquia.
Series de TV de Star Wars
Gracias a la red de los Sith me entero de que el padawan de Lucas, McCallum, ha revelado algunos detalles mínimos acerca de las series de TV basadas en el universo Star Wars.
Cosas que aprendes gracias a tus hijos
De una madre anónima, en Austin, Texas:
- Una cama de agua grande contiene suficiente agua para inundar una casa de 2000 pies cuadrados a 4 pulgadas de profundidad.
- Si rocías pelusa de lana con spray para el cabello y patinas sobre ella, puede incendiarse.
- La voz de un niño de 3 años es más fuerte que la de 200 adultos en un restaurante lleno.
- Si atas la correa de un perro al ventilador del techo, el motor no tendrá fuerza suficiente para hacer girar a un niño de 42 libras con la capa de Superman y la ropa de Batman. Sin embargo, si atas una lata de pintura sí es suficiente para esparcir la pintura sobre las 4 paredes de una habitación de 20x20 pies.
- No debes tirar una pelota de baseball hacia arriba cuando el ventilador de techo está encendido. Cuando usas un ventilador de techo como bate, debes tirar la pelota varias veces antes de lograr que le pegue. El ventilador de techo puede enviar la pelota muy lejos.
- El cristal de la ventana (incluso las de doble panel) no puede detener una pelota bateada por un ventilador de techo.
- Cuando oigas descargar el baño y las palabras "uh oh", ya es demasiado tarde. No importa la edad del niño.
- Cuando mezclas líquido de frenos y Clorox se produce humo. Muchísimo humo.
- Un niño de 6 años puede hacer fuego con una piedra de sílex, incluso cuando un hombre de 36 dice que eso solo pasa en las películas.
- Algunos Legos pasan por el tracto digestivo de un niño de 4 años.
- Plastilina y microwave no deben usarse en la misma oración.
- Super glue es para siempre (y doy fe de ello, aúntengo una gota en el piso y otra en mis pantalones).
- No importa cuánto Jell-O (gelatina) pongas en una piscina, aún así no puedes caminar sobre el agua.
- A los filtros de piscina no les gusta el Jell-O.
- Los VCRs no lanzan sandwiches de PB&J aún cuando los comerciales de TV muestran que sí.
- Las bolsas de basura no sirven como paracaídas.
- Las canicas en el tanque de combustible hacen mucho ruido cuando conduces.
- Probablemente no quieras saber qué es ese olor.
- Siempre mira el horno antes de encenderlo. A los juguetes plásticos no le sientan bien los hornos.
- El departamento de bomberos de Austin, Texas, tiene un tiempo de respuesta de 5 minutos.
- La velocidad de giro de las máquinas lavadoras no marea a las lombrices de tierra.
- En cambio sí marea a los gatos.
- Los gatos vomitan el doble de su peso corporal cuando están mareados.
- La mente de un niño de 6 años es maravillosa. Una historia real: la maestra de primer grado leía el cuento de los 3 cerditos y llegó a la parte donde ellos buscan materiales para construir sus casas. Ella lee: "entonces el cerdito fue a ver al hombre con la carretilla de paja y le preguntó: señor, ¿puede darme un poco para hacer mi casa?", la maestra hace una pausa y pregunta "¿Qué creen que respondió el hombre?", un niño levanta la mano y contesta: "Creo que dijo ¡Carajo, un cerdo que habla!". La profesora no pudo dar clases durante los 10 minutos siguientes.
- El 60% de los hombres que lean esto tratarán de mezclar líquido de frenos y clorox.
Star Wars sin adulterar
Al parecer, la demanda popular de tener la trilogía original inalterada ha hecho que el tío Jorgito dé su brazo a torcer. En zonadvd y Horas Perdidas leo que a partir del 12 de septiembre y por tiempo limitado estará a la venta la nueva edición.
Suscribirse a:
Comentarios (Atom)