25 Agosto 2006

42 en el Videojuego

No va ser ningun texto sesudo o excesivamente largo ya que es algo simple y que se me ocurrio hace unos meses y de vez encuando viene a la cabeza…sobre todo para distraer siendo necesario plasmarlo en papel o en algun sitio para que encerrar entre lineas a esa hada verde juguetona que viene a distraer, yo creo que es prima de la musa porque normalmente te viene la musa a inspirar y despues esta este hada verde en plan cansina de vez en cuando distrayendote con lo que te dijo la musa, asi que en este texto esta encerrada un hada verde que no me dejaba estudiar.

Por ejemplo ahora esta muy de moda mezclar cualquier tipo de juego con RPG, desde un juego de tennis hasta FPS. Pero porque sucede esto, pues porque la gente cada vez juega menos a un solo juego, normalmente por motivos laborales o estudios u otras razones, tambien puede ser porque ahora el mercado de los juegos es mas grande (aunque no tan barato y eso que esta la ley de la oferta y la demanda) y si antes teniamos el Super MarioBros que le hechabamos mas horas que una beata con el rosario, ahora es tipico tener titulos que apenas hemos jugado. Hay que añadir a eso que normalmente la cultura videojueguil es extensa (si ya se que hay grupos que apenas los han probado, pero por suerte para algunos y para otros por desgracia esto esta cambiando), en algunos casos puede haber el mismo o mas numero de horas delante de los videojuegos que delante de las peliculas, mientras no supere las horas delante de los libros ;).

