30 Junio 2006

Los grandes Hack del SMB3 (aka Super Mario Bros 3)

Es de saber popular que por el mundo pululan jefazos (aunque se asusten cuando se lo dices a voces en un metro de europa :P ), tambien algunas personas los llaman artistas.

Pues ahi un grupo de artistas que trabajan con los bits como el escultor que trabaja con la piedra, y trabajan con los bits porque no les queda mas remedio ya que se derican a hackear roms y estas son el producto final y por tanto no hay mas que bits sin coherencia aparente….bueno si lo vemos el resto de los mortales pero ellos empiezan a ver mappers (si usa la consola en cuestion), codigo de programa, datos, sprites…. Hoy por hoy supongo que ya habra alguna que otra herramienta que les facilite la vida, porque siguiendo con el simil del escultor, trabajarte las roms con un cacho editor hexadecimal es como trabajar la piedra con tus propias manos, y salvo los vascos no creo que ni Chuck Norris se trabaja las piedras con las manos (chiste de Chuck Norris de la cosecha ^_^, Chuck Norris en realidad se llama Patxi Norrizaloa pero para hacer carrera de actor se cambio el nombre). Es que modificar una rom en plan bestia es decir moviendo direcciones de saltos y tal para extender ciertas partes y meterles mas chicha, o cambiar listas de instrucciones completas, no es moco de pavo por mucho que hagamos hecho todos nuestros pinitos poniendo cuatro textos en español o cambiandole cuatro sprites. Esta gente que os paso a continuacion, ha sido capaz de cambiar codigo ejecutable, añadirle bateria a cartuchos inicialmente no tenian bateria, es decir los putos jefazos.

Mario Adventure

Es el hack de la muerte del Super Mario Bros 3, que entre los muchos añadidos son bateria para guardar partida :O , nuevos niveles de los cuales son niveles muy naturales es decir que no dan sensacion de artificiales (se nota que el chaval@ ha jugado al smb3 ;) ), ademas de eso nuevos poderes como mario invisible y mario mago, ha añadido meteorología aleatoria en plan que algunas veces entras a un nivel y puede estar nevando (esos derrapes del mario), de noche, llover, etc, tambien ha añadido un itembox al mas puro estilo super mario world en plan para el que no sepa cuando cojes un item en juego por ejemplo el poder de la hoja pues si eres mario fuego te guarda la flor de fuego en el item box para que en cualquier momento pulsando select cambies entre uno y otro, ahora se pueden repetir los niveles.
Y como colofon final ha cambiado el sistema de juego pasando de ser el clasico super mario bros 3: numero de vidas, 100 monedas una vida y pasar niveles, a vidas infinitas (la razon es que hay niveles solo actos para los adictos al mario), y ahora las monedas puedes coger muchas mas y valen para lo que valen en la vida diaria para pagar, en este caso en las casitas de la seta de toda la vida ahora tienes que pagar por jugar o elegir cofre, y ahora el juego al finalizar no te espera la cajita giratoria para hacer fuegos artificiales, sino n (he llegado a pegarme con 3 a la vez) ¿mini-bowser? (los de los casitllos), y el objetivo del juego es ir haciendote con las llaves para abrir nuevos mundos, ademas ha añadido en algunos niveles puzzles plataformeros que tienes que resolver y que si te salen mal puedes repetir entrando por una puerta o tuberia. Por cierto tambien ha metido nuevos bichos y cambiado los graficos de algunas cosejas.

Y bueno mas informacion en Mario Adventure: The Best NES Game Hack of All Time y la rom Mario Adventure.

Luigi’s Coin Quest

