Ir al contenido principal

Entradas

Mostrando entradas de diciembre, 2006

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.

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.

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

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.

¿Qué personaje de CF/fantasía eres?

Gracias a Daisita, por este test. Resulta que soy Gimli.

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.

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 l…

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.

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 200…

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 …