Bien, ahora que el proyecto ha cumplido 10 años y medio oficiales, me gustaría lanzar esas preguntas que no podían hacerse antes porque "no le habíamos dado el tiempo suficiente a las tecnologías core a realizarse, evolucionar y demostrar su validez". Creo que ahora hemos alcanzado un punto en el que, entiendo, podemos empezar a charlar algo más en profundidad de ello. Tristemente, para hablar de todo este tema, necesito hacer un megatocho post, así que entiendo que pocos lo leerán completo, pero bueno, ahí quedará por si alguien desea conversar seriamente del tema.
Creo que todos entendemos que el actual SC tiene un scope muy distinto al inicial prometido en su Kickstarter (ya debemos todos conocer la historia de todo aquello), y el cual está basado principalmente en 2 ideas/tecnologías que, por la complejidad que conlleva su traslado a un MMO, han provocado que, tras estos más de 10 años, el juego aún esté en desarrollo.
Esos 2 pilares tecnológicos complejos y que en su base teórica provocan que SC pueda ser un juego especial y único (según sus creadores y seguidores) son, si duda alguna; el Mallado de Servidores y la Persistencia.
Como primer pilar, definamos el Mallado de Servidores de SC como la capacidad de que los diferentes procesos y ubicaciones in-game, aunque se ejecuten en diferentes servidores, estén conectados de tal manera de que los jugadores/naves/objetos/eventos puedan ser movidos entre ellos de forma transparente a través de procesos de balanceo de cargas y latencias, dando así la impresión de que todo el juego se ejecuta en 1 único servidor/universo. Esto significaría que, incluso una única nave capital, como puede ser una Javelin, con todos sus tripulantes, objetos, procesos, etc... podría ejecutarse en un servidor propio único, pero que con dicha tecnología sería transparente para sus ocupantes y resto de jugadores, que tendrían la sensación de ser el mismo único servidor que el de los demás.
¿Que implicaría el correcto desarrollo y funcionamiento de esta tecnología?... principalmente 2 cosas; teóricamente un número prácticamente ilimitado de jugadores simultáneos, y un movimiento transparente y automático entre servidores, es decir, la sensación de un único universo jugable sin cargas para todos esos jugadores ilimitados.
Como segundo pilar, definamos la Persistencia de SC como la capacidad de que los objetos y acciones queden registradas in-game de forma permanente.
Como ejemplo, todos conocemos la persistencia de juegos como Skyrim, donde puedes dejar una espada en el suelo de la herrería de una ciudad, y si vuelves allí 3 días después, allí seguirá... o si matas a "Pepito" que es el dueño de la Taberna, pues ya no volverá a existir in-game dicho personaje. Obviamente, Skyrim es un juego de rol de modo historia, offline, y con un número limitados de personajes, eventos y objetos... hacer esto en un MMO sin esas limitaciones es obviamente muchísimo más complejo... y más si quiere ir unido a la existencia de 1 único universo gracias al mallado, con un número ilimitado de jugadores reales soltando y cogiendo objetos, realizando acciones y cambiando constantemente aspectos del universo.
¿Que implicaría el correcto desarrollo y funcionamiento de esta tecnología?... principalmente que las acciones de los jugadores tuvieran un impacto real, directo y persistente en el espacio y tiempo. Por ejemplo; si mi nave es destruida en un campo de asteroides, ahí quedará dicha nave con su carga, sus tripulantes muertos, sus componentes internos presentes, etc... hasta que alguien llegue y se haga con ella... o no, y se quede eternamente en ese punto del espacio para la eternidad.
Si alguien considera que estas rápidas y obviamente simplificadas definiciones son incorrectas, por favor, que me lo comente... sería vital para la conversación.
Es cierto que hace ya unos meses descubrimos, por parte de la propia CIG, que el Mallado de Servidores teórico que he indicado anteriormente desde luego no va a ser el que finalmente va a tener el juego. Actualmente la idea es trabajar a través de Fragmentos (Shards), entendiendo estos como grupos de instancias regionales con un número de jugadores limitados, y con eventos y acciones solo interactuables perdurables en el mismo Fragmento, con la capacidad de tener inventarios globales (personales de cada jugador y globales de cada evento) comunicados entre los diferentes fragmentos.
Para poner un ejemplo de esta realidad, pongo una explicación de la propia web de CIG:
P: Si hago una base en una luna, ¿se reflejará mi base en los otros fragmentos en los que no estoy?
R: El equipo de Planet Tech planea implementar la creación de bases teniendo en cuenta los fragmentos de servidor. Reclamar tierra para su base reclamará esta tierra en todos los fragmentos, y planeamos replicar su base en todos los fragmentos. Sin embargo, solo un fragmento tendrá una versión "activa" de la base, y otros fragmentos generarán una versión de "acceso limitado/solo lectura" de esa misma base. Por ejemplo, una base dará acceso completo y la capacidad de expandirse en el fragmento en el que juega actualmente el propietario, mientras que en todos los demás fragmentos, esta base puede generarse con puertas cerradas en un estado inmutable. El diseño completo aún no está 100% establecido y puede cambiar.
Sobre los fragmentos en sí, su número y limitaciones propias, tenemos este ejemplo;
Comenzaremos con muchos fragmentos pequeños por región y reduciremos lentamente la cantidad de fragmentos. El primer objetivo principal será reducir esto a solo necesitar un fragmento por región. Para llegar allí, nuestro plan es aumentar gradualmente el número de jugadores por fragmento y mejorar constantemente el backend y la tecnología del cliente para admitir a más y más jugadores.
Como ejemplo de inventarios globales transmitidos entre fragmentos tenemos la idea de mantener una economía global:
La economía será global y se reflejará en cada fragmento... Si muchos jugadores comienzan a comprar un arma específica en la tienda de armas de Port Olisar, el precio de esa arma aumentará en esta tienda en todos los fragmentos. Finalmente, el inventario de esta arma se agotará, por lo que las tiendas de todos los fragmentos ya no podrán reponer esta arma.
De igual manera, CIG también aclara en el mismo artículo de la web como va a funcionar a grandes rasgos la persistencia total una vez completada su implementación:
P: ¿Tu personaje y tu nave estarán siempre en el juego cuando te hayas ido? es decir, si me desconecto de la cama de mi nave en un planeta, ¿mi nave seguirá allí, lo que significa que la gente podría intentar entrar o destruir mi nave?
R: Cuando una entidad se "desata" en un fragmento (existe físicamente en el fragmento), existe permanentemente dentro de ese fragmento hasta que el jugador "guarda" la entidad en un inventario. Esto se puede hacer tomando un arma y colocándola en su mochila, o aterrizando una nave en una plataforma de aterrizaje, lo que guardará la nave en un inventario específico de la plataforma de aterrizaje. Una vez que una entidad está dentro de un inventario, se almacena en la base de datos global y se puede desatar en cualquier fragmento. Esto permite a los jugadores mover elementos entre fragmentos. También planeamos una mecánica llamada 'Guardar/Desmontar objetos de héroe'. Esto tomará cualquier elemento de héroe propiedad del jugador y los guardará automáticamente en un inventario de transición de fragmentos específico del jugador. El almacenamiento automático generalmente ocurre cuando no hay otros jugadores alrededor y la entidad se transmite. Los elementos en este inventario de transición de fragmentos seguirán a un jugador automáticamente, por lo que cuando un jugador inicia sesión en un fragmento diferente, tomaremos entidades y las desmontaremos en el nuevo fragmento en la posición donde el jugador las dejó. Cuando aterrice su nave en una luna y cierre la sesión, la nave saldrá y se guardará automáticamente si no hay otros jugadores cerca en ese momento. Ahora, cuando inicies sesión en un fragmento diferente, tu nave se desatará en el nuevo fragmento. Si, por alguna razón, la nave permaneció más tiempo en el fragmento antiguo y se destruyó mientras se estaba desconectado, es posible que se despierte en una cama médica.
Tras la incorporación de la primera versión de la Persistencia a través del PES de la actual versión 3.18, vemos que la persistencia va a ser, obviamente, parcial a nivel de tiempo y fragmentos; un sistema de limpieza automático decidirá cada x tiempo que entidades son eliminadas en cada servidor. Más allá de esos, la persistencia de objetos sueltos como tal no podrá darse entre distintos fragmentos si no pertenecen a un inventario global específico que pueda moverlos entre fragmentos (y siempre que no sean antes "limpiados" por el servidor al no ser considerados como "importantes"). Es decir, ese "sueño" de Chris Roberts de "dejar una lata de refresco vacía en un bosque y, años después, volver y ver esa misma lata si nadie a interactuado con ella" simplemente no va a ser posible; indudablemente una lata en un bosque será eliminada a los pocos días por el sistema de limpieza de los servidores, y aunque no fuera así, a no ser que el bosque tenga su propio inventario que pueda almacenar la lata (cosa que es improbable) y con ello hacerla visible para todos los fragmentos, solo estaría disponible temporalmente en le fragmento original en la que se dejó en su momento.
Bueno, creo que ha quedado claro con estos ejemplos que, si logran un mallado y logran la persistencia, no van a ser las teóricas iniciales sino algo bastante más "mundano"... pero en todo caso, aunque parezca increíble, ese no es el verdadero tema que quiero traer ahora aquí.
Mi principal cuestión es; llevamos más de 10 años esperando este juego, y no por sus gráficos, el desarrollo de sus naves, localizaciones, mecánicas jugables, etc... no. Todas esas cosas van poco a poco (algunas más rápido, como el desarrollo de naves, y otras más lentas, como las localizaciones y las mecánicas jugables) simplemente porque no pueden avanzar más hasta que se logren los pilares. Aunque son muchas las cosas y localizaciones que se quieren implementar en el juego final, la realidad es que ese no es el motivo del tiempo de desarrollo que ya ha consumido SC... la realidad es que el tiempo de desarrollo se lo está llevando el tratar de crear con éxito ambas tecnologías descritas de mallado y persistencia. Si SC no tuviera como objetivo ambas tecnologías, y desde un inicio fuera el mismo MMO que pretende ser pero sin ese Mallado y sin esa Persistencia (obviamente sería muy distinto, pero es solo un suponer) obviamente en estos 10 años ya tendríamos muchiiiisimos más sistemas estelares, planetas, mecánicas, etc... podríamos incluso decir que el juego seguramente estaría ya hasta en la calle.
Y ahora, quiero dejar a un lado el hecho de que la Persistencia y el Mallado no van a ser lo prometido... quiero que imaginemos que sí, que CIG ha logrado exactamente esa Persistencia y Mallados inicialmente teorizados. Mi pregunta es la siguiente; ¿realmente merece la pena su implementación in-game?, es decir; lo especial y diferente que ambas tecnologías otorgan jugablemente in-game frente a lo que tenemos ya en el resto de juegos MMO normales del mercado, ¿realmente justifican el tiempo empleado en su desarrollo?
Pongamos como ejemplo cualquier Space Sim actual; vas en tu nave, esta explota por la acción de un pirata, y la nave revienta en mil pedazos, esparciendo las 5 toneladas de minerales que llevabas en la bahia de carga. Actualmente estos juegos lo que hacen es que dejan unos cuantos de restos de una nave "random" y dejan 5 contenedores de minerales flotando cerca que, si otro jugador del mismo servidor llega los puede recoger. Si nadie lo hace, eso desaparece, ni rastro, como si nunca hubiera existido. De igual manera, los juegos crean aleatoriamente eventos donde los jugadores pueden encontrar esos escenarios donde llegan y ven una nave destruida y cargamento libre alrededor.
Bien; en SC, si lograsen la persistencia y el mallado teóricos, realmente esos restos con ese cargamento estarían ahí eternamente... ¿y?, ¿tanto importan realmente que cuando un jugador llegue ahí y vea esos restos y cargamento realmente pertenezcan a un jugador real "x" que ahora está muerto y resucitado en otro punto de la galaxia, o que sean "falsos" y puestos aleatoriamente por el servidor de eventos y no pertenezcan a nadie "real"? ¿Tanto tanto tanto cambian la experiencia jugable como para merecer este esfuerzo titánico de dinero y tiempo?
Y también lo hago exagerando el tema; si un grupo de jugadores destruye una estación espacial (ojo, eso no iba a estar contemplado en SC ni siquiera desde un primer momento, pero es solo un ejemplo) pues esa estación deja de existir... muy guay. Pero, ¿que diferencia real a nivel de jugabilidad hay entre eso, y que sean los programadores quienes, tras la acción "x" de "y" grupo de jugadores, eliminen a mano para siempre dicha estación del juego tras el típico tick del servidor?
Ojo, que no dudo de que lo teórico de SC es mucho más chulo, pero mucho mucho más chulo, indudablemente. Pero, a parte de chulo y de poder otorgar ciertos momentos muy particulares donde puedan darse situaciones realmente curiosas e interesantes, ¿realmente tienen una implicación, jugablemente hablando, tan grande respecto a lo ya conocido como para todo esto que está sufriendo el desarrollo?
La gente lo flipa en la 3.18 porque en un contenedor de basura de una esquina de Area 18 hay 20 botellas de agua vacías dejadas por los jugadores de un servidor durante varios días... ¡¡¡persistenciaaaaa!!!... sí, una persistencia que será eliminada en pocos días (obviamente son objetos que solo molestan y que hacen explotar literalmente el servidor) y que, obviamente, jugablemente no sirve para absolutamente nada. Y si no hablo de un contenedor, sino de los restos de una nave de un jugador... ¿tanto cambia jugablemente?
Y sobre el tema del mallado, pues más de lo mismo; ¿tanto cambia jugablemente el tema de que estemos en un supuesto único servidor compartido de forma transparente y sin pantallas de carga, a lo que ofrecen realmente ahora los juegos MMO de servidores temporales en sesiones de juego temporales con pequeñas cargas de entidades y localizaciones? ¿Tanto cambia realmente la experiencia jugable para los jugadores? Actualmente, en cualquier MMO, te cruzas, interactúas y te enfrentas a suficientes jugadores, NPCs y enemigos como para no necesitar "millones" más de ellos que están en la otra punta del mapa en ese momento. Y si hablamos de batallas masivas o encuentros simultanemos de muchos jugadores, eso ya se ha logrado sin necesidad de este supuesto mallado que SC necesita sí o sí.
Y vuelvo a repetir, la teoría de SC (que no la realidad, que además vemos que, si finalmente llega a ser alguna, va a ser muy muy muy distinta a lo teorizado, y casí igual a lo que realmente ofrecen casi todos los MMOs actuales) es realmente chula... muy chula... pero claro... lo es, y merecería y mucho la pena, si de verdad la logras hacer, y además la logras hacer en un tiempo lógico. Entiendo que a la gente, de manera inicial y prometiendoselo en un espacio de tiempo "lógico", es decir, en 4, o 5 años, pues le hiciera una ilusión tremenda. Pero ahora mismo, yo, sinceramente, esperar 15 años para algo que, a la hora de la verdad, jugablemente no me va a ofrecer TANTO cambio con respecto a la estructura normal de un MMO actual... pues la verdad es que no lo veo, para que mentir.
Si alguien quisiera opinar, me encantaría ver otro punto de vista... porque tristemente, con el mio actual, simplemente es que ya no veo nada interesante en este enjambre de desarrollo.