Y el segundo hack de interes internacional, es el Luigi’s Coin Quest que es otro hack del SMB3 en que el luigi es el prota, de los cambios asi de pronto que tiene, ha actualizado los sprites de Luigi para que tenga la cabeza un poco mas alargada y nose un simple intercambio de paletas, ademas en el juego se han modificado poderes como el tanoki que ahora no vuela y crea un mini ladrillo de pinchos, ademas de eso este tiene 3 item box, dos de ellos que se llenan mas o menos como el anterior, salvo que uno se puede guardar la bota (dandole select+arriba o algo parecido) y el tercero es un reloj para hacer “bullet time” activandolo con (select+abajo creo) que no tiene nada que envidiar con neo en matrix, ni con el poli de los maxpain. Y bueno ese reloj se gasta y para recargarlo hay que coger cerezas por los niveles. Ademas tiene vidas infinitas como el mario adventure, pero tiene algo novedoso, una barra de aire para cuando buzeas dandole una dimension desconocida hasta ahora a nadar con mario…esto con Luigui ^_^. Y en este tambien ha cambiado el modo de juego, ya que no hay monedas como tal, sino una moneda por nivel que tienes que encontrar para finalizar el nivel. Ademas se han añadido puzzles usando los switch (interruptores) tipicos.

Este tenemos video de como funciona…es que los tiempos estan que cambian :P.

Y bueno pues mas informacion en Hacksterpiece Theatre: The Lost Hacks of DahrkDaiz, Part 3 (Luigi’s Coin Quest) y la rom Luigi’s Coin Quest.

La verdad es que ninguna es ninguna novedad, e incluso alguno ya las ha probado, pero es que tenia ganas de hablar de ellas. Por cierto las dos son roms de la nes, la clasica Nintendo de 8 bits de los 80, y emuladores hay a patadas pero asi los buenos son FCE Ultra y el Nester, y bueno para consolas el NesterDC va de la leche en la Dreamcast. Dos de las multiples obras impresionantes de retroingenieria e ingenieria inversa.

Por: MD | Videojuegos | Comentarios (10) | Referencias ()

29 Junio 2006

Video 3D musical

Me recuerda a los primeros cortos la rata de dy$ney de los primeros tiempos en que buscaba una relacion directa entre la imagen y la musica.

Por: MD | Humor & Curiosidades | Comentarios (4) | Referencias ()

Elfen Lied

Aunque ya termine de ver esta gran serie de animacion (anime para los cools ;) o dibujos animados para el resto de los mortales en los que me incluyo), me falta de ver el OVA (apellidado episodio 14).

Bueno otros motivos me voy a abstraer de hablar de la serie hasta dentro de unos dias, no obstante algo de alimento neuronal teneis en la wikipedia sobre Elfen Lied, y nose deciros que son 13 episodios + OVA. Y que los 13 episodios se los podeis pedir en español (hablado y si quereis todavia se encuentra subtitulado) y en muy buena calidad a vuestras respectivas tias franciscas.

Asique atentos a la sandia, haber si me sale un texto chulo (si ya lo se no es lo mismo chulo que chungo), pero nose que es una serie de esas que pertenece al olimpo de las grandes series japonesas, donde esta Evangelion sin duda.

Por: MD | Televisión | Comentarios (6) | Referencias ()

26 Junio 2006

Mandala moderno

Bueno aparte de toda la mistica que tienen los Mandalas, y que los batidos de medio litro de un cafeteria “seminaturista” que tambien se llama Mandala estan muy buenos (por cierto la recomiendo porque ademas es de las primeras que se adecuado a la normativa de espacio sin humos), recomiendo los batidos de chocolate :D__ __.

Bueno pues dejando aparte estas acepciones de la palabra Mandala, los Mandalas tambien son un medio para relajarse muy util y creativo….¿y como? Pues viendolos, pues nose, pero coloreandolos si, y ahora se estan poniendo de moda regalar el tipico libro de mandalas acompañado de un estuche de pinturas muy ecologista de madera o asi. Y nada te relajas pintando. Creo que lo puso de moda en españa, la vocalista de Dover que en alguna entrevista le preguntaron como se relaba cuando estaba con lo del grupo, que si tenian un saco de boxeo (es algo comun en serio ;) ) en el local de ensayo y respondio que ella hacia esto de los mandalas y los ensañaba, pero no me hagais mucho caso porque no estoy seguro si era la vocalista de Dover, lo que si se que era una vocalista española aunque nose de que grupo.

