¿Olvidates tu contraseña?

DayZ Standalone, un cambio de motor con el mismo chasis

2013-12-18
No hay comentarios

Seguramente habréis leído la noticia sobre la salida de la Alpha de DayZ (íd.; Bohemia Interactive, 2013). Lo primero y más importante, ni penséis en comprar el juego si no tenéis claro que es una Alpha, hablamos de un producto muy poco terminado, con numerosos fallos y con muy pocas de las características que ha de tener el juego final. No obstante, esto está lejos de querer decir que no haya trabajo detrás de este lanzamiento.

He estado tras el fenómeno DayZ casi desde el comienzo siguiendo el desarrollo de la Standalone de cerca, y he tenido que “justificar” muchas veces los retrasos.

Arma2 es un juego que “confía en sus jugadores”. Es muy importante entender que significa esto, y como ha afectado al desarrollo de DayZ. Arma2 es un juego que se suele jugar en modo cooperativo, jugando como un equipo contra la IA (Inteligencia Artificial) en una misión creada en su editor, de modo que cuando se desarrolló el servidor del juego, no tenía sentido crear controles de seguridad que consumieran recursos porque la gente no iba a hacer trampas.

En ese aspecto el servidor de Arma2 es como un repetidor, el jugador le dice “estoy en la posición X,Y” y el servidor lo re-envía a todos los jugadores del servidor, sin más. Esto ha sido la causa de los numerosos hacks que permitían tele-transportarse uno mismo o incluso a todos los jugadores de un servidor, pero el problema iba más allá, pues toda la lógica de DayZ estaba en el cliente, y no en el servidor. Por ejemplo la decisión de que objetos encontrabas en una casa se generaba cuando nuestro personaje estaba a unos 50-100m de dicho punto en que podía aparecer loot, momento en que nuestro ordenador decidía que ahí iban a aparecer unas latas de comida u otra cosa, y enviaba esto al servidor, que de nuevo, re-enviaba la información sin más.

Existían hacks que podían hacer que en vez de latas de comida apareciera la mejor arma del juego, e incluso armas que no estaban en el juego (pero si en Arma2), y el servidor no tenía forma de saber si había aparecido realmente o no.

Aparecieron numerosos scripts para DayZ que añadían algunas medidas de seguridad, como por ejemplo los que almacenaban tu última posición y si veían que habías recorrido una distancia imposible en el juego detectaban un tele-transporte, o el hecho que alguien tuviera equipada un arma que no podía existir, pero aun así, eran muchos los flecos que quedaban al aire.

Además de lo dicho, hay otros aspectos en que la arquitectura basada en cliente de DayZ lo limitaba enormemente, y esto nos lleva al último tercio de 2012. En fechas previas a ese momento Dean “Rocket” Hall, líder del proyecto DayZ, había prometido el juego completo para diciembre de 2012, la fecha se acercaba peligrosamente y el aumento exponencial de Hacks como los que hemos comentado antes, le hace tomar una decisión, y anuncia que el juego se retrasa por un cambio de orientación del proyecto. Dean debía decidir si seguir con una versión del mod con más características, o re-hacer el motor interno para acabar con estos problemas.

dayz actualidad videojuegos zehngames

Dicho cambio pasa por re-hacer toda la arquitectura cliente-servidor de Arma2 por completo para cambiarla por la usada por muchos MMORPG. Esta frase, que confundió a mucha gente pensando que hablábamos de añadir niveles y recolección de oro a DayZ, en realidad está mucho más en las entrañas del motor y no de la jugabilidad del título.

Como hemos leído antes, en la arquitectura actual el cliente del juego era el responsable de hacer los cálculos, cuando le dábamos la “W“, el juego calculaba cuanto habíamos avanzado, las colisiones con el terreno y determinaba la nueva posición del jugador, que en ese momento se enviaba al servidor y este lo re-transmitía al resto de jugadores.

La arquitectura de los MMORPG en cambio lo que hace es que cuando tu le das a la “W” lo traduce en “avanzar”. En ese momento el comando “avanzar” se envía al servidor, y es este el que hace los cálculos, definiendo la nueva posición del jugador, que es enviada de vueltaestás en la posición X,Y,Z“, momento en que el cliente dibuja al personaje en su nuevo lugar. Como podréis deducir, esto se lleva de un plumazo las técnicas de hacking presentes en el mod actual. Y de rebote, hace que los requisitos del juego bajen, pues el cliente ya no tiene que hacer muchos de los cálculos necesarios para el juego (no obstante, los servidores han de ser más potentes).

DayZ Standalone es como cambiar el motor de un coche pero tener la misma carrocería, no se nota a primera vista

Este cambio de arquitectura no es trivial, pues hay que modificar literalmente todo el apartado de como se transmiten los datos, como se calculan, como se reciben y como se reacciona cuando esto pasa. Pero desgraciadamente, para el jugador que simplemente abre el juego y lo juega, no verá ninguna diferencia, pues como hemos comentado antes, es un cambio que está a nivel interno, y no cambia de per se la jugabilidad, es como cambiar el motor de un coche pero tener la misma carrocería, no se nota a primera vista.

Es por eso que creo que Rocket decidió retrasar aun más el juego y acabar de desarrollar algunas de las características nuevas antes de lanzar la Alpha, como es el sistema de inventario y de objetos, que también ha tenido un lavado de cara completo.

dayz-standalone actualidad videojuegos zehngames

En mi opinión, ha sido una gran decisión, pues el abanico de posibilidades que tiene centralizar el proceso en el servidor abre las puertas a muchas experiencias que con el funcionamiento del mod son directamente imposibles. El mismo Rocket comentó algunas ideas con las que están jugando. Por ejemplo, ahora se podría controlar que en un servidor sólo hubiera uno y sólo un fusil de francotirador militar al mismo tiempo, haciendo de este objeto algo único, preciado y codiciado. Otro ejemplo, los “rebaños” de zombies, la posibilidad de controlar donde y que están haciendo cada zombie del servidor (en el mod sólo hay zombies donde hay jugadores), permitiría que hubiera conjuntos de no muertos pululando por ahí, se juntaran con otros que están siguiendo a un jugador concreto y que el pueblo X se encontrara con que detrás de ese superviviente llegarán antes o después un grupo de 50 zombies.

Espero haber cumplido mi objetivo y haceros ver como algunas veces como consumidores de un producto no somos capaces de apreciar el trabajo que hay detrás de algunos proyectos cuando estos sólo tocan aquello que no se ve, pero que es lo que sustenta toda la estructura, los cimientos sobre los que se erigen los grandes títulos, ocultos bajo tierra, pero imprescindibles.

Inicio Foros DayZ Standalone, un cambio de motor con el mismo chasis

Viendo 1 publicación (de un total de 1)

Debes estar registrado para responder a este debate.