Ingeniería: Un Solo jugador, Multijugador e Instancias

¡Hola a todos!

Recibo un montón de preguntas sobre cómo funciona el universo persistente y que quiero decir cuando hablo de instancias de batalla.

Ya he dado algunas respuestas pero como el tema sigue planteándose, pensé que sería bueno daros a todos una descripción más detallada de cómo funciona y cómo encaja todo.

Uno de mis objetivos con Star Citizen era crear un inmenso mundo abierto en el que uno pueda aventurarse solo, con amigos, interactuando con PNJs y gente real.

FreelancerCoverBoxArtFreelancer fue hecho para tener hasta 128 jugadores en multijugador, pero como algunos de vosotros sabéis ese era más un límite teórico que algo realmente práctico, en particular allá por el 2003. Cuando empezamos a desarrollar Freelancer, en parte inspirado por el trabajo hecho en Ultima Online (el cual fue desarrollado cuando yo todavía trabajaba en Origin) y lo que me estaba divirtiendo jugando a juegos multijugador como Command & Conquer y Diablo I, quise llevar la experiencia de Privateer al atrevido nuevo mundo del multijugador. Mi visión original para Freelancer era publicar primero un juego individual al que le siguiera una versión multijugador masiva con una economía dinámica y un mundo que reaccionara y se adaptara a las acciones de los jugadores.

No tuve la oportunidad de completar esta visión y en última instancia, aunque Freelancer fue un buen juego, se quedó corto respecto a lo que pretendía.

Con Star Citizen estaba decidido a combinar lo conseguido con Freelancer, con la experiencia personal de la cual tanto se beneficiaban Wing Commander y Privateer.

Pero siendo yo, quería combinar las cosas que me gustan de lo que promete un MMO pero evitando aquellos aspectos de los que no soy tan fan como los grupos de jugadores escindidos, el “griefing” y el “grindeo”. También me impresionó realmente cómo Demon’s Souls fusionó la experiencia individual con la parte multijugador.


Todo esto ayudó a formar mi idea de cómo Star Citizen iba a equilibrar el difícil balance entre multijugador y el juego solitario.

Todos los juegos multijugador – ya sean un juego multi-jugador con un masivo mundo persistente (MMO) como World of Warcraft o simplemente un juego online multi-jugador como Battlefield 3 - tienen un límite al número de jugadores que pueden estar activos en un área o nivel. Este número es normalmente inversamente proporcional a la cantidad de información que se necesita mover entre el cliente y el servidor. Para un juego con físicas complejas y con entorno completamente destruíble, como Battlefield 3, el número de jugadores activos en una instancia es inferior al de un juego con menos fidelidad en tiempo real. como World of Warcraft o EVE Online. Pero en todos estos casos hay siempre más jugadores de los que cualquier instancia del servidor puede manejar. Para un mundo multijugador persistente como WoW la solución es dividir la base de jugadores en grupos mucho más manejables denominados “shards”*, los cuales son una instancia permanente del universo que alberga una cierta cantidad de jugadores.

Una cosa que no me gusta de la estructura de la mayoría de MMOs es la fragmentación de la base de jugadores en estos “shards”. Si tú te has unido al juego mucho más tarde que un amigo tuyo, podría no haber sitio en su instancia del mundo y tendrías que entrar en otra paralela y por tanto no podéis jugar juntos. Esta es una de las cosas buenas del diseño de EVE Online: todo el mundo juega en el mismo universo.

En Star Citizen va a haber un servidor del universo persistente en el que estará todo el mundo. Así que nunca estarás separado de tus amigos y si quieres unirte a ellos y tener una aventura juntos, puedes. Debido a la fidelidad de los combates y la simulación de físicas no podemos manejar miles de jugadores en la misma zona del espacio. Incluso si tú tienes internet con suficiente ancho de banda para gestionar el tráfico de datos y una super-computadora para el servidor, no hay PC, incluso con un Quad-SLI, que pueda renderizar tantas naves espaciales con la fidelidad visual de Star Citizen.

Así que la “magia” del diseño multijugador de Star Citizen reside en cómo combinamos el universo persistente con una instancia “de combate” multijugador temporal más tradicional (y más fácil de implementar).

La forma en que funciona consiste en que el servidor del universo persistente, el cual llamamos Servidor de la Galaxia, mantiene un registro de las posesiones de todos los jugadores, relaciones de grupos, y su localización dentro del universo Star Citizen. Como el Servidor de la Galaxia no gestiona ninguna acción en tiempo real puede manejar la totalidad de nuestra base de jugadores, la cual, ahora mismo, es de 45.000 jugadores, pero está diseñada para poder escalar hasta cifras de millones si fuera necesario. La otra tarea clave que realiza el Servidor de la Galaxia es colocar dinámicamente a los jugadores en base a su localización, nivel de habilidad, alineamiento, y preferencias jugador contra jugador (PvP) en instancias de combate. Pensad en la instancia “de combate” como en una sesión multijugador de combate Battlefield 3 o de World of Tanks con la diferencia fundamental de que la selección de los jugadores se realiza de forma transparente y “en la ficción”.