Y que es lo que se busca conscientemente o inconscientemente en los videojuegos: diversion, recompensa y porque no decirlo castigo. Analicemos pues cada uno aunque no en el orden dicho:

  • Recompensa: antes la recompensa que te ofrecia un juego por juegarlo eran pocas pero es que todavia no estabamos astiados y saciados, la tipica recompensa era mas pantallas o niveles, otro nivel de dificultad mas, o un bonito endding.Tambien es necesaria recompensas rapidas que te vayan dando a lo largo de la partida como cada nivel mas interesante (ejm actual es el BreakQuest un machacaladrillos que solo quieres pasar niveles para ver cuan de espectacular es el siguiente).

    Clasico ejemplo de recompensa es el inventario relleno a rebosar de “super P” del mario bros 3 cuando te lo pasabas.

    Despues estan las metarecompensas que no son intrinsecas al juego, como el status social de pasarte un videojuego, muy habitual esta en tiempos mozos, la ultimas que me paso fue con el GTA San andreas que los crios de mi barrio no se creen que me lo haya pasado sin trucos…ains que mal anda la juventud para que necesite trucos…en mis tiempos nos pasabamos de un tiron y sin flautas el mario3 ;). O sentirte ralizado por pasarte un juego.

    Pero quien no ha dicho alguna vez, vaya “puta mierda de juego con lo que he sufrido aguantandolo jugar y no me dan nada” yo lo estoy diciendo habitualmente y tengo que decir que es lo mas frustante que hay porque ves las horas que le has hechado para que…para nada…., o vas por gamefaqs y ves el porron horas necesarias para conseguir alguna recompensa deseada y te frusta. Nintendo nos tiene muy mal acostumbrada a la gente, ya que antes nos daba muchas recompensas y claro asi estabamos, pero ahora o te cobra por ellas (ejm necesitas el juego metroid de gba para sacar en el de la cube el metroid de la NES) o ya nos la da como antes. Para entender este pensamiento sobre Nintendo solo hay que ver la leyenda urbana que se monto en sus tiempos con el Mario64 en el clipping ese de la puerta del castillo que la gente decia que era un camino secreto para jugar a los marios antiguos, la gente esperaba eso porque era la Nintendo que le ofrecia recompensas en tiempos snes o la nes, ahora Nintendo desilusiona en ese aspecto.

    Esa es una de las razones por la que ahora esta tan de moda mezclar RPG en estilos dispares, porque el sistema tipico de RPG te recompensa por jugar mejorando tu personaje, te incita a seguir jugando tambien porque esperas recompensas rapidas como supermagias o limites nuevos al subir al siguiente nivel. Despues esta la recompensa mas simple pero que funciona, dar dinero (del juego…no real ;) ) por jugar tipico en los juegos de coches para despues mejorar el vehiculo (acaso no es un poco como un rpg esto pero en vez de puntos experiencia dinero) otras veces es para comprar nuevos modos de juego o personajes, un ejemplo que conozco es el Marvel vs Capcom 2 de dreamcast o el Smash Bros de Cube con su maquinita de bolas.

  • Diversion: quiza uno de lso concepto mas abstractos y subjetivos que existen, pero lo que si esta claro es que hoy por hoy la diversion tiene que aparecer en el primer momento, ya no vale esperar a cojer la seta y despues la flor, o esperar a que te secuestren la navecilla para despues rescatarla y tener 2 naves (Trivial: de que juegos estoy hablando ;) ).Hoy quieres encender la consola o el ordenador y ya estar divirtiendote, quiza porque no tienes tiempo para mas. No estoy diciendo que el desarrollo conceptualmente en el videojuego no sea divertido, pero es que aburre tener que hacer mecanicamente algo para llegar al punto del juego que es divertido. Por eso salvar la partida que antes era algo incluso raro, hoy por hoy se esta extendiendo tanto que ya hay juegos de futbol que guardan partida en medio del partido sin esperar a que termine. Yo en algun emulador he tenido partidas guardadas (bueno mas bien save states….que nunca encontrado una traducion perfecta a este significado aunque lo entienda) en niveles demenciales porque queria sentarme y no tener que esperar a recorrer medio juego para llegar al infierno.

    Un contra ejemplo de Dondepre que hace que el juego pierda puntos asombrosamente, es el new super mario bros como podeis ver en el analisis que hizo donde cuenta que eso de no poder guardar cuando se quiera es una patada en…las costillas ;).

    Otra cosa que se critica mucho en los juegos actuales (creo que el de mondopixel hizo algun reportaje alguna vez) es los “tutoriales in game” en plan que te enseñan a jugar camuflandotelo como primera mision del juego, y sobre todo son dolorosos cuando no te los puedes saltar y tienes que tragarte todo, incluido como dar pasitos laterales.

    Es que diversion postergada o lenta creo que no es deseable, muchos titulos de exito actuales son eso porque te ofrecen la diversion ya, como por ejemplo el Shadow of Colousus que ya tienes bicho gordo desde el principio o por ejemplo ahora que recuerdo el Warning Forever un shooter freeware que tambien son solo bichos gordos, y creo que el Kentachu tambien ha hecho algun juego de solo bichos finales.

  • Castigo: si admitamolos somos masocas, jugamos con el castigo…pero no la patada en las costillas, es decir de los tiempos de los plataformas mas punisher que habia en el spectrum como Phantomas, Abu Simbel que tenias que hacer las cosas al milimetro, ahora los castigos son mas evitables y juegas haber cuantas fichas puedes colocar sin llegar al borde de la pantalla (Trivial: de que juego estoy hablando). Lo que vulgarmete se llama jugar con la muerte, por eso algunas veces un juego se convierte en un tedio cuando no arriesgas y grabas a cada pasito.Tambien algunas veces no tiene suficiente aliciente jugar a emuladores de maquina recreativa como el MAME por ejemplo, quien no se a pasado el metal slug metiendo tropecientos credits, esos credits han perdido el significado, ya que antes cuando pisabas los recreativos notabas el peso de las monedas en los bolsillos (normalmente poco) y sabias que lo que te jugabas era la duracion de la moneda de cinco duros que se habia tragado la maquina.

    No existe realmente una balanza entre premio y castigo, muchos juegos dificilisimos hay por ahi que tienen descompensada la balanza de premio castigo hacia el dolor, pero bien divertidos que son, no se Ikaruga (hasta que le cojes callo) y bueno los plataformas masoquistas de spectrum :D.

Bueno pues aqui teneis la receta para hacer un videojuego, mas bien de como no hacer un videojuego, otro dia os contare el secreto de la vida, aunque recuerdo que el spectrum una vez me dijo 42.

Por: MD | Consejos, Trucos y Tutoriales | Comentarios (6) | 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 ()

19 Junio 2006

RealTimeBattle I (el comienzo)

