19 años en Internet

13 septiembre 2015

Seafile, una nube opensource

Motivación

    Llevaba un tiempo buscando alternativas de almacenamiento en la nube desde que se anunció la muerte de Ubuntu ONE a mediados de 2014. Vale que los chicos de Canonical no reinventaron la rueda, pero su servicio funcionaba bastante bien. Tenía sus bugs y los clientes de Windows y Mac eran demasiado básicos, es cierto, pero cumplía bastante bien con mis necesidades.

    Antes de descubrir Ubuntu ONE utilizaba Google Drive para albergar documentos en la nube... pero realmente es algo que nunca me ha gustado mucho, puesto que hoy Google da miedo. Sabe demasiado y tampoco es cuestión de que filtre contenido a entidades dudosas como la NSA. Ya me dirán a mi por qué un servicio secreto de un país extranjero pudiera estar interesado en leer mi hoja de gastos mensual... En fin. Lo único bueno es que si algún día perdemos el móvil o la contraseña de GMail podremos escribirle una carta a la NSA o a la CIA para que nos los chiven :-).

    A pesar de ello, aunque más bien por motivos laborales, me vi en la obligación de coquetear con Office 365 y su flamante One Drive. Pero esa solución no me gustaba, porque era de ir de Guatemala a Guatepeor (pido disculptas a los guatemaltecos, pero es una expresión muy arraigada en la cultura española). Llevo trabajando casi un año como administrador de varios repositorios de SharePoint Online y aunque One Drive sea seguro y una delicia con su integración de Office Online, yo mismo he podido observar hasta qué punto un administrador puede ojear este tipo de archivos (con permiso de los usuarios finales, claro está). Pero claro, ¿y si un administrador de Microsoft que esté descontento desea mirar mi One Drive?

   Aunque él, a priori, no tenga permiso de administración sobre mi cuenta puede proclamarse como tal sin que yo reciba una notificación al respecto. Recordemos, que en pleno siglo XXI ya han robado contraseñas de eBay, Adobe e incluso de la PlayStation Network, recordando señores que la consolas de sobremesa de Sony suelen ser las más vendidas. No es que sea un terrorista en potencia, pero no quiero que los hackers que robaron en su día las fotos de centenares de famosas que posaron con sus iPhones como Dios les trajo al mundo puedan hacerse por ejemplo con el código fuente del último juego que esté programando.

   La cosa es que leyendo el número 91 de la revista francesa "Linux Pratique" leí un reportage sobre Seafile que me resultó interesante y tras trastear un poco con una de mis Raspberries Pi tengo que decir que funciona bastante bien, puesto que permite hacer lo que andaba buscando: Un usuario puede gestionar/sincronizar varias bibliotecas (carpetas), tiene soporte para multiusuario y permite la compartición de una biblioteca con varios usuarios... y ni Google, ni Microsoft, ni Facebook tienen por qué enterarse de la existencia de mis archivos.

Descripción del Software.

    Seafile es una solución que consta de dos partes: Un programa servidor donde gestionamos los usuarios, grupos, bibliotecas y albergamos todos los datos; Y un programa cliente por cada ordenador que necesite conectarse.

    El servidor a su vez puede parametrarse con el navegador web gracias a un servidor web que lleva embebido y a su vez se puede instalar con muy pocas líneas de consola. Por desgracia, por defecto parte del tráfico se realiza en claro, a través del protocolo HTTP. No obstante, aparentemente esto se limita únicamente al login (lo cual no es poco...) y además Seafile nos permite proteger las bibliotecas con contraseñas, permitiendo a su vez el cifraje del contenido. De todas formas en esta entrada explicaré también como modificar y utilizar un servidor Apache 2 local para forzar el uso de SSL (protocolo HTTPS) de forma que nuestra comunicación sea 100% cifrada.

Instalación del servidor.

    Necesitamos una máquina Linux y tener derechos de administrador. En este caso voy a explicar el proceso para instalarlo en una Raspberry PI, máquina que se adapta a mis necesidades. No obstante, recomiendo encarnizadamente (sobretodo si trabajas para una empresa) utilizar un servidor serio, como pudiera ser una máquina Red Hat EL o una Ubuntu Server. El servicio funciona muy bien en una Raspberry PI, pero porque apenas lo utilizo para dos usuarios y utilizo una cuota de espacio reducida (10 Go). Si también pretendes utilizar una Raspberry PI vete mentalizando en comprarte un disco duro externo.

    Los programas necesarios para instalar el servidor son los siguientes: Python 2.7, Python Setup Tools, Python Imaging y SQLite 3. Estos pueden instalarse con el siguiente comando en las máquinas debianitas (Ubuntus inclusive):
apt-get install python2.7 python-setuptools python-imaging sqlite3
Entra en el directorio /srv y descarga la versión deseada. En este caso voy a descargar la versión estable 4.3.0:
  Debian 64 bits:
wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_4.3.0_x86-64.tar.gz
  Debian 32 bits:
wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_4.3.0_i386.tar.gz
  Raspberry PI:
https://github.com/haiwen/seafile-rpi/releases/download/v4.3.0/seafile-server_4.3.0_pi.tar.gz
Nota: Si tienes problemas con las URL, puedes conseguir las más actuales desde https://www.seafile.com/en/download.

Creamos los directorios necesarios:
mkdir -p /srv/seafile/installed
Y descomprimimos el tar.gz y lo guardamos en installed:
tar -c /srv/seafile -zxf seafile-server_*.tar.gz
mv seafile-server_*.tar.gz /srv/seafile/installed
 A continuación ejecutamos el instalable:
