Si le dejas, te romperá el corazón Else Heart.Break()

Else Heart.break()_logo
Cada cierto tiempo, el destino nos sonríe con un libro diferente, con una película especial, con un polvo sensacional o con un videojuego magnífico e inesperado. Es también cierto que para poder encontrarnos con estos unicornios, tenemos que leer muchos libros de mierda, destrozar nuestras retinas en infinidad de cines con auténticos bodrios y encontrarnos jugando a las mismas mecánicas aburridas y sin interés una y otra vez. Por fortuna, Else Heart.Break() (link en Steam) incumple todas estas premisas. En su frente luce un dorado cuerno, y su blanco pelaje reluce en la oscura noche a la luz de la luna llena.

Me imagino que a muchos de vosotros, al igual que a mi hasta hace un par de semanas, no os suene absolutamente nada el titulo. Quizás mas complicado que el titulejo que le han puesto, sea definir el estilo al que pertenece. Estamos hablando de un juego que mezcla, como pocos, el desarrollo de una aventura gráfica, en un entorno sandbox, con contenido cyber-punk y con un guión excepcionalmente rico en red herrings. Ah, y una pijada más. Una de las principales características es que tienes que programar. En lugar de combinar objetos, tienes que reprogramarlos picando código en lenguaje de programación de verdad, se me olvidaba este detalle…

Como decía Jack, vayamos por partes…

Else Heart.break()_señales¿Es una aventura? En la definición tradicional de la misma, no. En la definición tradicional de la misma, sí.

1.- ¿Por qué no?

En una aventura point&click tradicional, tienes una serie de objetos que inequívocamente tienes que recoger, normalmente en un orden predefinido y scripteado por guión, combinar entre si de manera lineal para poder ir desbloqueando el siguiente paso, para poder ir avanzando en la aventura. En este juego puedes recoger cualquier objeto del juego, y modificarlo casi a tu antojo. Sobre este tema vamos a volver más adelante, así que procura no olvidarte.

Otra de las características típicas de las aventuras es que el juego te deje muy claro el siguiente paso que tienes que dar. Es decir, hablas con un personaje que te dice que tienes que ir a un sitio X y conseguir un objeto Y para poder resolver el puzzle Z. Uno de los puntos excepcionalmente tratados en Else Heart.Break(), incluso me atrevería a decir que el mejor, es la manera en la que conduce al jugador, de manera imperceptible para éste, a través del guión del juego. Esta sensación se acrecenta sobre todo al principio. Estás suelto por una ciudad, y tu único objetivo es vender latas de soda. Cuando llevas media hora dando vueltas sin que nadie te compre una puta lata de refresco, envuelto en una sensación de desasosiego, de pensar en la mierda de juego que te acabas de comprar en Steam, una conversación con un tipo que está sentado en un banco del muelle, te habla sobre un bar que está en una plaza, el cual a partir de media tarde se llena de gente con ganas de juerga. Otro te habla sobre un club semiclandestino que hay en unas antiguas minas en las que montan unas pequeñas raves. Pero tú solo piensas en que te han mandado vender las putas latas de soda y sigues intentado buscar a gente por la calle que te las compre. En este momento estás hasta los huevos. Así que dices: “Me voy a ir al club aquel del que me hablo el tipo del muelle para desconectar un poco” Entras en el bar y empiezas a hablar con toda la peña que está de marchuqui. Algunas de las personas te empiezan a comentar que habrá esa noche un fiestón que se va a organizar en la casa de uno de sus colegas. Tu puedes elegir entre pirarte a dormir para madrugar al día siguiente para seguir con la puta venta de la mierda de las latas de soda, o que le den a todo y pirarte de fiesta. Evidentemente, me piré de fiesta. Y así, sin darme cuenta, iba a avanzando en la trama principal.

parque2.- ¿Por qué sí?

IF answer = “2.- ¿Por qué sí?”

THEN error