RealTimeBatle es un juego libre de programación (sera este el termino en español mejor acuñado…uhmm nose) que consiste en programar un robot muy simple pero resulton ;) en cualquier lenguaje…ojo repito en cualquier lenguaje, para que se pegue en una arena con otros robots, hasta ahi la idea es muy interesante sobre todo porque entra en juego la inteligencia artificial.

Pero es que realmente es muy interesante, el robot solo puede (si no me dejado nada):

  • Mover el radar (su vision).
  • Acelerar
  • Frenar
  • Girar
  • Disparar con el cañon ^_^

Y bueno unos datos mas tecnicos, el programa que trabaja con el robot, es lanzado por el servidor de RealTimeBattle sustituyendo la entrada y saldida por dos pipes (por eso y por otras cosas, no hay version para m$windows nativa), y entonces se “simula” el robot atraves de mensajes por entrada y salida basica del lenguaje en que se programa, es decir se comunica por mensajes, asi girar el robot sera algo parecido a “printf(”girar el robot\n”);” y el RealTimeBattle de vez en cuando respondera con mensajes “radar muro a 3 unidades”…bueno todos estos mensajes son a titulo informativo (principalmente porque estoy en aprendizaje yo tambien). Aparte de esto al ser programas puedes usar otros medios para comunicarte con otros robots de tu equipo (si se juega en equipo) y eso es en una palabra una gozada ver robots con comportamientos estrategicos, comportamientos de enjambre, es decir inteligencia artificial colectiva (porque puedes por ejemplo crearte un equipo de artilleros tontos y rastradores inteligentes que informen a estos).

Bueno y hasta aqui puedo leer, principalmente porque despues de un par de meses que lo conozco, ahora con el tiempo libre pues estoy mojandome y disfrutando del invento. Asique como versa el titulo RealTimeBattle I, espero hacer mas partes de la saga segun amentan mis conocimientos y aportar mis experiencias.

Aparte de “juegos de programacion”, recomiendo probar el Core War (info de la wikipedia) un clasico de los clasicos que tienes que programar en ensamblador “viruses inteligentes” que invadan un espacio de memoria, tambien de la saga de robots esta Crobots (donde comenzo esto de las simulaciones de robots programales), Robocode y bueno tambien tenemos nuestos pinitos patrios ;) MakeFight realizado con Python, juego que esta mas centrado en el diseño del “robot” que en su inteligencia pero tambien esta muy interesante.

Links de interes:

Bueno y en el siguiente articulo, a falta de cambios, habra un minitutorial sobre crear un robot y se profundizara mas en este apasionante juego RealTimeBattle.

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

17 Abril 2006

Menu Debian en Ubuntu

La verdad es que por lo menos a mi, ya se me queda un poco escueto el menu que trae Ubuntu por defecto.

Entonces como disfrutar en Ubuntu de ese menu de inicio que tiene Debian repleto a rebosar de todo, pues algo tan sencillo como:

apt-get install menu

Y el apt-get te instala el paquete (o metapaquete nose) para tener el menu de Debian….pero no sufras pensando en que el elegante menu de Ubuntu se va llenar de submenus y accesos directos sin icono, porque el apt-get te crea una entrada nueva en la raiz que se llama Debian, y apartir de ahi tienes todo el jardin de aplicaciones.

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

4 Abril 2006

Oracle SQL

Todos sabemos que MySQL es superior (a falta de probar el PostgreSQL) que el Oracle ese, primero porque es libre y segundo porque tiene un logo mas salado con el delfin ahi sonriente.

Bueno pues no todos tienen las ideas claras, y claro a los demas (alumnos, picacodigos y demas currantes) nos toca sufrirlas, entonces aqui una relacion de los comandos mas utiles y potentes que tiene MySQL y que orale sql los tiene en plan deformados de mala manera:

  • Mostrar tablas:
    Teniendo el simple mysql> SHOW TABLES; de MySQL, en oracle sql se deforma tal que asi sqlplus> SELECT * FROM tab; y si no funciona pues sqlplus> SELECT * FROM cat;
  • Describir tablas: muy util como el anterior cuando las arenas del tiempo te hacen olvidar que coño habia en la base de datos. Del simple sql> DESCRIBE tabla;, se deforma en oracle sql en sqlplus> SELECT column_name, data_type FROM user_tab_columns WHERE table_name=’tabla’;. Este si que es una deformacion horrenda, porque las tablas deberian ser mas simples con solo los cambios propios.