/srv/seafile/seafile-server-4.3.0/setup-seafile.sh
    El instalable nos preguntará el nombre del servidor y la IP/dominio de éste. Si vas a usarlo únicamente en tu red local, indica sin miedo la dirección IP del servidor donde estás realizando esta instalación. Si por el contrario quieres hacer que el servicio esté también disponible fuera de casa, te recomiendo registrarte en un servicio de dominios dinámicos, como pudiera ser http://freedns.afraid.org, para encargar un subdominio gratuito y utilizarlo para rellenar dicho parámetro de la instalación.

    También se te preguntará por el directorio donde guardar los datos que vas a ir albergando tus bibliotecas (en caso de que vayas a usar una Raspberry PI, sería interesante indicar aquí el directorio de un disco duro externo) y el puerto por donde se atenderán las peticiones (por defecto 8082). Si quires que tu nube sea accesible desde fuera de casa, recuerda mapear una regla en tu router para que el puerto 8082 apunte al 8082 de esta máquina.

Primer arranque.

 Ejecutaremos seafile.sh y después el seahub.sh, en ese orden y ambos con el parámetro start:
/srv/seafile/seafile-server-latest/seafile.sh start
/srv/seafile/seafile-server-latest/seahub.sh start
    En este primer arranque la aplicación nos pedirá que ofrezcamos el correo electrónico del administrador (se utilizan las direcciones de correo como los identificadores de cuenta, es decir, hace falta dar un correo electrónico para poder loguearnos después en la cuenta que estamos creando) y la contraseña que tendrá la cuenta.

Creación del servicio.

    Vamos a añadir el siguiente script, basado en el que hay disponible en el manual de Seafile y en el suministrado por la revista francesa Linux Pratique, pero adaptado a mis necesidades. Este script deberá almacenarse en /etc/init.d/seafile:
### BEGIN INIT INFO
# Provides:             seafile
# Required-Start:       $network
# Required-Stop:        $network
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
### END INIT INFO

seafile_dir="/srv/seafile"
scripts_path="${seafile_dir}/seafile-server-latest"
seafile_init_log=${seafile_dir}/logs/seafile.init.log
seahub_init_log=${seafile_dir}/logs/seahub.init.log

case "$1" in
        start|restart)
                ${scripts_path}/seafile.sh $1 >> ${seafile_init_log}
                ${scripts_path}/seahub.sh $1 >> ${seahub_init_log}
        ;;
        stop)
                ${scripts_path}/seahub.sh $1 >> ${seahub_init_log}
                ${scripts_path}/seafile.sh $1 >> ${seafile_init_log}
        ;;
        *)
                echo "Usage: $0 {start|stop|start}"
                exit 1
        ;;
esac
Y a continuación registramos el servicio:
chmod a+x /etc/init.d/seafile
update-rc.d seafile defaults
Y probamos:
service seafile stop
service seafile start
    Al cabo de un minuto podrás acceder a la interfaz web, insertando la dirección IP del servicio y accediendo por el puerto 8000. Ejemplo: http://192.168.0.20:8000

    En esa página web podrás crear todas las cuentas de usuario que creas necesario, crear bibliotecas, gestionarlas a grupos, etcétera.

    Tu nube ya está lista para usarse. Ahora, sólo tienes que instalar uno de los diferentes clientes disponibles para Windows, Linux, Mac OS X, iOS o Android: https://www.seafile.com/en/download.
 

Configurando SSL.

    Si vas a hacer accesible tu nube fuera de casa (es decir, que sea accesible por internet) resulta recomendable configurar Seafile para utilizar el protocolo HTTPS en detrimento del HTTP.

    El primer paso es instalar un servidor apache:
apt-get install apache2
    A continuación necesitamos instalar una serie de programas "privativos". Revisa que en tu /etc/apt/sources.list tenga habilitado los repositorios non-free, contrib y las fuentes (deb-src).
Ejemplo de sources.list de Raspberry PI:
root@Editor /home/sebas # cat /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
     Y actualizamos las listas:
apt-get update
   Instalamos el paquete python-flup:
apt-get install python-flup
    Y ejecutamos las siguientes líneas para instalar el paquete libapache-mod-fastcgi:
apt-get update && apt-get -y upgrade
apt-get install postfix ntp ntpdate
apt-get install apache2-mpm-worker php5-fpm php-apc
apt-get install debhelper dpatch libtool cdbs libapr1-dev apache2-threaded-dev
apt-get -b source libapache-mod-fastcgi
dpkg -i libapache2-mod-fastcgi*.deb
    Activamos los siguientes módulos de Apache:
a2enmod rewrite
a2enmod fastcgi
a2enmod proxy_http
    Editamos el fichero de configuración de Apache (apache2.conf) para añadir la siguiente línea al final:
FastCGIExternalServer /var/www/seahub.fcgi -host 127.0.0.1:8000
    Entramos en /srv/seafile/conf y generamos aquí el certificado SSL:
openssl genrsa -out privkey.pem 2048
openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095
    Se te preguntará una serie de datos. Muy importante: El nombre del host debe de concidir con el dominio (subdominio también) de la máquina. Es decir, no pongas la IP local de tu máquina. Si has reservado por ejemplo el dominio "manolo.com", ese debe de ser el nombre del host en la generación del certificado. Si empleas un subdominio, por ejemplo "cloud.manolo.com", ese deberá de ser el nombre del host. Si no, los navegadores catalogarán tu certificado como "No confiable".

Nota: Tendrás que renovar el certificado cada 1095 días y los navegadores se chivarán de que se trata de un certificado auto firmado.

    A continuación editamos el fichero /etc/apache2/sites-enabled/000-default-ssl con el siguiente contenido:
<IfModule mod_ssl.c>
<VirtualHost *:443>

    ServerName my.domain.com
    DocumentRoot /var/www
    Alias /media  /srv/seafile/seafile-server-latest/seahub/media

    SSLEngine On
    SSLCertificateFile /srv/seafile/conf/cacert.pem
    SSLCertificateKeyFile /srv/seafile/conf/privkey.pem


    RewriteEngine On

   
        Order allow,deny
        Allow from all
   

   
        Order allow,deny
        Allow from all
   


    #
    # seafile fileserver
    #
    ProxyPass /seafhttp http://127.0.0.1:8082
    ProxyPassReverse /seafhttp http://127.0.0.1:8082
    RewriteRule ^/seafhttp - [QSA,L]
    #
    # seahub
    #
    RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</VirtualHost>
