Attention ! Gardez à l'esprit que cet article date de 2012, période où l'univers persistant de Star Citizen n'avait pas encore l'ampleur qu'on lui connait actuellement. Ne soyez donc pas surpris si Chris Roberts parle de certaines choses qui ne sont plus d'actualité ou qui ont fortement changées.
De plus, il semble évident que certaines décisions prises en 2012 ne sont plus trop d'actualité...
En particulier le fait de donner la possibilité au joueur de définir son orientation PVP/PVE, le fameux "slider PVE" n'est plus qu'un mythe et il est préférable de ne plus y croire. La notion de PVE/PVP sera dépendante de la présence policière du système, une présence entièrement autogérée par l'IA qui aura la charge de freiner les ardeurs des PVPiste les plus virulents de l'Univers Persistant.
Tout comme le concept de permettre à un joueur amis de prendre une place dans votre vaisseau qui reste plus que discutable mais encore de l'ordre du possible si l'on considère que le joueur viendrait occuper la place d'un PNJ que vous aurez préalablement recruté.
Le Multijoueur, le Joueur Solo et l'Instanciation, par Chris Roberts
Je suis très sollicité sur le fonctionnement de l'univers persistant et sur ce que je veux dire quand je parle d'instances de combat.
J'ai donné quelques réponses, mais comme la question revient souvent, j'ai pensé qu'il serait bon de vous donner une description plus longue de la façon dont tout cela fonctionne et s'imbrique.
L'un de mes objectifs avec Star Citizen était de créer un immense monde ouvert dans lequel vous pourriez vous aventurer en solo, avec vos amis, en vous mêlant aux PNJ et à d'autres personnes réelles.
Freelancer a été conçu pour accueillir jusqu'à 128 joueurs en multijoueur, mais comme certains d'entre vous le savent, il s'agissait plus d'un maximum théorique que de quelque chose de vraiment pratique, surtout à l'époque, en 2003. Lorsque j'ai commencé à construire Freelancer, inspiré en partie par le travail effectué sur Ultima Online (qui était en développement lorsque j'étais encore chez Origin), le plaisir que j'avais à jouer à des jeux multijoueurs comme Command & Conquer et Diablo, j'ai voulu apporter l'expérience Privateer dans le nouveau monde audacieux du multijoueur. Ma vision initiale pour Freelancer était de sortir d'abord un jeu solo, puis une version massivement multijoueur avec une économie dynamique et un monde qui réagissait et s'adaptait aux actions des joueurs.
Je n'ai pas eu l'occasion de concrétiser cette vision et finalement, même si Freelancer était un bon jeu, il n'a pas atteint les objectifs que je m'étais fixés.
Avec Star Citizen, j'étais déterminé à combiner ce que je voulais réaliser avec Freelancer, avec l'expérience personnelle qui, je pense, était si forte dans Wing Commander et Privateer.
Mais étant donné que je suis moi, je voulais combiner les choses que j'aime dans la promesse d'un MMO, tout en évitant les aspects qui ne me plaisent pas, comme les groupes de joueurs éclatés, le griefing et le grinding. J'ai également été très impressionné par la façon dont Demon's Souls a fusionné l'expérience solo et l'aspect multijoueur.
Tout cela m'a aidé à réfléchir à la façon dont Star Citizen va équilibrer le difficile équilibre entre le multijoueur et le joueur unique.
Tous les jeux multijoueurs - qu'il s'agisse d'un jeu massivement multijoueur (MMO) à monde persistant comme World of Warcraft ou d'un simple jeu multijoueur en ligne comme Battlefield 3 - ont une limite au nombre de joueurs pouvant être actifs dans une zone ou à un niveau donné. Ce nombre est généralement inversement proportionnel à la quantité de données devant transiter entre le client et le serveur. Pour un jeu avec une physique complexe et un terrain entièrement destructible, comme Battlefield 3, le nombre de joueurs pouvant être actifs dans une instance est inférieur à celui d'un jeu moins fidèle au temps réel comme WoW, ou Eve on Line. Mais dans tous les cas, il y a toujours plus de joueurs que ce qu'une instance de serveur peut gérer. Pour un monde multijoueur persistant comme WoW, la solution consiste à diviser la base de joueurs en groupes plus faciles à gérer, appelés "shards", qui sont des instances permanentes de l'univers qui s'occupent d'un certain nombre de joueurs.
Une chose que je n'aime pas dans la plupart des structures de MMO est la fragmentation de la base de joueurs entre ces "shards". Si vous avez rejoint le jeu beaucoup plus tard qu'un de vos amis, il se peut qu'il n'y ait plus de place dans son instance mondiale et que vous deviez rejoindre une autre instance parallèle, ce qui vous empêchera de jouer ensemble. C'est l'un des aspects positifs de la conception d'Eve Online : tout le monde joue dans le même univers.
Dans Star Citizen, il y aura un serveur d'univers persistant sur lequel tout le monde évoluera. Vous ne serez donc jamais séparé de vos amis, et si vous le souhaitez, vous pourrez les rejoindre et partir à l'aventure ensemble, c'est possible. En raison de la fidélité des combats aériens et de la simulation physique, nous ne pouvons cependant pas gérer des milliers de joueurs dans la même zone de l'espace. Même si vous disposiez d'une bande passante Internet suffisante pour gérer les échanges de données et d'un super ordinateur pour le serveur, aucun PC, même avec un quadruple SLI, ne pourrait reproduire autant de vaisseaux spatiaux avec la fidélité de Star Citizen.
La "magie" de la conception multijoueur de Star Citizen réside donc dans la combinaison d'un univers persistant et d'une instance de "bataille" multijoueur temporaire plus traditionnelle (et plus facile à mettre en œuvre).
Le serveur de l'univers persistant, que nous appelons le serveur Galaxy, garde la trace de tous les actifs des joueurs, des relations de groupe et des emplacements dans l'univers de Star Citizen. Comme le serveur Galaxy ne gère aucune action en temps réel, il peut gérer l'ensemble de notre base de joueurs, soit environ 45 000 joueurs à l'heure actuelle, mais il est conçu pour pouvoir évoluer jusqu'à des millions de joueurs si nécessaire. L'autre fonction clé du serveur Galaxy est de répartir dynamiquement les joueurs en fonction de leur emplacement, de leur niveau de compétence, de leur alignement et de leurs préférences en matière de JcJ dans des instances de combat. Imaginez une instance de "bataille" comme une session multijoueur de Battlefield 3 ou une bataille de World of Tanks, à la différence près que la sélection des joueurs se fait de manière transparente et "dans la fiction".
Voici une illustration de la façon dont cela fonctionnerait :
Je commence sur la planète New Pittsburg. Je décide d'acheter quelques tonnes d'acier pour les envoyer aux chantiers navals de Terra. Je suis actuellement entre les mains du serveur Galaxy qui communique avec mon client et gère mes achats et mes interactions sur la planète, car ceux-ci ne sont pas en temps réel comme le sont les actions dans l'espace. Nous les rendons à la manière de Freelancer, sous forme d'environnements 3D détaillés où nous voyons une vue à la troisième personne de notre personnage dans un endroit et où nous pouvons cliquer sur des personnages non joueurs (PNJ) ou des terminaux pour acheter/vendre, améliorer notre vaisseau, obtenir des ragots, entendre parler d'une mission et ainsi de suite. Vous pourrez également interagir avec d'autres joueurs via une interface de chat. Nous n'avons pas encore complètement mis au point la gestion de l'avatar du joueur sur la planète, mais le bar ou les clubs privés seront les endroits où vous pourrez rencontrer d'autres joueurs et discuter avec eux. En plus de remplir le bar avec des PNJ, le jeu remplira également le bar avec d'autres joueurs. S'il y a plus de joueurs sur la planète qu'il n'y a d'emplacements pour les avatars dans le bar, ceux qui seront visibles pour vous seront basés sur votre liste d'amis, puis sur leur pertinence pour vous - un joueur qui cherche un coéquipier, un joueur d'un groupe similaire, ou peut-être quelqu'un qui vous a donné une mission ou une chasse à accomplir. Vous pourrez également voir la liste complète des joueurs dans la salle s'il y a plus de joueurs que d'emplacements. Par défaut, il s'agira d'une liste déroulante, mais comme je déteste tout ce qui rompt l'immersion, nous trouverons probablement un meilleur moyen de voir la liste des joueurs dans la fiction - peut-être direz-vous au barman qui vous cherchez, peut-être pourrez-vous consulter le registre du bar.
Après avoir acheté ma cargaison, je me lance dans l'espace. S'il y a déjà des joueurs en orbite, une instance d'orbite sera déjà créée. Si elle n'est pas pleine, je serai placé dans cette instance. Si elle est pleine, une nouvelle instance sera créée dynamiquement. Toutes les instances d'orbite (et de bataille) réservent des emplacements pour les amis et les personnes d'intérêt (POI), qui peuvent être des PNJ ou d'autres joueurs, donc si vous avez été déployé et qu'il y a plusieurs instances d'orbite et que vous avez des amis déjà en orbite, vous devriez être placé dans cette instance. C'est également la dynamique qui sera appliquée si vous souhaitez suivre un autre joueur - vous pouvez le "taguer" en tant que POI et le jeu fera alors de son mieux pour vous placer dans la même instance que votre POI. Par exemple, si vous avez marqué quelqu'un du côté de la planète et qu'il décolle, votre PDA, avec sa future version de Siri, vous avertira que votre POI s'en va, ce qui vous donnera l'occasion de vous lancer dans l'espace.
Une fois en orbite, je peux ouvrir mon ordinateur de navigation et me diriger vers ma destination. S'il s'agit de plusieurs systèmes éloignés, comme Terra, l'ordinateur de navigation tracera une trajectoire à travers les points de saut appropriés. Si vous cliquez sur un autre point de saut sur la carte du système, il vous redirigera sur le chemin le plus court vers votre destination, avec ce point de saut comme premier "saut".
Une fois que j'ai tracé ma trajectoire de navigation, j'enclenche le pilote automatique et je me dirige vers mon premier point de passage sur le chemin de ma destination (un point de saut, un élément spatial intermédiaire, comme une ceinture d'astéroïdes et ainsi de suite). À ce stade, j'ai été renvoyé au serveur Galaxy, qui détermine si je vais rencontrer un hostile, quelqu'un qui m'a marqué comme POI, ou une rencontre prédéterminée sur le chemin, ou si je vais tomber sur une instance de combat en cours qui me concerne (certains membres de l'instance étant alignés contre ou avec moi). Ces rencontres peuvent avoir lieu avec un PNJ ou un joueur vivant et sont classées par niveau de compétence et aussi - ce qui est important pour tous ceux d'entre vous qui aiment une expérience plus solo et ne veulent pas avoir affaire à des griefers - en fonction de vos préférences en matière de joueurs contre joueurs (PvP). Ainsi, si vous avez réglé vos paramètres de jeu sur un faible niveau de JcJ et que vous vous trouvez dans une zone relativement sûre, vous rencontrerez probablement un PNJ (JcE) plutôt qu'un JcJ. Bien sûr, votre classement et la réputation que vous gagnez ne seront pas les mêmes si vous rencontrez un JcE ou un JcJ. J'espère que cette dynamique permettra aux joueurs de commencer à jouer à Star Citizen dans un monde ouvert plus sûr, mais qu'au fur et à mesure qu'ils prendront de l'assurance et voudront se mesurer à d'autres joueurs réels, ils pourront enlever la bride sur le cou et se lancer dans des batailles avec de vrais joueurs. Il y aura également des zones de l'univers qui, quelle que soit la configuration JcJ, seront JcJ. Il s'agira de systèmes situés en marge de la galaxie surveillée et réputés pour la présence de pirates et d'autres activités illégales. Ce seront également les zones les plus lucratives - si vous pouvez survivre.
Si vous volez avec vos amis, que vous pouvez contacter via le système de "marquage" des points d'intérêt du jeu, ils seront avec vous lorsque vous serez entraîné dans une instance de combat, que ce soit contre des PNJ, des joueurs réels ou une combinaison des deux.
Une fois que le serveur Galaxy a déterminé que vous allez rencontrer un joueur sur la base des critères ci-dessus, il crée dynamiquement une instance de combat, ou vous place dans une instance s'il en existe déjà une au point de rencontre, et que cette instance a de la place pour de nouveaux joueurs. Pour sortir de cette instance, vous devez résoudre les hostilités en battant ceux qui vous prennent pour cible, en négociant une sortie ou en les distançant. Une fois dans une instance, vous pouvez lancer un appel de détresse à vos amis. Les personnes de votre liste d'amis (ou de votre escadron comme nous allons l'appeler) peuvent vous aider de deux façons. Nous réservons des emplacements dans toutes les instances pour que vos amis puissent se téléporter pour combattre. Pour cela, ils doivent se trouver dans le même système. S'ils le sont, ils peuvent se téléporter à votre secours et seront déposés dans l'instance. S'ils ne sont pas dans le système stellaire, s'ils peuvent se rendre dans votre système avant la fin de la bataille, ils peuvent vous rejoindre (mais ils ne pourront le faire qu'une fois qu'ils auront atteint votre système). La deuxième façon pour vos amis de vous aider est de "tomber" sur votre vaisseau. Cela ne fonctionne que s'il s'agit d'un véhicule multiposte comme le Constellation de RSI. Dans ce scénario, ils n'ont pas besoin d'être dans votre système, ils se contentent d'entrer dans votre vaisseau et peuvent se déplacer à la première personne, en grimpant dans une tourelle ou en sautant dans votre P52 pour le piloter au combat pendant que vous pilotez le vaisseau principal (ou ils peuvent piloter votre vaisseau principal et vous le chasseur).
Une fois que les hostilités ou l'événement (parfois, vous pouvez être entraîné dans une instance parce que vous êtes tombé sur un vaisseau ou une station spatiale abandonnée et nous voulons donner au joueur une chance d'explorer) qui a déclenché l'abandon du pilotage automatique a été résolu, vous pouvez à nouveau activer le pilotage automatique, être renvoyé au serveur Galaxy et poursuivre votre route sur la trajectoire de navigation que vous avez tracée.
Vous quitterez toujours le système aux points de saut et sur les planètes, où vous devrez soit faire un saut vers un autre système, soit atterrir.
Ce processus se poursuit jusqu'à ce que vous atteigniez votre destination finale, qui dans mon exemple serait Terra, où j'utiliserais mon système de communication pour négocier un créneau d'atterrissage, ce qui m'amènerait à la surface de la planète par le biais d'une cinématique dans le moteur. Une fois sur la planète, je pourrai vendre ma cargaison, me réapprovisionner et chercher de nouvelles opportunités via l'interface à la troisième personne de la planète.
L'avantage de ce système est qu'il vous permet d'adapter votre expérience à vos préférences - en solo, en coopération ou en PvP. Il ne vous divise pas non plus en différentes versions parallèles de l'univers de Star Citizen, puisque tout le monde reste sur le serveur persistant. Parce que nos instances de combat, d'orbite ou d'espace sont temporaires, vous n'êtes jamais coincé avec un seul groupe sur le long terme et grâce à l'importance que nous accordons aux amis et à la coopération, il y aura toujours de la place pour que vos amis vous rejoignent dans votre aventure, que ce soit contre d'autres joueurs ou contre des PNJ.
Le même système d'instance est à la base du jeu solo Squadron 42. Si vous jouez hors ligne, votre ordinateur fera office de serveur et de client, il n'y aura aucune possibilité pour vos amis de vous rejoindre et tout le monde sera un PNJ. Mais si vous jouez à Squadron 42 via le serveur Galaxy, même si vos missions et vos zones spatiales sont prédéterminées (vous ne pouvez pas choisir où vous volez dans la galaxie si vous êtes dans l'armée), nous permettrons à vos amis d'entrer ou de sortir pour prendre la place d'un ailier PNJ et si vous voulez un meilleur classement des compétences, vous pouvez permettre à d'autres joueurs d'entrer et de prendre la place d'un as de l'ennemi. Ce système est assez similaire à celui de Demon's Souls, où les gens peuvent venir en tant que Blue Phantom pour vous aider à tuer un boss ou à combattre un autre joueur envahissant, ou vous pouvez venir en tant que Black Phantom dans le monde de quelqu'un d'autre et essayer de le tuer pour obtenir de l'XP et d'autres récompenses de jeu.
La clé de tout cela est de laisser le choix au joueur : si vous voulez jouer seul, c'est possible, si vous voulez que vos amis vous rejoignent en coopération, c'est possible, et si vous voulez être défié par d'autres joueurs réels, c'est possible. La particularité est que tout cela peut se dérouler dans le même univers holistique.
J'espère que cela vous aidera à comprendre comment nous équilibrons les aspects du multijoueur et comment nous rendons le jeu amusant.
-- Chris Roberts, Multiplayer, Single Player and Instancing