Y por lo demas todos los comandos son mas o menos iguales, aunque no me sobran palabras para decir que cutre, pero que cutre es el cliente de oracle, oracle sql plus, es una zarria, no tiene ni historico de comandos te toca tener a mano un notepad y por supuesto la ayuda en linea debe ser un concepto a aprender para los de oracle.

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

29 Marzo 2006

Trucos para una vida mas facil II

Como pelar un huevo de una patada (no propiamente dicho :P), pero es un gran avance:

Mas trucos en:
Trucos para una vida mas facil

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

17 Marzo 2006

PyGame la alternativa seria

A rey muerto, rey puesto y en el mundo del software libre, ya llevabamos arrastrando un cadaver mucho tiempo. Ese cadaver no es otro sino que:


Si efectivamente Fenix, supuestamente la madre de todos los proyectos (nunca mejor dicho para cuando es lenguaje-kit de desarrollo), basicamente iva a ser un clon libre de DIV2. Y para los que no son tan perros viejos, DIV2 no es un divx pai, era junto con el chupachus y el futbolin uno de esos grandes inventos patrios (tambien el DIV1 pero triunfo el 2), el DIV2 era una mezcla entre kit de desarrollo de videojuegos y lenguaje de programacion, un lenguaje de programacion parecido al Pascal con alguna cosa nueva por ahi, fue el sueño de cualquier jonko de los videojuegos la potencia programar pero sin los suplicios que por aquellos tiempos todavia existian de tirar de ensamblador o directx a cual mas porculero para iniciar la pantalla y trabajar con ella. La cosa no era moco de pavo, yo visto verdaderas obras de arte que podian haber pasado por videojuegos profesionales y superarlos a estos, y era un lenguaje medianamente potente que permitia casi sin conocimientos de programacion hacer alguna milonga…mas o menos como con el basic cuando eramos crios con nuestros spectrum. Hay que decir que aun sobrevive una amplia comunidad en internet de programadores de div2.

He te aqui que el DIV2 se estaba desvaneciendo cuando el movimiento del software libre comenzaba a tener fuerza, entonces aparecio otro muchacho español que dijo “pues vamos hacer un clon del div2″ y se empezo el proyecto del Fenix que iva ser un clon hipermejorado del div2, yo recuerdo de verlo en tiempos hace en un portatil de un ilusionado APG (desarrollador de Gnome), la cosa pintaba bien. Pero con el paso del tiempo este proyecto al igual que paso con el DIV2, ha ido desvaneciendose, en varios puntos, la pagina del proyecto que es la cara que refleja el alma de cualquier proyecto esta desactualizada, en español (solamente) y con errores (links rotos y demas). Despues hay mil ports unonificiales para gp32, dreamcast ydemas arquitecturas que aunque en principio no tengan nada de malo, en cambio pueda ser beneficioso, si el proyecto principal no los asimila en el fork principal o les ayuda a que tomen fuerza o los conduce para mantener la calidad del proyecto original, pues se queda en eso, en nada. Despues el proyecto esta engordando con añadidos y añadidos, dejando cosas a medias como la compatibilidad con DIV2 ademas de otras cosas. Y sumale a eso que llevan casi un año sin sacar una version nueva. Eso claramente es desvanecimiento del proyecto, pese a que en el foro hay algo de movimiento. Tambien hay un comunicado oficial (nose cuanto) que dice que se estan centrando en Fenix2.0 que va ser ultra ligero, ultra modular y rescrito desde cero…sabio camino pero costoso.

Aparte de Fenix, hay otras alternativas no libres como DarkBasic que es un pseudo qbasic para directx, el cual frente al DIV2 tiene mucha mas potencia bruta grafica pero es muy bruto programar para el, yo fui uno de los que se gasto sus 10.000pts de antaño cuando aparecio emocionado de encontrar el sustituto al DIV2, lo intente domar pero al final desisti, es muy de masocas, merece mas programar a mano.