</IfModule>


    Verificamos de nuevo que la configuración de nuestro Apache sea correcta:
a2enmod rewrite ssl actions include
    Y reiniciamos Apache:
service apache2 restart
    A continuación, editaremos el fichero /srv/seafile/ccnet/ccnet.conf y modificaremos el valor de SERVICE_URL para usar el protocolo https. Si vas a poner una regla en tu router, sería recomendable ponerle las cosas difíciles a los hackers, haciendo que el puerto de acceso del HTTPS no sea el 443. Es decir, puedes crear una regla para que el puerto externo 7799 apunte al puerto 443 (el correspondiente al https) de este servidor. De esta forma, deberías de modificar el valor de la variable de la siguiente forma:
SERVICE_URL = https://my.domain.com:7799
Pero si te vas a limitar a usar el puerto 443 por defecto, déjalo de la siguiente forma:
SERVICE_URL = https://my.domain.com
Siguiendo dicho patrón, editamos el  /srv/seafile/seahub_settings.py para editar la linea
FILE_SERVER_ROOT:
FILE_SERVER_ROOT = 'https://my.domain.com:7799/seafhttp'
Y por último editamos el script /etc/init.d/seafile para reemplazar la primera línea "${scripts_path}/seahub.sh $1 >> ${seahub_init_log}" por "${scripts_path}/seahub.sh start-fastcgi >> ${seahub_init_log}" y reiniciamos el servicio:
service seafile stop
service seafile start

 Bibliografía:


06 septiembre 2015

Rokka - Braves of the six flowers

Póster promocional de la serie.

    "Rokka no yuusha" ("Rokka - Braves of the six flowers" en inglés) es un anime producido por Passione que se encunetra actualmente en emisión y que a su vez está basada en una serie de novelas de bolsillo escritas por Ishio Yamagata. Profundizando más en la serie de anime, ésta empezó a emitirse en julio de este año y cuenta ya con una primera temporada que está a punto de terminar, de los cuales 10 de sus episodios ya pueden verse con subtítulos al castellano en Crunchyroll.

    En un principio parece que nos encontramos ante un shônen, con un protagonista prepotente que pese a no tener un aspecto físico reseñable se otorga a si mismo con el título de "El hombre más fuerte del mundo". No obstante, este escenario nos rompe por completo con un giro de trama que nos mantendrá intranquilos durante toda la primera temporada: No estamos ante un shônen, si no ante una novela de misterio. Una especie de adaptación de un caso típico de Sherlock Holmes llevado a un mundo medieval de fantasía, donde nos encontramos sin saberlo ante un esenario cerrado, con 7 actores principales que desconfían los unos de los otros y donde aparentemente uno de ellos es un traidor en potencia.

    Pero entremos en detalle. Una vez cada mucho tiempo, el rey demonio resucita y despliega a sus soldados por la tierra para convertirla en su infierno particular. Cuando esto sucede, la Diosa del Destino elige a seis hombres para combatirle tatuándoles una marca en algún lugar de su cuerpo. Siempre han sido seis y estos además serán conocidos como "Los héroes de la flor de los séis pétalos", dando a entender a su vez que cada uno de estos héroes representa uno de los pétalos de la flor del tatuaje. De hecho, si uno de los héroes muere, un pétalo se borrará de él.

   El hecho es que durante el transcurso de la historia el rey demonio resucita y que por consiguiente, la Diosa procede a otorgar los seis tatuajes. Según cuenta la leyenda, las personas elegidas deben de abandonar de inmediato sus quehaceres para dirigirse a la frontera del oeste, a la puerta de la tierra de Mokaku, para agruparse y combatir juntos al mal... pero cuando los héroes se reúnen descubren que les han tendido una trampa, la cual les impide avanzar en su aventura y que para más inri no son seis, si no siete héroes, dando a entender que uno de ellos es un impostor aliado con el enemigo y que busca el fracaso de la misión.

    Y ese es el momento donde la serie hace un giro inesperado, puesto que la verborrea dialéctica de los personajes se dispara en detrimiento de la acción, recordando en ciertos aspectos a las pausas largas que podemos haber visto en otros animes como "Umineko no naku koro ni" ("Umineko: When they cry" en inglés) o incluso Death Note (pero sin todo el gore y las matanzas gratuitas que nos otorga). De hecho, la desactivación de la trampa preparada por este supuesto "séptimo héroe" nos mantendrá ocupados toda la primera temporada de la serie.

14 agosto 2015

Aldnoah Zero

Póster promocional de la serie.

    Aldnoah Zero narra una historia bélica de ciencia ficción situada en una realidad alternativa, donde Marte ha sido colonizada por humanos y donde la luna fue destruída en 1972 en extrañas condiciones, produciendo un evento que sería conocido posteriormente como el "heavens fall". Quince años más tarde el imperio de Vers, como se conoce al país dominante en Marte, desea abrir una embajada en la Tierra y envía a su princesa como representante.

    No obstante, unos conspiradores realizan un atentado en Japón para acabar con la vida de Asseylum Vers Allusia, la princesa en cuestión. Los caballeros del impero de Vers, conmocionados por la muerte de su princesa y aprovechando su superioridad tecnológica y militar, deciden atacar la tierra en represalia, produciendo los primeros pasos para una invasión planetaria. Pero para ironías del destino, resulta que la princesa sobrevivió al ataque, encontrándose ahora en territorio hostil de una guerra no deseada y sin posibilidad de comunicación con su planeta.

    La serie, que empezó a emitirse en Japón hace apenas un año, cuenta con dos temporadas de 12 episodios cada una. Posee un argumento in crescendo con varios giros argumentales que realzan la épicidad de las escenas bélicas de "mechas" junto a la verborrea táctica política. Estamos ante un shônen, no nos engañemos, de esos donde un sólo protagonista puede enfrentarse en contienda contra un ejército, pero narrado todo con una argumentación más que digna que adicciona desde el primer capítulo. No veía nada tan épico desde Code Geass o la última temporada de Korra.