Estos libros de mandalas, no distan mucho de los libros de colorear que teniamos cuando eramos niños, uff que recuerdos. Salvo porque en la hoja par no te viene el dibujo coloreado, porque debes colorearlo segun te dicte el espiritu y ademas porque los dibujos no son blancanieves y los siete enanitos, sino composicionees geometricas que puedes buscarles desde el significado pedante y mistico, o el significado matematico que me parece aun mas grandioso.

Bueno dejando aparte los Mandalas clasicos, para mi el Mandala moderno por excelencia es dibujar y pintar sobre una imagen (real o ficticia) para crear su version vectorial personalmente artistica, en serio te deja muy relajado ademas de que fomenta la creatividad y la imaginacion. Y si bueno ya lo se que hay gente que su oficio es diseñador grafico y tiene que hacer estas cosas por obligacion y de forma monotona, pero hay gente que tambien le relaja yendo los fines de semana a su pueblo a hacerse una casita con pico y pala, y eso tambien es otro oficio bastante ingrato llamado obrero o peon comunmente.

Mis lapiceros de colores ecologicos que uso para el moderno es el Inkscape que es un excelente programa de dibujo vectorial, con un completo y sencillo tutorial en español, que como no soy diseñador grafico a que nivel esta profesionalmente, pero para los Mandalas modernos y para hacer mis pinillos me sobra.

Y bueno los pasos para hacer un mandala moderno es coger una imagen que te guste (intentar que sea sencilla, sobre todo al comienzo) y empezar a dibujar encima para desarrollar su version vectorial con un toque artistico de toda la imagen o de algun objeto que desees de ella. Todo esto hacerlo con tranquilidad (si no es tu oficio), pausadamente porque puedes relajarte con una imagen semanas, ya que nadie te esta obligando a darle el producto final. Y sobre todo cuando tengas que dibujar cosas dificiles saca tu artista artista y deja que tu imaginacion guie tu mano, no se busca el clon perfecto, incluso si ves detalles imposibles puedes incluso obviarlos si asi lo deseas. Ante todo no te autoexijas crearlo de cierta manera, disfruta de la experiencia y si una parte de lo que tienes realizado anteriormente no te gusta pues vuelvelo a recomenzar si asi lo deseas.

Y bueno uno de los ultimos Mandalas que he hecho ha sido un camion, ahora estoy con un tren:
Esta era la imagen original

Esto es como fui desarrollando el Mandala:

Y este es finalmente el Mandala personal que he hecho de el (aviso esta en formato SVG puede que tu navegador propietario no lo veas o no lo veas bien):


Como veis es una creacion artistica donde he obviado multitud de detalles en pos de la relajacion y la imaginacion.

Ademas con esto de los mandalas modernos si los donas libres, puedes colaborar en multitud de proyectos como por ejemplo:
WikiCommons
OpenClipArt
Seguro que agradeceran tus creaciones

Por: MD | Arte | Comentarios (6) | Referencias ()

24 Junio 2006

Estropicio Anal

Bueno todos sabreis que hoy es un dia triste y de impotencia porque los ladrones han conseguido imponer su ley, es decir nosotros los votamos pero ellos los manejan (todos los partidos, ni uno nacional se a librado, ni siquiera mi querida Izquierda Unida que ha caido al saco como todos).

Que voy a decir mas de lo que ha dicho y ha comentado la gente en:
Barrapunto
ElotroLado
BandaAncha

Tambien la plataforma todos contra el canon, ha sacado aciago dia:
Comunicado

Que vamos hacer ahora si los politicos que votamos no nos escuchan, para escuchar a una entidad privada, yo no se hay cosas mas importantes por las que preocuparse, pero si los politicos no son capaces de escuchar a la razon, a la mayoria y decidir en consecuencia, que va pasar con cosas mas dificiles de resolver, esto del canon y la copia sin animo de lucro es facil de entender, asique lo dificil miedo me da.

Por: MD | General | Comentarios (4) | Referencias ()

23 Junio 2006