Y bueno como tambien queda la alternativa de programar a pelo, usando unas buenas librerias, es decir libSDL.

Pero volviendo a la frase de inicio del articulo, a rey muerto, rey puesto, la alternativa mas seria a un kit de desarrollo de videojuegos que sustituya a DIV2 y o Fenix. Ese algo con el cual cualquiera puede hacer el videojuego de sus sueños (o por lo menos intentarlo), vamos ese algo con el cual el tipico usuario medio, no tenga que sufrir (o disfrutar) de aritmetica de punteros, que ni siquiera sepa programar, vamos el tipico nivel de programacion que teniamos de crios cuando aporreabamos el teclado de nuestro quedido spectrum. Ese algo es:

Que basicamente son una capa de abstraccion mas sobre las SDL, o como dijo mi colega alfayate “ohh dios otra capa mas de abstraccion”. Pygame usa Python un lenguaje interpretado muy muy potente pero muy sencillo y por supuesto usa las omnypresentes SDL ademas de otras librerias (que nose porque no mirado :P), simplificando el trabajo de todas estas con su propia capa. Total merece hecharle un vistazo a Pygame, ademas creo que ya funcionan los proyectos de pygame en gp2x, ahora no estoy seguro al 100% pero creo haber visto algo por la red sobre esto.

De entre todos los kit de desarrollo/lenguajes de programacion, Pygame destaca en que se sigue actualizando, es muy modular, es muy muy potente….porque claro es Python, hay mucha documentacion y es software libre. Y por supuesto la curva de aprendizaje es suave.

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

15 Marzo 2006

Trucos para una vida mas facil

Un clasico ya, como doblar una camiseta facilmente:

Como pelar patatas cocidas de una forma comoda y muy simple:

Como pelar langostinos, cangrejos y demas bichejos con pinzitas (incluido Zoiberg :P):


Nota: quiza solo funciona con el alimento poco cocido creo yo.Como conseguir que las patatas no se pongan “chonchas” cuando se cuecen (tambien parece que vale para cualquier otro producto de la verduleria):


Nota: parece mantequilla, en principio parece que vale cualquiera, sera cuestion de probar.Como conseguir un buen sabor de cafe….creo que es mas subjetivo que otra cosa pero bueno.

Como quitar posos del aceite….¿con gelatina?:

Como iluminar mas con una linterna:


Nota: no dormir con la luz encendida, puede provocar un incendio.Como enrollarse las mangas de una camiseta sin que apreten:

Como hacer mas jugosos los filetes rusos:

Como comer marisco con sacacorchos casero:

Como congelar algodon de azucar….no se para que puede ser util pero bueno:

Como hacer rascas rascas caseros (usando cera y cola carpintero)…nose para que puede ser util pero es interesante:

Como hacer mas cruijientes las cosas rebozadas, nose japones pero parece que hay que echarle un poco de agua aunque a mi de pequeño me dijeron que el agua y el aceite caliente muy mal, bueno nose, aqui teneis el video para ver:

Como hacer que duren mas las flores cortadas (sin la clasica aspirina), este no me enterado pero para mi que es cociendo un poco la punta:

Como batir bien el colacao y el azucar en infusiones….como no me habia enterado antes, con lo util que es:

Como trabajan mas los japoneses….aqui en españa no se cosen los trapos de limpiar el polvo ¿truco o antitruco?:

Como sacar una mancha de la alfombra, increible:

Como cocinar tofu (para cuando nos quedemos sin carne en españa ;) ) sin que pierda la forma:

Como freir la cebolla para que quede secota (hoy estoy de cocinitas :) ):

Como pintar ropa con un “eding” y quede bien (truco la laca):

Como ponerse una tirita en los dedos, sin que se caiga:

Como putear a un gato, prefiero el metodo hispanico de atarle los webos a una tabla y….:

Como hacer gazpacho, para que se enteren los japoneses de antes….aunque prefiero la tortilla de patata:

Como ser un heavy, con alma del metal:

Como hacer una cama para el hamster, briconsejo de euskadi aiva patxi:

Bien y ahora quien me contrata para la tele que arguiñano esta ya viejo, y yo puedo hacer varias cosas a la vez, cocinar e instalar Linux ^_^.

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