Disponible gratis, con subtítulos en español y de forma oficial desde Crunchyroll: http://www.crunchyroll.com/aldnoahzero

30 julio 2015

La Game Boy Advance más barata de España

    Este fin de semana estuve jugando al Tales of Phantasia en mi vieja Nintendo DS y me vino a la mente la manía que tiene Nintendo en no permitir hacer un reescalado de resolución cuando disfrutas de algún juego "emulado". Recuerdo que con la Game Boy Advance podías también jugar a los cartuchos de la Game Boy original en formato 1 a 1, pero tenías la posibilidad de jugarlos también en formato panorámico ocupando la pantalla de forma completa. En cambio con la Nintendo DS sólo tienes un parámetro de configuración para los juegos de Game Boy Advance: ¿Pantalla de arriba? ¿O pantalla de abajo? Vamos, no me jodas...

    En ese momento me vino el mono de querer jugar al Tales of Phantasia en una Game Boy Advance, pero me vino a la mente otro recuerdo: La pantalla de la Game Boy Advance original es una puta mierda. Con perdón del taco, los que hayan jugado a esta consola sabrán que no tiene retroiluminación y que necesitas estar jugando con luz artificial incluso de día para no quedarte ciego... lo cual es bastante raro debido a que hablamos de una consola portátil. Por otro lado, el modelo SP sí que tiene una pantalla retroiluminada, pero es fea de cojones. Permitanme disculparme otra vez por mi vocabulario.

    En vista de la duda, invoqué al consejo de sabios para pedirles consejo. Vamos, que pregunté a mis amigos por Whatsapp y en general me dijeron que les gustaba mucho más el modelo original, pero que jugar con su pantalla era un castigo y que haría bien en mirar ciertos mods de internet que explican como montarle una pantalla retroiluminada.

    Busqué un poco en internet y vi que era relativamente fácil instalarle una pantalla retroiluminada, básicamente a través de una única soldadura y de un adaptador de 40/32 pines (depende del modelo exacto de la consola) se le puede poner una pantalla de remplazo de una Game Boy Advance SP (el modelo retroiluminado). Además, me encontré con otra sorpresa: La pantalla original no sólo tenía muy mal contraste, además tiene un costo energético muy elevado, de forma que las pilas duran unas 5 horas más una vez instalado el mod de retroiluminación. En pocas palabras, la pantalla de la Game Boy Advance SP es mucho más eficiente que la del modelo original, puesto que funciona mejor y consume menos energía.

    Animado por esto me decidí a comprar el modelo original. Me puse a buscar por distintas tiendas de segunda mano y vi que el precio medio solía rondar por los 25 euros. Estuve incluso tentado por comprar un modelo naranja de 35 euros que vende un powerseller por eBay. No obstante, me parecía un poco triste abrir un modelo caro y bien cuidado, así que pensé en otra opción: Comprar la GBA más barata que encuentre y repintarla, tal y como hice en su día con mi tableta china. Y entonces la encontré, en la web de Cash Converters: Una "Game Boy Advance", blanca, seminueva, sin tapa de pilas por 15,95€ y la vendían en mi ciudad.

    Me costaba entender como una consola marcada como "semi nueva" (la segunda de tres categorías de su web) podía estar tan barata, puesto que las consolas sin tapa de pilas solían estar por 20€ en el resto de páginas nacionales. Alguna pega habrá, pensé. Hoy fui a la tienda y tras ojear un poco no la encontré. Pregunté a la dependiente y me dijo "pues si no la ves es que se ha vendido", mostrando un total desinterés por venderle algo a un cliente potencial. Resulta que la consola no estaba en el interior de la tienda, estaba en el escaparate... y para más inri no era blanca, era gris y estaba llena de mugre. Así que "semi nuevo", me pregunto como estarán las marcadas como "usado".

   Llamé a la dependienta otra vez y tras explicarle lo que era una Game Boy Advance y deletrarle Advance, me sacó la consola del escaparate. Le enseñé la foto de la web y exclamó un "coño, ¡pero si ahí parece blanca!". Con esto llegué a la conclusión que las fotos que emplea Cash Converters en su web son todas predefinidas, puesto que esta foto no concordaba con la del artículo. Tras confirmar que se trataba del mismo producto le pregunté si aparte de faltarle la tapa de las pilas la consola podía contener alguna tara. La dependiente se limitó a decirme que tenía un año de garantía en caso de que la encontrara. En ese momento mi yo interior se descojonó, pensando de que si por ejemplo me encuentro con que si el botón "start" no funciona ellos se gastarán más dinero en la reparación del que yo me voy a gastar en el cachivache.

   Al llegar a casa me puse a investigar y vi que los famosos "kits" para instalar el mod de retroiluminación están sin stock y que los pocos vendedores que quedan especulan con ellos llegándolos a vender por 100$, creando una especie de burbuja. De hecho, era bastante fácil encontrar consolas modificadas por más de 150$. Aún así no me vine abajo y decidí hacerlo a la vieja usanza: Mandando a la mierda los kits y comprar los componentes por separado. Por eBay encontré un vendedor italiano de pantallas de repuesto de Game Boy Advance SP por 18€ y en Amazon un adaptador de 32 pines 8€ y un destornillador especial para la consola por 2€. Puede parecer caro, pero a día de hoy es incluso barato. Otra gente opta por comprar un modelo roto de la Game Boy Advance SP y destriparla y de hecho esto puede incluso resultar más barato, pero prefiero seguir la filosofía de comprar únicamente una pantalla de repuesto. 

    ¿Y ahora? Pues a esperar al cartero.

17 julio 2015

Montando cajas de Super Nintendo caseras...

     Me gustan los juegos de Super Nintendo, a estas alturas no es ningún secreto. No obstante por desgracia es muchísimo más simple encontrarlos en el mercado de segunda mano sin caja. ¿El último que compré? El F-Zero por 5€ en un rastrillo.

    Últimamente me ha dado por ponerle solución montando mis propias cajas. Para ello he ido trasteando con distintos cartones: Sobres de Amazon, cajas de pastelerías... y para mi sorpresa el cartón que mejor resultando me está dando es el de las cajas de pizzas precongeladas.

     En fin, os dejo con esta pequeña galería de fotos:










23 junio 2015

Triple A

    Dicen las malas lenguas que a los americanos no les gusta jugar en el papel de los extranjeros y que, al ser ellos el mayor mercado de videojuegos, los editores se ven incitados a crear siempre personajes de esa nacionalidad.

    Esto nos permite encontrarnos con un americano disparando contra zombis mexicanos en los Pirineos (Resident Evil 4), pegándose ostias en todo país vecino a golpe de tío Sam (Call of Duty, Metal Gear Solid, Far Cry...), haciendo de Indiana Jones por el mundo (Uncharted) o despertándose de una América post-apocalíptica (Fallout).

    Llevo un par de semanas jugando al Watch_Dogs, un título de ciencia ficción situado en un futuro no muy lejano. En una mezcla de mundo abierto, thriller de mala calidad y acción sin sentido, manejamos a Aiden, un joven de treinta y pocos años, caucásico, apuesto, sano y por supuesto, americano y heterosexual. Ya con esta pequeña descripción nos damos cuenta que la originalidad del título de Ubisoft hace aguas, porque acabamos de describir, sin saberlo, al protagonista estándar de un videojuego. Para más inri, el argumento del título es algo nunca visto en ningún otro juego: Una venganza personal. Vamos, no me jodas...

Trailer promocional de Watch_Dogs.

     Bueno, puede que haya sido un poco injusto con Aiden. Realmente hay un rasgo que lo diferencia de otros personajes: Es un puto psicópata. Pero en fin, no os destriparé el juego porque aunque no lo parezca, esta entrada no busca analizar el juego de Watch_Dogs, si no en concienciar como la industria del videojuego, ya de por sí, está viciada.

    Leo en Le Monde que, en el TOP 100 de los juegos más vendidos de Amazon Francia durante el 2014, el 50% de los juegos te obligan a jugar como varón, mientras que sólo el 4% te obligan a hacerlo como mujer. En este porcentaje de mujeres, dicho sea de paso, las protagonistas además serán objetos sexuales, puesto que a pesar de tener cuatro doctorados (como pudiera ser Lara Croft) siempre serán recordadas y admiradas por sus curvas (como también pudiera ser Lara Croft), puesto que, según la industria, el jugador cuando juega con una persona del sexo opuesto prefiere hacerlo con alguien que le resulte atractivo.

    ¿Tomb Raider? ¿X-Blades? ¿Wet? ¿Bayonetta? ¿Camy? ¿Cortana? Daros cuenta de la situación absurda de encontraros luchadoras de artes marciales con más pecho que músculo. Y ya, si te metes en la saga de Dead or Alive, el tema degenera en personajes con más pecho que cabeza, tanto literal como metafóricamente hablando. Pueden haber excepciones, como es el caso Lighting de la saga Final Fantasy XIII, pero aún así nos encontramos con un personaje de aspecto apuesto. ¿No existen los juegos protagonizadas con chicas con ligero sobrepeso y que este no se encuentre en el busto? Hablando de bustos, ¿alguien sabe ya como será Tifa en el remake de Final Fantasy VII?

    Un sondeo de Gamasutra establece que el 95% de los programadores de videojuegos, el 91% de los artistas, el 87% de los diseñadores de juegos y el 78% de los productores son varones. Eso nos abre un poco los ojos y nos demuestra que estamos ante una industria donde las mujeres están muy poco representadas y esto por desgracia sirve para que nos vendan a la mujer como un producto o un aliciente más de la aventura y no como la protagonista de un mundo que queramos descubrir. ¿Bayonetta va al infierno o al cielo a repartir mamporros? Eso es lo de menos, ¡mira qué curvas!


Trailer de Bayonetta 2.

     Pero podemos profundizar más en el tema. Leo otra verdad como un templo en la revista francesa Canard PC (nº 319, página 45): Muy rara vez vemos discapacitados en los videojuegos y cuando estos aparecen resulta que tienen poderes sobrenaturales, como puede ser el caso de Lee Sin de League of Legends o Nathan Spencer de Bionic Commando. Básicamente, en el mundo de los videojuegos, el número de discapacitados que no son super héroes se pueden contar con la palma de la mano y para más inri ni siquiera son protagonistas del juego (como puede ser el caso de Joker de la saga de Mass Effect).

    ¿Veremos algún día un juego comercial protagonizado por un niño con síndrome de Down o en silla de ruedas? ¿Un "triple A" protagonizado por un esquizofrénico? No lo creo, los medios de comunicación pondrían el grito en el cielo y hablarían de polémica, lapidando el juego sin ni siquiera haber leído el argumento. Pero esto no es sólo cuestión de no ser discapacitados, en el mundo de los videojuegos aparte de estar sano debes de ser varón, americano y blanco. Sí, debes de ser blanco. ¿Por qué? Ni puta idea, porque alguien lo quiere así y punto.

    Por absurdo que parezca, en el mundo de los videojuegos, en los papeles interpretados por gente de color, acabamos encontrando con los mismos clichés injustos: Por lo general la gente de color acaba siendo el amigo gracioso, el peligroso delincuente o el musculoso lleno de esteroides capaz de dejar inconsciente a alguien de un sólo porrazo (Barret, de Final Fantasy VII; Cole Train, de Gears of War...). Hasta en Watch_Dogs, el título que ha abierto esta entrada, te encuentras con que la gente de color son delincuentes que viven para matar o ser matados.

    Parece que para ser pandillero, según la filosofía de Watch_Dogs, debes de ser negro. Perdón por la expresión. Puede que esto se pueda explicar gracias a otro sondeo, de la IGDA (International Games Developers Association), donde nos encontramos con que el 79% de los desarrolladores de juegos son caucásicos, mientras que los hispanos suponen el 8,2%, los asiáticos el 7,5% y la gente de color sólo el 2,5%.


Bibliografía:
  • "Jeu vidéo et mironités", Maria Kalash y Louis-Ferdinand Sébum. Canard PC, nº 319, página 36-45.

