Videojuegos artísticos

En el mundo de los juegos en Flash, a veces te puedes encontrar con verdaderas joyas. Juegos que se apartan de lo típico y que van mas allá y mezclan arte con el juego en sí. La verdad es que no se como llamarlo, así que les pondré el nombre de “Videojuegos artísticos”

Estos son algunos de los que mas me han impactado hasta ahora:

But That Was [Yesterday]

But That Was [Yesterday] Un recorrido por la vida y los recuerdos del personaje, con el que nos podemos identificar perfectamente. El juego trata sobre la necesidad de mirar hacia adelante en la vida y no quedarse estancado en el pasado.

Aderezado con una genial banda sonora y unos gráficos mas que correctos, es un juego al que quizás solo juegues una vez, pero seguro que te hace reflexionar sobre muchas cosas.

Link: But That Was [Yesterday]

Today I Die

Interaccionando con las palabras y con los objetos que aparecen en la pantalla, Se consigue crear una poesia que va cambiando a medida que vamos jugando. Empezando en un mundo pesimimista y triste, se puede llegar a conseguir un final feliz.

Los gráficos recuerdan sin duda la estética ochentera de los 8bits, y la música juega un papel muy importante en la ambientación de cada una de las fases.

Link: Today I Die


I wish I were the Moon

Del mismo autor que Today I Die, esta vez se interactua haciendo fotografías y moviendo lo fotografiado a otra parte de la pantalla. Hay hasta 8 finales distintos, cada uno original y distinto. Yo todavía no los he conseguido todos!

Los gráficos son muy parecidos a los de Today I Die, y la música en este caso juega un papel simbólico al ser casi inexistente.

Link: I wish I were the Moon

Estoy seguro que todavía hay muchas joyas similares por descubrir!

pyproctools 1.0

Cuando necesito algo concreto en el trabajo y no encuentro ninguna utilidad que lo haga por mi, suelo escribir mis propios scripts para resolver mi problema. Hace ya tiempo usaba únicamente bash para ello, pero desde hace ya unos años que utilizo python prácticamente para todo. Es un lenguaje versátil, cómodo y extremadamente potente. Se ha convertido con el tiempo con una herramienta indispensable de cualquier sysadmin.

Así es como nacieron las pyproctools. Necesitaba emular la herramienta pwait del paquete proctools de Solaris. La programé en python intentando hacer que fuera lo mas parecida a la original. Después de esta empecé a hacer otras.. hasta que tuve unas cuantas. Al final he decidido compartirlas porque creo que pueden ser útiles a mas de uno.

Command Line History

Hace tiempo que queria ponerlo por aqui.

fr3nd@prune:~$ history 1000 | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
125 ls
74 cd
49 cat
33 sssh
31 for
22 python
22 host
20 vi
16 grep
14 less

Sysadmin tools