Metodología Merise

Si has llegado por el google o semejantes buscadores, buscando la metodología MERISE pues la metodologia Merise es lo que no esta en internet. Lo siento es la verdad. Y como decia Manolo Kabezabolo titulando a uno de sus multiples discos como Ajo, Agua y Resina.

Para mas información paga por unos libros de oposiciones inutiles o por una academia de oposicion inutiles y encima fuera de tu ciudad (mas gastos).

P.D. No es una gran ironia que siendo una metodologia no exista material suficiente o no exista al alcanze de todos, nose va ser dificil que esta metodologia desarrollada por las franceses haya por los 70 se convierta en un estandar, salvo un estandar para joder en las oposiciones.

Por: MD | General | Comentarios (6) | Referencias ()

22 Junio 2006

Otro acercamiento al escritorio en 3D

Otra forma de enfocar, la problematica de usabilidad que plantean los escritorios en 3D. En este caso es muy muy estetico y parece muy intuitivo.

Es factible de implementar con la tecnologia actual y sin consumir muchos recursos este escritorio, haber si algun guru de Linux se echa el pisto :) .

Quiza lo unico es que el manejo es claramente 2D pero bueno, es un comienzo.

Y tambien en formato mov el video que por lo menos es mas libre (aunque no del todo) que el puñetero formato de micro$oft de video que es una zarria (consume recursos que no es medio normal para la misma calidad que un divx….comprovado en un pentium2).

Hay otros acercamientos igual de interesantes por parte de Sun con su “Clean Glass” (uhmm ya no recuerdo como se llamaba) y alguno mas ahi por ahi.

Por: MD | Informática | Comentarios (4) | Referencias ()

20 Junio 2006

RealTimeBattle IV (comunicados de guerra)

Del robot de entrada salida Basica que dije en anterior articulo os dejo el log de entrada capturada que tiene la cualidad que sale masticadito, aunque para mas informacion, lo analizaremos paso a paso, no es todo el log pero si el mas interesante:


Num Unknow Mensajes:2.450500e+04
INITIALIZE
Num Unknow Mensajes:1.365060e+06
GAME_STARTS
ROBOTS_LEFT
Num Unknow Mensajes:1.000000e+00
GAME_OPTION
Num Unknow Mensajes:2.000000e+00
GAME_OPTION
Num Unknow Mensajes:2.000000e+00
GAME_OPTION
Num Unknow Mensajes:2.000000e+00
GAME_OPTION
Num Unknow Mensajes:2.000000e+00
GAME_OPTION
Num Unknow Mensajes:2.000000e+00
GAME_OPTION
Num Unknow Mensajes:2.000000e+00
GAME_OPTION
Num Unknow Mensajes:2.000000e+00
GAME_OPTION
Num Unknow Mensajes:2.000000e+00
GAME_OPTION
Num Unknow Mensajes:2.000000e+00
GAME_OPTION
Num Unknow Mensajes:2.000000e+00
GAME_OPTION
Num Unknow Mensajes:2.000000e+00
GAME_OPTION
Num Unknow Mensajes:2.000000e+00
GAME_OPTION
Num Unknow Mensajes:2.000000e+00
GAME_OPTION
Num Unknow Mensajes:2.000000e+00
GAME_OPTION
Num Unknow Mensajes:2.000000e+00
RADAR
Num Unknow Mensajes:3.000000e+00
COORDINATES
Num Unknow Mensajes:3.000000e+00
INFO
Num Unknow Mensajes:3.000000e+00
ENERGY
Num Unknow Mensajes:9.848000e+03
WARNING:Warning
Unknown message:A
RADAR
Num Unknow Mensajes:3.000000e+00
COORDINATES
Num Unknow Mensajes:3.000000e+00
INFO
Num Unknow Mensajes:3.000000e+00
WARNING:Warning
Unknown message:ccelerate
WARNING:Warning
Unknown message:Ac
ENERGY
Num Unknow Mensajes:1.912900e+04
WARNING:Warning
Unknown message:celerate
WARNING:Warning
Unknown message:Acc
RADAR
Num Unknow Mensajes:3.000000e+00
COORDINATES
Num Unknow Mensajes:3.000000e+00
INFO
Num Unknow Mensajes:3.000000e+00
WARNING:Warning
Unknown message:elerate