19 mayo 2015

FX Fútbol 2015


    A pesar del mal momento económico que atraviesa FX Interactive y de un controvertido desarrollo, desde el 26 de diciembre tenemos en las tiendas la tercera entrega de FX Fútbol, presunto sucesor espiritual del mítico PC Fútbol de Dinamic Multimedia. El primer FX Fútbol fue una buena primera toma de contacto y a estas alturas el proyecto debería de estar asentado, ¿pero ha sido realmente así? ¿Habrá afectado a la calidad del juego apostar por betatesters gratuitos sin experiencia previa?

    Por desgracia no puedo dar buenas noticias, puesto que a pesar de la gran correción de bugs y de ser, en general, más rápido y fluído que su predecesor, nos encontramos ante el mismo juego de siempre con otra piel, donde las escasas novedades apenas palían la sensación de déjà vu que nos deja en la boca. Por tener, tiene hasta los mismos errores de diseño que nos traía el primer FX Fútbol y que ha día de hoy siguen sin ser corregidos... además de traer un par de nuevos bugs de cosecha propia.

   En resumen, puedo afirmar que esta nueva versión trae dos pecados capitales que lo hacen injugable: una nefasta IA de mercado de fichajes y un nefasto mecanismo de cambio de equipo. El primero de ellos es crítico, a pesar de haber sido corregido en varios parches (y sigue naufragando):




   El caso es que con la versión actual, el mercado de fichajes queda de la siguiente forma: En divisiones inferiores recibirás un aluvión de ofertas para robarte jugadores, hasta por los más paquetes... y como no tengas cuidado te los roban. No es exajerado asegurar que puedes recibir en cada partido una docena de ofertas nuevas, lo cual resulta agobiante... muy agobiante. Mientras que, por otro lado, diez años más tarde cuando por fin tengas un equipo que lucha por la liga, absolutamente nadie lanzará ofertas a tus jugadores, ni si quiera si los pones cedibles o si los declaras transferibles en último año de contrato. Para el que nunca haya jugado a un PC Fútbol, esto último significa que tus rivales no quieren a tus jugadores ni gratis. De hecho, cada temporada acabarás despidiendo a una decena de jugadores para poder fichar a nuevos. No los quieren ni gratis, por triste que parezca es lo único que puedes hacer para aligerar la plantilla.

23 años, seis títulos ganados, 6 millones de cláusula, último año de contrato.
Transferible. ¿Ofertas recibidas? Cero.


Y como él... varios más.

    El otro pecado capital del juego es el cálculo que realiza éste para saber qué equipos te quieren fichar como entrenador: En vez de calcular un equipo de calidad similar al actual, lo que hace es llevar un cuenteo paralelo de objetivos que resulta muy lento de subir y muy fácil de bajar. Me explico: El juego tiene una escala por división donde los objetivos listados pueden ser "no descender", "zona tranquila", "ascenso" y en primera división además tienes "Liga Europa" y "Copa Europa". El caso es que más que objetivos, son escalones, de forma que si fichas por un equipo de tercera división con objetivo "No descencer" y lo asciendes a segunda división... no recibirás ofertas de otros equipos de segunda división, ni siquiera por ascender equipos de tercera... si no de equipos de tercera división que luchan por "zona tranquila". Es decir, tú, como entrenador, habrás subido apenas un escalón en la escalera de objetivos.

    A primera vista no parece complicado, pero digamos que no es un juego difícil y una vez le pillas el truco resulta bastante sencillo pillar un equipo de tercera división y ganar la liga de primera división en apenas seis años. Esto signifca que la alternativa a entrenar al equipo campeón de liga es, por ejemplo, luchar por la permanencia en segunda división. De hecho, en la siguiente serie de imágenes veréis que yo no he recibido ofertas por entrenar a equipos de primera división hasta ganar 6 ligas, 1 copa del Rey, 3 supercopas y una liga de campeones:


Vale... acabo de ganar la liga de primera división y la alternativa a renovar con mi equipo es...
¡Entrenar al Sporting por la permanencia en segunda!
¡Evitar el descenso a tercera división del Atlético Sanluqueño!
¡Irme a la segunda división francesa!


Um... Alcorcón en segunda, resulta tentador.


Ok, tengo cinco ligas y el mejor equipo del mundo.
Podría ascender al Espanyol o al Rayo...


Bueno, este año no he ganado la liga, pero sigo teniendo el mejor equipo del mundo.
Lo veo, lo veo, puedo mejorar la defensa del Sportivo Belgrano.


Bueno, mi Olímpic de Xàtiva tiene 6 ligas y 435 millones de euros.
Puff... pero el Granada me quiere fichar.


Tengo un equipo con 672 millones de euros y aún no he cambiado de equipo.
Eso sí, estoy en la lista del Getafe y del Málaga.
¿Cómo hizo Luis Enrique para fichar por el Barça?