RETURN to “1.- ¿Por qué no?”

END

¿Es un sandbox? En la definición tradicional del mismo, sí. En la definición tradicional del mismo, no.

1.- ¿Por qué sí?

Si la libertad de movimiento es a los sandbox lo que los estornudos a los resfriados, entonces no hay duda de que ElseHeart.Break() es un catarro considerable. Desde el minuto 1 puedes optar por perderte explorando por la inmensidad de las calles principales de Dorisburg, por su laberíntico muelle, darte una vuelta por los alrededores de la mina, ir al parque a ver como trabaja el jardinero, tomarte una cerveza sentado en la terraza del cafe de la plaza principal, montarte en el tranvía mientras recorres la ciudad y hablas con las personas que se suben en él… No hace falta robar coches ni asesinar a tiros a un desconocido para poder disfrutar de la libertad que te proporciona un sandbox.

La naturaleza del juego, en la que las decisiones que tomes son irreversibles y condicionan la trama principal (esto último lo dicen los desarrolladores, no he tenido tiempo para comprobarlo por mi mismo con una segunda partida) provoca que a veces quieras alejarte un poco de la historia y de sus complejos personajes e ir a dar una vuelta tranquilamente para despejarte de tanto drama. O ir de fiesta y emborracharte a cervezas. O echarte una partida de verdad a las recreativas, una de ellas una especie de Arkanoid

Else Heart.break()_conversacionQuizás su estilo isométrico, que puedes rotar con el ratón en cuatro perspectivas diferentes, no sea la elección más apropiada para moverte por una ciudad estructurada por pequeñas zonas de mapeado que requieren cargas continuas cada vez que te desplazas a otra zona. Esto provoca que a menudo, sobre todo cuando entras en alguna mapa por primera vez o que hayas visitado pocas veces, haga que te pierdas totalmente. Si es una característica buscada por los creadores, les ha quedado sensacional, pero sinceramente creo que provoca una confusión en el jugador no necesaria ni en la historia, ni en el proceso inversivo en el entorno.

2.-¿Por qué no?

LOOP

PRINT(“No lo se”)

PRINT(“La locura me invade”)

Charisma(-1)

END

RETURN to “1.- ¿Por qué sí?”

END ([oF txxxxxxxxhE StORy])

¿Es un universo neo-cyber-punk?

VAR TEXT Situacion1=“Existe un grupo secreto encargado de controlar todos los movimientos de los ciudadanos, y que estos no se salgan del redil ni creen corrientes de opinión contrarias al poder. Es la situación actual en España”

VAR TEXT Situacion2=“Existe un grupo secreto encargado de controlar todos los movimientos de los ciudadanos, y que estos no se salgan del redil ni creen corrientes de opinión contrarias al poder. Es algo ficticio que he visto en Matrix y que no se da en ningún país en la actualidad”

VAR BOOLEAN Estoy_De_Acuerdo_Situación1=0

VAR BOOLEAN Estoy_De_Acuerdo_Situación2=1

IF Estoy_De_Acuerdo_Situación1<Estoy_De_Acuerdo_Situación2

THEN PRINT (“No sabes en que mundo vives.Despierta NEO”)

ELSE IF Estoy_De_Acuerdo_Situación1>Estoy_De_Acuerdo_Situación2

THEN PRINT (“Rajoy = Matrix. Actúa NEO”)

ELSE PRINT(“El SÍ y el NO no pueden convivir paralelamente en el mismo universo, en la misma decisión, para el mismo individuo. INDet3rmiiiiiiiIIIIiiIIIInACi0n”)

END

END

Else Heart.break()programaciónVamos a centrarnos ahora en el aspecto más novedoso y llamativo del juego (¡cómo si hasta ahora no hubiéramos visto ya unos cuantos!)

¿En serio hay que programar? Si

¿Es necesario para avanzar en el juego o es solo un minijuego? Es completa y absolutamente necesario. Argumentalmente, es el corazón alrededor del que se desenvuelve la trama.