Un ejemplo de cómo esto podría funcionar es similar a esto:

Empiezo en el planeta New Pittsburg. Decido comprar unas cuantas toneladas de acero y llevarlas a los astilleros de Terra. En este momento estoy en manos del Servidor de la Galaxia que se comunica con mi cliente y gestiona mis compras y mis interacciones en el planeta pues estas no son acciones en tiempo real como las de la acción en el espacio. Renderizamos estas al modo de Freelancer, como ambientaciones 3D detalladas en las que vemos a nuestro personaje en tercera persona en un determinado lugar y podemos hacer clic sobre Personajes No Jugadores(PNJs) o terminales para comprar/vender, mejorar nuestra nave, escuchar rumores, detalles de una misión, y así sucesivamente. También podrás interactuar con otros jugadores a través de un chat. Aún no hemos desarrollado completamente la parte de la acción planetaria del avatar pero el bar o clubs privados serán donde podrás encontrar a/chatear con otros jugadores. Además de poblar el bar con PNJs, el juego también los poblará con otros jugadores. Si hay más jugadores en el planeta que espacios para avatares en el bar, los que serán visibles se toman de tu lista de amigos y luego por criterio de relevancia para ti: un jugador que busca un compañero de ala, uno de un grupo similar, o quizás alguien que te ha sido asignado como misión para encontrar o cazar. También podrás ver la lista completa de jugadores en la estancia si hay más jugadores que espacios. Por defecto para esto se usará una lista desplegable, pero como odio cualquier cosa que rompa la inmersión probablemente idearemos algo mejor en línea con la ficción para ver la lista de jugadores (tal vez le dices al camarero a quién buscas, tal vez puedas mirar la lista en la puerta del bar).

Comprado el cargamento, despego hacia el espacio. Si ya hay jugadores en órbita habrá una instancia de la órbita ya creada. Si no está llena entonces seré puesto en esa instancia. Si está llena se creará dinámicamente una nueva. Todas las instancias orbitales (y de combate) reservan espacios para amigos y personas de interés (POI), las cuales pueden ser PNJs u otros jugadores, a sí que si despegas y hay múltiples instancias orbitales y tienes amigos ya en órbita deberías ser colocado en esa misma instancia. Esta es también la dinámica que se aplicará si quieres seguir a otros jugadores: puedes “marcarlos” como POI (personas de interés) y entonces el juego procurará ponerte en la misma instancia que tu POI. En cambio si has marcado a alguien en el planeta y despega, tu PDA con su futura versión de Siri, te notificará que tu POI se marcha, dándote una ventana para poder despegue hacia el espacio también.

Una vez en órbita puedo activar mi Computadora de Navegación y establecer una ruta hacia mi destino. Si se encuentra a varios sistemas de distancia como Terra, la computadora creará una ruta a través de los puntos de salto relevantes. Podrás ajustar esta función como en Google maps, de modo que si haces clic en un punto de salto diferente re-calculará la ruta más corta a tu destino con ese punto como el primer “salto”.

Una vez establecida la ruta de navegación entonces activaría el piloto automático hacia mi primer “punto de ruta” en el camino a mi destino (un punto de salto, un punto de interés en el espacio como un cinturón de asteroides y así sucesivamente). En este momento estoy de nuevo en manos del Servidor de la Galaxia, el cual está determinando si me encontraré con algún hostil, alguien me ha marcado como POI, o hay un encuentro predeterminado en la ruta, o si me tropiezo con una instancia de combate en curso que es relevante para mi (algunos miembros de la instancia están alineados conmigo o contra mi). Estos encuentros pueden ser con PNJs o con jugadores y se establecen en función del grado de habilidad y también en tus preferencias jugador versus jugador (PvP), lo que es importante para todos aquellos de vosotros que les gusta más una experiencia de juego individual y no queréis lidiar con abusones. Así que si has puesto tu marcador de nivel de PvP bajo y te encuentras en un área del espacio relativamente segura, es más probable que tengas un encuentro con un PNJ (PvE) que uno con un jugador (PvP). Por supuesto, el rango y cualquier reputación que consigas no serán las mismas con un encuentro PvE que con uno PvP. Lo que espero de esta dinámica es que permita a los jugadores disfrutar en primer lugar de Star Citizen de forma individual en un mundo abierto más seguro, pero según vayan ganando confianza y quieran probarse contra otros jugadores se puedan quitar los ruedines y entrar en combate con jugadores reales. También habrá áreas del universo en las que no importe cual es tu preferencia PvP, está siempre será PvP. Estos serán sistemas en los límites de la galaxia civilizada y serán notorios por la piratería y otras actividades ilegales. También serán las áreas más lucrativas… si puedes sobrevivir en ellas.