Año 2029, cambio de equipo tras llevar 15 temporadas con el Olímpic de Xàtiva.
Descubro, triste de mi, que la pantalla del palmarés se resetea al cambiar de equipo.
¡Cabrones!

    El caso es que esto ya lo viví en el PC Fútbol 6, un juego similar que salió en el 1996 y que me apasionó muchísimo. La diferencia es que al salir el mercado de invierno los chicos de Dinamic sacaron una expasión para ese juego que corregía dicho... ¿bug? Han pasado 19 años y el FX Fútbol no sólo comete errores corregidos en anteriores PC Fútbol, si no que además no lo corrige a pesar de haber sacado 5 parches desde su lanzamiento. ¿Pero es que ni los creadores del juego lo han probado? Si pillas un PC Fútbol y le quitas el poder vender jugadores cuando luchas por la liga y le añades el tener que jugar 100 horas para poder fichar por el Barcelona, el Madrid o el Valencia... ¿y qué te queda? Joder, que Skyrim o Dragon's Dogma te los puedes pasar en 40 horas cada uno.

    Es una pena porque estaba enamorado del FX Fútbol 1 y pensaba que con el 2015 habría una mejora notoria... pero es que jugarlo es un sin sentido, es revivir el día de la marmota una y otra vez. Te pillas un equipo del montón, lo subes de categoría y te pones a acumular dinero a lo tonto: ¿Que te parece poco tener al Olímpic de Xàtiva con 300 millones de euros? Pues ahorra dos años, ganas la liga otra vez y lo tienes con 460 millones.



    Y una vez tienes todos los mejores jugadores del mundo y el triple de presupuesto que el Barcelona, pues te dedicas a poner en Játiva el mejor estadio del mundo. ¿Que Játiva sólo tiene 30.000 habitantes? Coño, hago un estadio de 120.000 espectadores. Total, votaron a Rus, les gusta hacer las cosas a lo grande, ¿no?





    Bueno, y si esto fuera poco, con el dinero que nos sobra fichamos a los jugadores paquetes del Valencia CF pagando su cláusula y le regalamos por cada uno dos jugadores de los que no puedo vender. Que los aproveche por lo menos Nuno Espírito Santo. Ya que calculo que no podré entrenar al Valencia hasta haber ganado diez ligas más, por lo menos así seré su entrenador en la sombra (risa malévola).


    Y si todo esto fuera poco... no temáis, el juego viene con bugs bloqueantes. Si juegas en modo resultado pueden expulsarte a jugadores lesionados. Sí, habéis leído bien. La gracia es que el juego te obliga a cambiar los jugadores lesionados a mitad de partido. Es decir, si tienes lesionados debes de cambiarlos sí o sí para poder continuar... pero a mí me han expulsado a un jugador lesionado. ¡No lo puedo cambiar! Pues te jodes, puesto que no hay forma de abandonar el partido (no hay botón para ello) y además no puedes continuar porque debes hacer el cambio del lesionado sí o sí. Resultado: Alt + F4. Así que ya sabéis, guardar la partida cada poco tiempo.



    Pero podría ser peor, ¿te imaginas ir ganando una liga con todos los partidos ganados y no tener a ningún sólo jugador en el once ideal de La Liga? ¡Con FX Fútbol 2015 es posible!


    Lo triste es que este juego es mejor que el FX Fútbol 2. Pero a diferencia de los dos anteriores, lo he aborrecido en apenas dos semanas. No quiero saber nada más de él. Básicamente lo habré jugado unas 60 horas y en esas horas apenas he entrenado al Olímpic de Xàtiva y al Marsella, habiendo ganado la liga de campeones con ambos equipos. Y aún no he podido entrenar a ningún equipo de la élite europea. Lo triste es que te deja la sensación de que el juego no es malo... ¡pero es que es injugable! A este juego le ha faltado una fase séria de testing y se veía venir.

Nota mental: Sacar mi propio PC Fútbol.

06 mayo 2015

La lenta agonía del barrio

    Volví de un largo viaje de empresa y quise cortarme el pelo, así que fui a la peluquería de siempre, a la que llevaba yendo desde hace un par de años. Pero ya no estaba, en el bajo donde se encontraba sólo había un cartel de "se alquila". Echaron el cierre. Era una situación que se veía venir, pero que a pesar de las pistas uno no se da cuenta de ellas hasta que la situación estalla. Por ejemplo, un par de meses antes mi mujer me dijo que la nueva chica de la peluquería era maleducada y que no tenía tacto con el cliente, por decirlo de alguna forma. Aún así, yo llevaba varios años acudiendo a esa peluquería y a pesar de la bajada en la calidad del servicio, nunca pensé que cerrarían. Desde su cierre no me he cortado el pelo. Es más, hoy luzco una melena bastante digna.

    El mes pasado cerró mi kebap favorito, un negocio situado debajo de casa de mis padres que tenían un proyector que te permitía ver películas o el fútbol en una pantalla gigantesca. El precio era económico y el servicio bueno, pero solía estar vacío, hasta el punto de que un par de veces los dependientes nos dejaban a mi mujer y a mi seleccionar el canal de televisión que quisieramos ver. También hacían pizzas y solía ir ahí a encargarlas y los días que queríamos kebaps pedíamos de paso faláfel y aros de cebolla. Siempre tenían algún detalle con nosotros, cuando no nos regalaban algún refesco nos daban alguna ración gigante de patatas. Un domingo aparecí para encargar unas pizzas y el dependiente me contestó que ya no hacían, que echaban el cierre al día siguiente. Ese día sólo podían hacer kebaps. ¿A quién echaba la culpa el dependiente? ¿A la clientela? ¿A la zona? No, a la crisis. Aunque estuviera tratando con un dependiente de comida rápida mi comentó toda su experiencia laboral y me quedé asombrado. A lo que ha llegado la crisis, un tío con más de una decena de años de cocinero cerrando un garito de comida "basura". Que este tipo de locales cierre te demuestra que algo mal va en la economía local.

    Hoy fui a correos a acompañar a mi mujer y nos encontramos con una cola gigantesca, debído a una huelga que hubo en días anteriores. Se ve que los carteros aún no se han enterado que los datos macroeconómicos del país son muy buenos (sarcasmo). Total, tras pillar turno calculé que podíamos esperar aún una hora, así que le ofrecí a mi mujer pasarnos un rato por la tienda de objetos de segunda mano que había cerca.

    Me encanta esa tienda, llevo yendo desde que iba al instituto. Ahí me compré en su día mi primera PlayStation, mi Nintendo DS o incluso mi Wii U. Gracias a esta tienda mi juegoteca tiene grandes títulos como el Dino Crisis, el Turok, el Wave Race 64 o incluso el Final Fantasy IX. De normal, ir a esta tienda se convertía en mi pequeña alegría de la semana y solía pasarme al salir de la oficina una o dos veces por semana. Siempre había algo que me interesaba comprar e iba haciendo cálculos para ver que adquirir a primeros de mes. ¿Primer día de mes? Juegazo retro. ¿Mi última adquisición? El FIFA de SNES por 10€.

   Ya en la tienda, mi mujer encontró una serie anime de 8 euros, pero al cobrarnos nos pidieron sólo 6 euros. Le pregunté al dependiente si se había equivocado y entre sollozos me respondió que no, que estaba todo al 20% de descuento por que echaban el cierre. A mi esto me supuso un golpe duro, porque me encantaba este negocio y de entre todos los negocios que he visto cerrar éste era el que mayor repercusión ha tenido en mi vida.

    Pobre inocente de mí, les pregunté hasta cuando segurían con el negocio abierto y no me supieron contestar. Esa es la peor sensación que puede tener un hombre en la vida, saber que vas a ser despedido y no saber cuando sucederá. Al igual que con la peluquería, fui recibiendo pistas a lo largo de los útlimos meses. Un mes se me hacía un descuento por que sí, por mi cara bonita, puesto que según el dueño era el único que le compraba los juegos viejunos, otro mes te encontrabas con que ya no compraban cosas por que estaban "reformando" el negocio... y otro día te encuentras con que los dependientes de toda la vida han cambiado... y encima echan el cierre.

    Lo siento por los políticos y sus datos marcoeconómicos. Pero los negocios de barrio a los que acudo cierran, todos. Hasta la copistería a la que nunca acudo ha cerrado. Sólo puedo decirle una cosa a los políticos: Que os follen. Yo no quiero ser cliente de un Carrefour, ni ir a un centro comercial para cenar un kebap y desde luego no quiero coger un coche o el metro para ir al centro para ver tiendas de segunda mano. Los negocios de barrio han muerto, este es el gran éxito de esta "clase" política. Y lo triste es que ni siquiera vivo en un pueblo, si no en la tercera ciudad más poblada de España. Eso sí, mi ayuntamiento se gastará este año 13 millones de euros en limpiar los jardines y desde hace varios hay un neumático de bicicleta clavado en un árbol en la avenida Blasco Ibañez (en frente de Rumbo 144). Lleva tanto tiempo que es visible desde Google Maps... y es más, con el historial de Street View se puede comprabar que el neumático lleva en el árbol nada más y nada menos... ¡que cuatro años! Señora alcaldesa, por un millón menos me ofrezco a quitar el neumático del árbol.