….continua….

NumUnknow Mensajes: son las lineas basura algunas veces y otras veces son cosas que no se han podido reconocer como

GAME_OPTION
Num Unknow Mensajes:2.000000e+00

Las dos lineas desconocidas son los parametros de Opcion.

Porque el formato de los mensajes son en varias lineas (3 casi siempre), donde la primera es un texto tal cual con el tipo de mensaje Radar, Initialize, Warning… y despues una linea con cada parametro del mensaje.

Por eso si vemos el log, se ve claramente donde esta las lineas de basura porque se van a calcoño el numero de lineas como por ejemplo:
Las de antes de Iniciar el robot (INITIALIZE):
Num Unknow Mensajes:2.450500e+04 <- que hay casi 20.000 lineas de basura

Esto significa que el bucle de lectura esta leyendo como un cosaco y el RealTimeBattle como todavia no ha iniciado nada pues responde con basura (numeros al azar sin un encabezado de mensaje), hasta que si ya manda el inicio.

Y despues de iniciar tenemos:
Num Unknow Mensajes:1.365060e+06
GAME_STARTS
Casi 1 millon de lineas de basura hasta que el server empieza el juego.

Pero justo despues ya vemos que nos tragamos una linea como basura pero que es informacion:
ROBOTS_LEFT
Num Unknow Mensajes:1.000000e+00

Por parte de la salida pues segun el codigo fuente, el robot solo de momento corre hacia adelante:
if(comienzo)
{
printf(”Accelerate 5\n”);
fflush(stdin);
}
Se ve que es interesante hacer un “flush flush” para que vuelque bien la salida porque sino hay problemas, por cierto esta dentro de una condicional porque sino el RealTimeBattle se queja (con warnings) de que queremos acelerar el robot antes de tiempo.

Y bueno hasta aqui el interesante analisis y un poco superficial pero sobrado de como se comunica el RealTimeBattle.

Anteriores Articulos:

Por: MD | Consejos, Trucos y Tutoriales | Comentarios (12) | Referencias ()

RealTimeBattle III (los primeros guerreros)

#include <string.h>
#include <realtimebattle/Messagetypes.h>
#include <signal.h>

void leerMensajes(void)
{
char linea[81];

scanf(”%s”,linea);
fprintf(stderr,”%s\n”,linea);
}

void capturadorSenales(int senal)
{
fprintf(stderr,”Entrando\n”);
leerMensajes();
signal(senal,capturadorSenales);
}

int main(int argc, char *argv[])
{
printf(”RobotOption %i 1\n”,USE_NON_BLOCKING);
printf(”RobotOption %i %i\n”,SIGNAL,SIGUSR1);
//printf(”RobotOption %i 1\n”,SEND_SIGNAL);

sigset_t senales;
signal(SIGUSR1,capturadorSenales);

sigemptyset(&senales);
sigaddset(&senales,SIGUSR1);
sigprocmask(SIG_UNBLOCK,&senales, NULL);

fprintf(stderr,”Comienza el juego\n”);
//printf(”Name Prueba01\n”);
//printf(”Colour 000000 ffffff”);
while(1)
{
fprintf(stderr,”Duerme\n”);
sleep(1);
}

return( EXIT_SUCCESS );
}

Bueno espero no hacer la futura SkyNet sin querer :P.

Anteriores Articulos:

Actualizacion: Caguen si pongo las etiquetas <pre></pre> me destroza el dise�o de la Sandia y sino lo pongo las tabulaciones se van a cuenca.

Por: MD | Consejos, Trucos y Tutoriales | Comentarios (2) | Referencias ()

RealTimeBattle II (parte de guerra)

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:

Por: MD | Consejos, Trucos y Tutoriales | Comentarios (0) | Referencias ()