Hacía tiempo que quería escribir un post como este para comentar las últimas aplicaciones que he programado para mejorar la ya de por sí difícil vida del administrador de sistemas.

  • ssshell (o sssh) es un “wrapper” al comando ssh que facilita bastante la vida en redes a las que no se puede conectar por ssh directamente a un host sin pasar antes por otro. Con configurar un simple fichero de texto (formato .ini) en ~/.sssh con la jerarquía de servidores, con solo ejecutar “sssh host” realizará todas las conexiones necesarias para llegar a nuestro destino. También puede ser útil para crear alias de hosts ignorando así la resolución que nos da DNS.
  • splitdump divide en varios ficheros (uno por tabla o uno por base de datos) un fichero generado con mysqldump. Nunca os habéis encontrado que tenéis que recuperar una sola tabla (o base de datos) de un dump de varios gigas de tamaño? Con splitdump podemos generar un pequeño fichero de la única tabla que nos interesa e importarlo cómodamente donde necesitemos.
  • mysqlpdump ejecuta mysqldump en paralelo para acelerar el rendimiento (sobretodo para máquinas con varias cpu’s. Fue creado en respuesta a una petición de MySQL Performance Blog y fue bastante bien recibido por la comunidad. Sin embargo, los chicos de Xaprb (creadores del Maatkit antes conocido como MySQL Toolkit) crearon un programa similar al parecer bastante mas soportado, por lo que no creo que siga desarrollándolo.

Como siempre se aceptan sugerencias para mejorarlos!

No es necesario decir que todas estas aplicaciones han sido programadas en Python, del que llevo vario tiempo enamorado.

Don Simon

Don Simon
Finalmente he terminado lo que se podría considerar mi primer proyecto para la Nintendo DS. Ya hablé del él anteriormente, pero por fin puedo decir que está acabado.

El juego me ha llevado un montón de trabajo. He tenido que desempolvar mis olvidados conocimientos de programación en C y pelearme con una plataforma a la que no estaba acostumbrado.

Sin embargo la utilización de las librerías PA_lib y la ayuda de los tutoriales de Aaron Rogers me han facilitado mucho el trabajo.

He creado una página para el proyecto: Don Simon (también disponible en inglés) que iré actualizando si hago algún cambio.

Debo reconocer que he disfrutado como un niño haciendo esto. Hacía tiempo que no lo pasaba tan bien programando, y me han entrado ganas de hacer otro juego. Algunas ideas que se me han pasado por la cabeza han sido:

  • Pastel Kart: Un juego basado en el Mario Kart pero utilizando los personajes de los pasteles
  • Ring Wars: Juego basado en el genial Advance Wars pero en la Tierra Media de Tolkien.
  • DSGo 2.0: El juego de Go para la nintendo DS. Ya existe una versión, pero a mi parecer es bastante pobre e incompleta. Por ejemplo, no hace uso de la pantalla táctil (algo que considero imprescindible). Evidentemente, antes debería pedir permiso a jandujar :)

Ideas? Sugerencias?

Links:

Update:
Justo un dia después del lanzamiento, he tenido que liberar una nueva versión que corrige algunos bugs que he encontrado. Mas información en la página del proyecto.

Sushi the cat

Buscando algunos juegos y programas para empezar a llenar la recientemente adquirida Supercard para la Nintendo DS, me encontré por casualidad con esta curiosidad: Sushi the CatSushi! Pensaba que era una de las pocas personas que le habrían puesto el nombre Sushi a un gato, y aunque ya me di cuenta hace un tiempo que no era así, lo último que esperaba era que sacasen un videojuego con un gato llamado así.

El juego es muy simple, y aunque cuenta con unos gráficos encantadores, solo tiene un nivel. Lástima que el gato del juego no sea negro! ;)

Lenguajes esotéricos

Bajo este nombre que incita a creer que se trata de algún tipo de idioma relacionado con el tarot, se esconden unos tipos de lenguajes de programación bastante particulares.

La mayoría de ellos han sido creados por simple diversión y su finalidad es la de explorar los límites del diseño de los lenguajes de programación:

