Ayer a altas horas de la noche termino bien la primera escaramuza entre los humanos y los robots. En mis primeros acercamientos a RealTimeBattle he descubierto (via prueba y error, y via documentacion), que:
- En ubuntu tenemos la version 1.0.7-ext, pero que si coges el paquete RealtimeBattle-common 1.0.8-2 y RealTimeBattle 1.0.8-2 de Debian asi a pelo y lo instalas, no casca…era de esperar que funcionara pero nunca se sabe. Aparte he descubierto que el mono-instalador (no porque este programado en Mono, que no lo se, sino porque es para 1 solo paquete) que trae es una delicia porque es usable al 100% y es simplito, muy interesante el proyecto para cosas futuras. Y bueno para que vale actualizar el RealTimeBattle pues para bien poco porque arregla fallos pero no da muchas funcionalidades nuevas, pero bueno mola estar a la ultima.
- Existen 3 modos de comunicarse el servidor de RealtimeBattle, que se expecifican al comienzo de la batalla:
- Standard in blocks: que es metodo mas basico, consistente en que siempre hay mensajes en la entrada, y se leen con funcion de lectura que tenga el lenguaje que uses (ejm en C scanf), pero tiene la problematica que cuando no hay mensajes, en la entrada hay basura, numeros sin significado, y eso te puede volver loco al principio si no conoces la cirscunstancia, como le paso a un servidor.
- Select: que no lo probado pero que es leer mensajes si hay en la entrada los puedes coger.
- Signals: que le pasas una señal al servidor (normalmente SIGUSR1) y cuando hay algun mensaje pera tu robot lanza la señal y teniendo programado con anterioridad un manejador en tu robot para esa señal, pues la capturadia y diria “uy, me avisan que hay mensajes, voy a leerlos”. Este modelo de comuniacion es el mas interesante porque podrias tener codigo de control ejecutandose, sin tener que mirar periodicamente la entrada a ver si se ha estazado tu robot. Pero por mas pruebas que he hecho no me acaba de rular, en el siguiente reporte de guerra expondre lo hecho.
- Aparte tambien hay que decir que, hay poca documentacion en cualquier idioma sobre RealTimeBattle, a ver si esta serie de articulos sobre RealTimeBattle valen de documentacion minima y como subersivo para que se mueva otra vez la cosa.
- Aunque no tiene que ver con la programacion, se me han ocurrido otras competiciones usando RealTimeBattle muy interesantes que se podria hacer en la competiciones de Realtimebattle, la mejor Coreografia jajajaja, en serio se podria hacer que un equipo de robots montaran un baile y el jurado premiara (ya sabeis 10 puntos 8 puntos 9 puntos) a la mejor coreografia en plan como lo de patinaje sobre hielo y cosas de esas. Y es muy interesante de programar porque seria hacer que varios robots actuaran de forma cordinara para crear bellas formas coreograficas.
Y bueno mas no he descubierto, y no puedo enseñar los codigos fuentes de los robots porque estoy en ordenador ajeno asique como digo en el proximo reporte de guerra, enseñare mi labor en el campo de batalla. Hata entonces seguire afinando, y queria comprobar eso de trabajar en equipo los robots porque es sin duda lo mas interesante. Tambien queria ver eso de los tiempos de CPU (que reparten para cada robot y que si supera le puntua negativo) que dicen en la documentacion, porque con el metodo clasico de leer a pedal, tiene pinta de que los tiempos de CPU se disparan pero no ocurre nada, y mas aun un par de ejemplos que encontrado por la red de robots ganadores en C, leen a pedal todo el rato.
Por cierto he encontrado una competicion de este año de RealTimeBattle por estas tierras, Competicion de 26 de abril de 2006 que participo incluso el robot de Chuck Norris pero que taba un poco reventado de patadas porque no gano ni un solo enfrentamiento.
Anteriores Articulos:
Etiquetas: mini tutorial, realtime battle, Software libre, videojuego de programación, Videojuegos