¿Es necesario saber programar antes o el juego me enseña? A pesar de hay una serie de personajes que te enseñan los conceptos básicos, y que te encuentras una serie de disquetes para leer que contienen un manual de programación del lenguaje empleado por el juego, yo diría que es necesario poseer unos conocimientos previos, aunque muy básicos de las estructuras de cualquier lenguaje de programación del mundo real, si no me da la impresión de que el juego, salvo que tengas mucho interés y fuerza de voluntad para aprender, se puede poner muy cuesta arriba.

Pero… no entiendo muy bien, ¿para que necesito programar objetos? Vale, voy a intentar poner un par de ejemplos sencillos. Luego tratad de extrapolarlo para imaginados las posibilidades. El tiempo del juego discurre a través de un reloj que marca la hora continuamente en pantalla. No todos los días, pero sí cada 2 o 3, tienes que dormir unas horas, ya que si no el personaje puede caer desmayado. Bien, son las 23.00, y mañana a las 14.00 he quedado para hacer_una_cosa_de_la_trama_que_no_te_voy_a_spoilear_y_arruinarte Else Heart.Break(). Así que me voy a ir a dormir para descansar y de paso acelerar el tiempo. Me tiro en una cama y le doy a dormir, pero me sale el mensaje de que no tengo sueño y no me deja dormir. En una mesa cerca, tengo una taza de cafe. Uso mi modulador para acceder al código del programa de la taza del cafe y veo que contiene una sola linea: Sleepiness(-25). Es decir, si uso esa taza de cafe, lo que hace es espabilarme, bajarme la variable que controla mi sueño en 25 unidades. Pero yo lo que quiero es justo lo contrario, que me entre sueño. Así que modifico el código de la taza del cafe y lo sustituyo por Sleepines (+200). Uso la taza de cafe para beberla, y al instante me invade el sueño, y ya puedo usar la cama para dormir.  Así de fácil. Así de estúpido. Así de jodidamente profundo. Sí, la gran mayoría de objetos que componen el mundo son modificables: Puertas, radios, latas, ordenadores, teléfonos, llaves … Hay que señalar que cada objeto tiene una serie limitada de variables que puedes utilizar en ellos. Siguiendo con el ejemplo anterior, puedes utilizar Sleepiness() en una bebida, pero no en el código de una puerta o en una radio. Pensad ahora en lo que hablábamos hace unos párrafos de la vertiente sandbox. Me voy a dar una vuelta por el mundo mientras cambio de color la luz de las farolas, modifico las bebidas que hay en la terraza de un bar, cambio la cantidad de almacenamiento de una papelera… Libertad enorme.

Otro detalle. Antes os comenté que en el juego podías encontrarte máquinas recreativas en las que poder jugar de verdad, como una especie de Arkanoid. Lo que no os dije es que puedes hachear la maquina y acceder a su código, para cambiar la velocidad de la bola, el tamaño de la base… Ah, y hay una web para que la gente cree a través del lenguaje de programación del juego nuevas recreativas, poder descargarte el código, pegarlo en una recreativa dentro del juego y jugar. Ni Shenmue

Else Heart.Break() me ha parecido un juego excepcional, pero que por su apuesta decidida por un estilo tan marcado y profundo, no está indicado, lamentablemente, para todo el mundo. Eso sí, si tienes unos mínimos conocimientos de programación, tírate a por él de cabeza, no lo pienses. Te verás recompensado. Ya sabes lo que dicen, Matrix has you.

Acerca de Nomius

Soy el sable laser en la Oscuridad. Y el Rey más allá del Muro Cantábrico. Catador de Cervezas y un poco indecente. Designed in Asturias.

Check Also

call of duty wwii antihype

Eso que usted dice que pasó… Call of Duty WWII – Análisis

Una de mis novelas favoritas es Matadero 5 de Kurt Vonnegut. En este libro, parte ...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*