Hay una lista realmente larga, y los que me han llamado mas la atención han sido estos:

  • Piet: No hay código en si, sino que los programas se guardan en imágenes con distintos colores. En total hay 20 colores distintos y el intérprete va recorriendo la imágen siguiendo una ruta establecida que puede ser alterada dependiendo del color que escojamos en cada pixel. El nombre del programa fue puesto en honor a Piet Mondrian cuyos cuadros sin duda se pueden llegar a parecer a un programa. Esta imágen es el clásico programa de “Hello World” en Piet:
    Hello World en piet
  • Chef: Otro lenguaje en que los programas parecen recetas de cocina. Primero se tienen que definir los ingredientes. Todos ellos serán numéricos, pero los líquidos se interpretarán como carácteres Unicode y el resto se interpretarán como números. Una vez definidos los ingredientes se aplicará la receta mezclando estos ingredientes. Ejemplo de hello world en chef.
  • L33t: En este lenguaje, el código está escrito utilizando leetspeak (como si se tratase de cualquier texto escrito por un script kiddie). El código está dividido en palabras separadas por espacios o retornos de carro y cada palabra es evaluada sumando los números que contiene. Así h4x0r sería 4+0=4. El resto de carácteres se descarta. Cada número tiene una función distinta. De esta forma tenemos casi total libertad para escribir el texto que queramos y en realidad se tratará de un programa totalmente válido. Por ejemplo, hello world en l33t. Sin duda es el lenguaje más l33t H4xX0r
  • Ook!: Según afirman en su web, es el primer lenguaje de programación diseñado para orangutanes. Solo tiene una instrucción: “Ook“, que tiene que utilizarse siempre en parejas de 2 y con un modificador al final: .?!. Pudiendo utilizar un total de 8 comandos distintos, se consigue que todos los programas hechos en este lenguaje se parezcan entre si. Realmente puede parecer la transcripción de cualquier discusión entre orangutanes. Cuando veáis el ejemplo de hello world entenderéis lo que quiero decir.
  • INTERCAL: Se dice que fue el primer lenguaje esotérico. Se creó en 1972 satirizando FORTRAN y COBOL, de forma que algunas acciones tienen que ser pedidas “por favor” (PLEASE). Fue creado en tono humorístico, y por ejemplo en su manual, llaman a las comillas como “orejas de conejo” (“rabbit ears“). En el ejemplo de hello world en INTERCAL se pueden ver varias sentencias que se piden amablemente…
  • Wierd: Aparentemente absurdo, en este lenguaje el código es como un gran gusano en ASCII. Puede utilizarse cualquier carácter, ya que sólo interpreta dos símbolos: el espacio y cualquier otro. Lo que se tiene realmente en cuenta es el ángulo en el que se curva el “gusano”. Dependiendo de los grados que tome, significará una cosa u otra. Para entenderlo mejor, os recomiendo que veáis el ejemplo de hello world en Wierd.

Links:

Bluetooth en un concierto


Este sábado fui al concierto de Hood que hicieron para la presentación del Primavera Sound (del que ya hablé anteriormente y ya tengo el abono). El concierto estuvo muy bien, pero este post no va a tratar de cómo actuaron o cómo fue la música.

Mientras estábamos esperando a que Hood saliese al escenario, había una pantalla en la que un proyector estaba mostrando fotos de su último disco. El proyector estaba conectado a un portátil Apple (lo siento, pero no se si era un iBook o un PowerBook.

Durante este tiempo de (larga) espera, apareció de golpe un mensaje en la pantalla: “Empezad ya!”. Apenas duró unos segundos, pero me dio tiempo a darme cuenta que alguien del público había enviado desde su teléfono móvil mediante Bluetooth este mensaje al portátil, que evidentemente tenía el Bluetooth activado.

Mis risas empezaron a ahogarse cuando vi que la gente con la que iba me miraba con cara de no haber entendido nada…

Es una lástima que no pudiera hacer una foto del momento.

Feliz navidad!

perl -e ‘$n=”e[0;40;32m”;for(1..10){print”ec$nn”.$”x(15).”e[1;35mY$n” .$”x15;for(1..8){print$/.$”x($a=16-$_);$c=int rand($d=2*$_);for(2..$d){$f=31+int rand(3);print($_-$c?”X”:”e[$f;1m*$n”)}print$”x$a}print $/.$”x(31).”e[0mn”.$”.” Feliz Navidad “.$/x2;select$q,$q,$q,0.5}’

Wardriving Barcelona

Parece mentira como han llegado a expandirse las redes wireless. Su comodidad es más que evidente, y mucha gente las está usando actualmente.

Hoy di4blo y yo hemos cogido el portátil y nos hemos ido en coche a dar una vuelta por Barcelona. El resultado ha sido más que impresionante. Hemos detectado una gran cantidad de redes con algunos nombres bastante curiosos… y lo mejor de todo es que la gran mayoría de las que hemos encontrado estaban incluso sin encriptar! O_O

Ha sido solo un experimento, pero la experiencia ha sido muy divertida :D

Aqui están las fotos del momento:

Lotr Meo

MEO: Middle Earth Online.

Uf… ya conocía Everquest y Star Wars Galaxies… pero esta vez se han superado. Crear un juego online basado en el mundo del Señor de Los Anillos, es algo realmente IMPRESIONANTE!!! :D

Creo que mi vida social va a terminar en breve… Dentro de poco creo que desapareceré del “mundo real” para integrarme directamente en este mundo “virtual” xD

Un pequeño screenshot de demostración:

Link: Web oficial