El neúmatico en la actualidad en Google Maps.

Con Street View podemos comprabar que lleva ahí desde Febrero de 2011.

Esta foto la saqué el otro día.

    El 24 de mayo iré a votar y votaré algo que espero que cambie la vida política de mi país. Desde luego, las malas políticas de la última década han cambiado por completo mi forma de vivir y ahora me toca a mí cambiarles a ellos su forma de vivir. Y a esto señores, no se le llama Venezuela, ni bolivalizar un país, se llama democracia.

05 mayo 2015

El lingote, unboxing


    Hoy me ha llegado a casa "El lingote", un paquete de 12 juegos de FX interactive que compré por 12,57€ en Amazon [1]. Concrétamente, este paquete contiene los tres juegos de Drakensang (razón principal de mi compra: Drakensang, River of Time y su expansión Phileasson's Secret),  además de cinco juegos de Tropico (Tropico, su expansión Paradise Island, Tropico 2 Pirate Cove, Tropico 3 y su expansión Absolute Power), tres juegos de King's Bounty (The Legend, Armored Princess y su expansión Crossworlds) y dos de Sparta (Sparta y Sparta II).

    Aunque cuelen un par de expansiones y te lo cuenten como juegos, la verdad es que da igual, la calidad de los mismos es famosa y en general obtenemos un paquete gigante de juegos físicos a precio de Steam: Por mi parte, nada que objetar.


    De pequeño este tipo de packs eran bastante comunes, recuerdo que en la época del Spectrum las distribuidoras (tales como Topo, Dinaimc u Ocean) solían sacar de vez en cuando paquetes con una decena de sus juegos a un precio bastante económico. Hoy en día pagas 70€ por un blockbuster de consola, pero en su día mi hermano se agenciaba por mucho menos un pack semejante a éste. Eso sí, los juegos iban en cintas y tardaban media hora en cargar.... En todo caso apruebo este valiente paso de FX Interactive.


    Abrimos la caja y nos encontramos con la primera sorpresa, puesto que nos encontramos con sólo cuatro estuches de DVD, los cuales corresponden a ediciones individuales que ya sacaron a la venta en su día (1, 2, 3 y 4). De todas formas vivimos en la era del copy-paste, por lo que un detalle como éste no me asusta.





    Cada estuche contiene, a su vez, un único DVD con todos los juegos de dicha saga:





    Segunda sorpresa, la instalación de los juegos: Cuando metes un DVD debes de instalar de golpe todos los juegos que contiene dicho disco, no se pueden instalar por separado. Si, como me pasó a mi, ya poseías alguno de los juegos, te recomiendo desinstalarlo antes de continuar, para no tenerlo repetido.


    De hecho, una vez instalado el DVD nos encontraremos en nuestro escritorio con un único acceso directo, el cual actúa como menú y te permite seleccionar el juego a utilizar. Por cierto, vienen sin protección anticopia, por lo que puedes jugar sin tener el DVD en tu ordenador, todo un detalle para los que amamos conservar sus juegos en sus respectivas cajas.


    Hablando de DRM, todos los discos incluyen un códico de activación en su manual de instrucción. Sí, habéis oído bien, estos juegos tienen manual de instrucciones, algo que se hecha en falta ahora que los juegos de consola no traen y siguen valiendo 70 pavos...


    La activación del código no es obligatoria y puede realizarse en cualquier momento, pudiendo jugar durante años sin tener el juego activado. Es más, activarlo sólo trae ventajas y recomiendo encarnizadamente hacerlo: Recibes una copia del juego en formato digital, la cual puedes instalar a través del navegador web en cualquier otro PC que tengas en casa; Además de darte "puntos FX", los cuales a su vez sirven para ser canjeados por otros juegos en formato digital.




     Por cierto, la intalación de juegos sólo me funciona con Firefox (guiño, guiño).


PD: Sí, ya sé que esto salió en 2013...