Si estás volando con tus amigos, con los que puedes estar en contacto mediante el sistema POI  del juego, estarán contigo cuando seas arrastrado a una instancia de combate, ya sea contra PNJs, jugadores reales, o una combinación de ambos.

Una vez que el Servidor de la Galaxia ha determinado que tendrás un encuentro en función de los criterios arriba descritos, bien creará dinámicamente una instancia de combate, o bien te pondrá en una si ya existe en el punto de encuentro y esa instancia tiene espacio para nuevos jugadores. Para salir de esta instancia bien tienes que solucionar las hostilidades derrotando a quien te coja como objetivo, bien negociando una salida, o simplemente corriendo más que ellos. Una vez en la instancia puedes lanzar una llamada de socorro a tus amigos. Hay dos formas en las que la gente en tu lista de amigos (o del escuadrón tal y como lo vamos a llamar) te pueden ayudar. Reservamos espacio en todas las instancias para que los amigos puedan unirse a ti. Para hacer esto, tienen que estar en el mismo sistema y podrán volar en piloto automático para rescatarte en tu posición, donde aparecerán en tu instancia. Si no están el sistema estelar, si pueden llegar a tu sistema antes de que la batalla termine entonces podrán unirse (pero sólo se podrán unir una vez han llegado a tu sistema).
La segunda forma es “uniéndose” a tu tripulación. Esto sólo funciona en naves multipersona como la Constellation de RSI. En este caso no necesitan estar en tu sistema, simplemente entrarán en tu nave y se podrán mover por su interior en primera persona, subirse a una torreta, o sentarse en tu P-52 para ir al combate mientras tu pilotas la nave principal (o pueden pilotar la nave y tú el caza).

Una vez que las hostilidades o el evento (a veces serán arrastrado a una instancia pues te has tropezado con el pecio de una nave o una estación espacial y queremos dar al jugador la oportunidad de explorarlo) que provocó la salida del modo piloto automático ha sido resuelta, puedes retomar el piloto automático, y volver a ser gestionado por el Servidor de la Galaxia y seguir la ruta que estableciste.

Siempre saldrás del modo piloto automático en los puntos de salto y en los planetas, en los que tendrás que hacer un salto hacia otro sistema o aterrizar.

Este proceso se repite hasta que alcanzas tu destino final, el cual en mi ejemplo sería Terra, donde usaría mi sistema de comunicaciones para negociar una posición en la lista de aterrizaje, la cual me llevaría a la superficie del planeta a través de una cinemática. Ya en el planeta podré vender mi cargamento, re-abastecerme de suministros y buscar nuevas oportunidades a través de la interfaz en tercera persona del planeta.


La ventaja de este sistema es que te permite confeccionar tu experiencia en función de tus preferencias: juego en solitario, cooperativo y Jugador contra Jugador. Tampoco te segrega en diferentes versiones paralelas del universo Star Citizen ya que todo el mundo es albergado en el mismo servidor persistente. Puesto que nuestras instancias de combate/orbitales del espacio son temporales nunca estarás pegado al mismo grupo a largo plazo y debido a nuestro gran énfasis en los amigos y el cooperativo siempre habrá espacio para que tus amigos se unan a ti en tu aventura; ya sea contra otros jugadores o PNJs.

El mismo sistema de instancias rige la campaña individual Escuadrón 42. Si estás jugando off-line, tu computadora funcionará como servidor y cliente a la vez, pero no habrá lugar para que tus amigos se unan y todo el mundo será PNJs. Pero si juegas a Escuadrón 42 a través del Servidor de la Galaxia, aunque tus misiones y las zonas del espacio están predeterminadas (no tienes que escoger a dónde volar en la galaxia si eres militar) permitiremos a tus amigos entrar/salir para tomar el lugar de un ala PNJ, y si quieres aumentar todavía más tu clasificación de habilidad puedes permitir que otros jugadores entren y ocupen el lugar de un as PNJ enemigo. Este sistema es muy similar al de Demon’s Souls en el que la gente puede encarnar a un Blue Phantom para ayudarte a matar un monstruo jefe o combatir a un jugador invasor, o podrías encarnar a un Black Phantom en el mundo de otros y tratar de matarles a cambio de XP y otras recompensas del juego.

La clave de todo esto es dar a los jugadores opciones - si quieres jugar solo puedes hacerlo, si quieres que tus amigos se unan a ti para juego cooperativo lo permitiremos, y si quieres ser desafiado por otros jugadores podrás. La parte especial es que todo ello puede suceder en el mismo universo holístico.

Espero que esto ayude a comprender cómo estamos equilibrando los aspectos multi-jugador, así como haciendo que el juego sea divertido.

Notas de Traducción
Shards: fragmentos de la misma realidad, un término creado por la ambientación del EverQuest para justificar esta limitación tecnológica de tener múltiples copias del mismo mundo

Original.

Dejar una Respuesta

Su dirección de email no sera publicada. Los campos obligatorios están señalados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>