Chris Roberts on Multiplayer, Single Player and Instancing

Undefined Undefined Design Post

Content

English
Hi everyone!

I get a lot of questions about how the whole persistent universe works and what I mean when I talk about battle instances.

I’ve given some answers but as it keeps coming up, I thought it would be good to give all of you a longer description in how this all works and fits together.

One of my goals with Star Citizen was to create a huge open world that you could adventure in solo, with your friends, mingling with NPCs and other real people.

Freelancer was built to have up to 128 players in multiplayer, but as a few of you know that was more a theoretical maximum than something that was really practical, especially back in 2003. When I started building Freelancer, partly inspired by the work done on Ultima Online (which was in development when I was still at Origin), the fun I was having playing multiplayer games like Command & Conquer and Diablo I had wanted to bring the Privateer experience into the bold new world of multiplayer. My original vision for Freelancer was to first release a single player game and then follow it up with massively multiplayer version with a dynamic economy and a world that reacted and adapted to the players actions.

I didn’t get a chance to deliver this vision and ultimately while Freelancer was a good game, it fell short of what I was aiming for.

With Star Citizen I was determined to combine what I wanted to achieve with Freelancer, with the personal experience that I think both Wing Commander and Privateer were so strong with.

But me being me, I wanted to combine things I like about the promise of a MMO, but avoid the aspects that I’m not so keen on like splintered player groups, griefing and grinding. I also was really impressed with how Demon’s Souls merged the single player experience with the multiplayer side.

All of this helped form my thinking on how Star Citizen is going to balance the difficult balancing act between multiplayer and single player.

All multiplayer games – whether they are a persistent world massively multiplayer game (MMO) like World of Warcraft or just an online multiplayer game like Battlefield 3 – have a limit to the number of players that can be active in anyone area or level. This number is usually inversely proportional to the amount of data that needs to go between the client and the server. For a game with complex physics and a fully destructible terrain, like Battlefield 3 the number of players that can active in an instance is less than a game with less real time fidelity like WoW, or Eve on Line. But in all cases there are always more players than any one server instance can handle. For a persistent multiplayer world like WoW the solution is to split up the player base into more manageable groups called “shards”, which are a permanent instance of the universe that look after a certain amount of players.

One thing I don’t like about most MMO structures is the fragmentation of the player base between these “shards”. If you had joined much later than a friend of yours, there may not be room on his world instance anymore and you have to join another parallel one and so cannot play together. This is one of the nice things about the Eve Online design – everyone plays in the same universe.

In Star Citizen there is going to be one persistent universe server that everyone exists on. So you will never be separated from your friends, and if you want you’ll be able to join up and adventure together, you can. Due to the fidelity of the dogfighting and physics simulation we can’t however handle thousands of players in the same area of space. Even if you had enough internet bandwidth to handle the data going back and forth and a super computer for the server there’s no PC, even with quad SLI that could render that many spaceships with Star Citizen’s fidelity.

So the “magic” of Star Citizen’s multiplayer design is how we combine a persistent universe with a more traditional (and easier to implement) temporary multiplayer “battle” instance.

The way it works is that the persistent universe server, which we’re calling the Galaxy Server, keeps track of all players’ assets, group relationships and locations inside the Star Citizen universe. As the Galaxy server isn’t handling any realtime action it can handle our complete player base, which right now would be about 45,000 players, but is designed to be able to scale to millions if need be. The other key thing the Galaxy Server does is dynamically place players based on their location, skill level, alignment and player versus player (PvP) preference into battle instances. Think of a “battle” instance like a Battlefield 3 multiplayer session or a World of Tanks Battle with the key difference that the selection of players is done transparently and is “in fiction”.

An illustration of how this would work is like this –

I start out planet side on New Pittsburg. I decide to buy a few tonnes of steel to fly to the shipyards of Terra. I’m currently in the hands of the galaxy server that communicates with my client and handles my purchases and interactions on the planet as these are not real time in the manner that the space action is. We render these in the manner of Freelancer, as detailed 3D environments where we see a third person view of our character in a location and we can click on Non Player Characters (NPCs) or terminals to buy / sell, upgrade your ship, get gossip, hear about a mission and so on. You’ll also be able to interact with other players via a chat interface. We haven’t fully worked out the player avatar handling planet side but the bar or private clubs will be where you can meet / chat to other players. Besides populating the bar with NPCs, the game will also populate the bar with other players. If there are more players planet side than there are slots of avatars in the bar the ones visible to you will be based off your friends list and then it will be based on relevance to you – a player looking for a wingman, one from a similar group, or maybe someone that you’ve been given a mission to find or hunt down. You will also be able to see the full list of players in the room if there are more players than there are slots. Default would be a drop down list for this, but as I hate anything that breaks the immersion, we’ll probably come up with a better in fiction way of seeing the list of players – maybe you tell the bartender who you’re looking for, maybe you can look at the door list for the bar.

Having bought my cargo I launch into space. If there are players already in orbit there will be an orbit instance already created. If it’s not full then I will be placed into that. If it is full then a new one will be dynamically created. All orbit (and battle) instances reserve slots for friends and persons of interest (POI), which can be NPCs or other players, so if you’ve launched and there are multiple orbit instances and you have friends already in orbit you should be placed into that instance. This is also the dynamic that will be applied if you want to follow another player – you can “tag” them as a POI and then the game will do its best to place you in the same instance as your POI. For instance if you tagged someone planet side and they launch your PDA with its future version of Siri will notify you that your POI is leaving, giving you a window to launch into space too.

Once in orbit I can pull up my Navigation computer and set a course for my destination. If its several systems away like Terra, the nav computer will chart a course through the relevant jump points. You will be able to adjust this like on Google maps, so if you click a different jump point on the system map it will then re-route you on the shortest path to your destination with that jump point as the first “jump”.

Once I’ve plotted my nav course I would then engage auto-pilot and head towards my first “way” point on the path to my destination (a jump point, an interim space feature, like an asteroid belt and so on). At this point I’ve been handed back to the Galaxy Server, which is determining whether I will encounter a hostile, someone that has tagged me as a POI, or a predetermined encounter on the way, or if I’m going to run across ongoing battle instance that is relevant to me (some members of the instance are aligned against or with me). These encounters could be with an NPC or a live player(s) and are sorted on skill level and also – which is important to all of you that like a more single player experience and don’t want to deal with griefers – based on your player versus player (PvP) preference. So if you’ve set your game settings to be low PvP and you’re in a relatively safe area, you’ll likely have an NPC (PvE) encounter as opposed to a PvP one. Of course your ranking and any reputation you earn won’t be the same with a PvE encounter versus a PvP. My hope for this dynamic is that it will allow people to first play Star Citizen in a safer more single player open world style, but as they grow in confidence and want to test their mettle against other real players they can take the training wheels off and get into battles with real players. There will also be areas of the universe that no matter what your PvP setting is, will be PvP. These will be systems that are on the fringes of the policed galaxy and will be notorious for pirate and other illegal activity. They will also be the most lucrative areas – if you can survive.

Now if you’re flying with your friends, who you can link to via the game POI “tagging” system, they will be with you when you’re pulled into a battle instance, whether it is against NPCs, real players or a combination of both.

Once the Galaxy Server has determined that you will have an encounter based on the above criteria it either dynamically creates a battle instance, or puts you in one if one already exists at the encounter point, and that instance has room for new players. To exit this instance you either have to resolve the hostilities by defeating who’s targeting you, negotiating an exit or just outrunning them. Once in an instance you can put out a distress call to your friends. There are two ways people on your friends list (or squadron as we’re going to call it) can help. We save slots in all instances for friends to warp in to fight. To do this they need to be in the same system. If they are they can autopilot in to your rescue and will be dropped into the instance. If they’re not in the star system, if they can get to your system before the battle is over then they can join (but will only be able to join once they’ve reached your system). The second way for your friends to help out is by “dropping in” on your ship. This only works if it’s a multi person vehicle like the RSI Constellation. In this scenario they don’t need to be in your system, they just will drop in inside your ship and will be able to move around in first person, climbing into a turret to man it, or jumping in you P52 to fly it in combat while you fly the main ship (or they could fly your main ship and you pilot the fighter)

Once the hostilities or the event (sometimes you could be pulled into an instance because you came across a derelict ship or space station and we want to give the player a chance to explore) that triggered the drop out of auto-pilot has been resolved, you can hit auto-pilot again, get handed back to the Galaxy Server and go about your way on the nav course you’ve plotted.

You will always drop out at jump points and planets, where you will need to either make a jump to another system or land.

This process is continued until you reach your final destination, which in my example would be Terra, where I would use my comm system to negotiate a landing slot, which would take me down to the planet’s surface via an in-engine cinematic. Once planet side I’ll be able to sell my cargo, replenish my supplies and look for new opportunities via the third person planet side interface.

The advantage of this system is that is allows you to tailor your experience towards your preference – solo, co-op or full PvP. It also doesn’t partition you into different, parallel versions of the Star Citizen universe as everyone is kept on the persistent server. Because our battle or orbit / space instances are temporary, you’re never stuck with one group over the long term and due to our heavy emphasis on friends and co-op, there will always be room for your friends to join you on your adventure; whether it’s against other players or NPCs.

The same instance system underpins the single player Squadron 42. If you’re playing off-line, your computer will be acting as the server and client, there will be no opportunities for friends to join and everyone will be an NPC. But if you play Squadron 42 through the Galaxy Server, even though your missions and space areas are pre-determined (you don’t get to pick where in the galaxy you are flying if you’re in the military) we will allow your friends to drop in / drop out to take over NPC wingmen and if you want extra skill ranking you can allow other players to drop in and take over enemy ace characters. This system is pretty similar to the Demon’s Souls setup where people could drop in as a Blue Phantom to help you kill a boss monster or fight off another invading player, or you could drop in as a Black Phantom to someone else’s world and try and kill them for XP and other gamerewards.

The key to all this is to allow player choice – you want to play alone you can, want your friends to join you in co-op we allow that and if you want to be challenged by other real players you can do that. The special part is that it can all happen in the same holistic universe.

I hope this helps in terms of understanding how we’re balancing the aspects of multiplayer as well as making the game fun.
German
Hallo zusammen!

Ich bekomme viele Fragen darüber, wie das ganze persistente Universum funktioniert und was ich meine, wenn ich über Kampfinstanzen spreche.

Ich habe einige Antworten gegeben, aber da es immer wieder auftaucht, dachte ich, es wäre gut, euch allen eine längere Beschreibung zu geben, wie das alles funktioniert und zusammenpasst.

Eines meiner Ziele mit Star Citizen war es, eine riesige offene Welt zu schaffen, in der man alleine, mit seinen Freunden, mit NSCs und anderen echten Menschen Abenteuer erleben kann.

Freelancer wurde gebaut, um bis zu 128 Spieler im Multiplayer zu haben, aber wie einige von Ihnen wissen, war das mehr ein theoretisches Maximum als etwas, das wirklich praktisch war, besonders im Jahr 2003. Als ich anfing, Freelancer zu bauen, teilweise inspiriert von der Arbeit an Ultima Online (das sich in der Entwicklung befand, als ich noch bei Origin war), dem Spaß, den ich hatte, Multiplayer-Spiele wie Command & Conquer und Diablo zu spielen, wollte ich die Privateer-Erfahrung in die kühne neue Welt des Multiplayers einbringen. Meine ursprüngliche Vision für Freelancer war es, zuerst ein Einzelspieler-Spiel zu veröffentlichen und dann mit einer Massively Multiplayer-Version mit einer dynamischen Wirtschaft und einer Welt, die reagierte und sich an die Aktionen der Spieler anpasste.

Ich hatte keine Chance, diese Vision umzusetzen, und letztendlich, während Freelancer ein gutes Spiel war, blieb es hinter dem zurück, was ich mir vorgenommen hatte.

Mit Star Citizen war ich entschlossen, das, was ich mit Freelancer erreichen wollte, mit der persönlichen Erfahrung zu kombinieren, mit der ich denke, dass sowohl Wing Commander als auch Privateer so stark waren.

Aber als ich ich selbst wollte ich Dinge kombinieren, die ich an dem Versprechen eines MMOs mag, aber die Aspekte vermeiden, die mir nicht so wichtig sind wie zersplitterte Spielergruppen, Trauer und Schleifen. Ich war auch sehr beeindruckt, wie Demon's Souls das Einzelspielerlebnis mit der Multiplayer-Seite verschmolz.



All dies trug dazu bei, dass ich darüber nachdachte, wie Star Citizen den schwierigen Balanceakt zwischen Multiplayer und Singleplayer ausgleichen wird.

Alle Multiplayer-Spiele - ob es sich nun um ein persistentes Massively Multiplayer Game (MMO) wie World of Warcraft oder nur um ein Online-Multiplayer-Spiel wie Battlefield 3 handelt - haben eine Begrenzung der Anzahl der Spieler, die in jedem Bereich oder Level aktiv sein können. Diese Zahl ist in der Regel umgekehrt proportional zu der Datenmenge, die zwischen dem Client und dem Server ausgetauscht werden muss. Für ein Spiel mit komplexer Physik und einem vollständig zerstörbaren Gelände, wie Battlefield 3, ist die Anzahl der Spieler, die in einer Instanz aktiv sein können, geringer als für ein Spiel mit weniger Echtzeittreue wie WoW oder Eve on Line. Aber in allen Fällen gibt es immer mehr Spieler, als eine Serverinstanz bewältigen kann. Für eine persistente Multiplayer-Welt wie WoW besteht die Lösung darin, die Spielerbasis in überschaubare Gruppen namens "Shards" aufzuteilen, die eine permanente Instanz des Universums sind, die sich um eine bestimmte Anzahl von Spielern kümmern.

Eine Sache, die mir an den meisten MMO-Strukturen nicht gefällt, ist die Fragmentierung der Player-Basis zwischen diesen "Shards". Wenn du viel später als ein Freund von dir beigetreten bist, gibt es vielleicht keinen Platz mehr auf seiner Weltinstanz und du musst einer anderen parallelen beitreten und kannst daher nicht zusammen spielen. Das ist eines der schönen Dinge am Eve Online Design - jeder spielt im selben Universum.

In Star Citizen wird es einen persistenten Universumsserver geben, auf dem jeder existiert. So wirst du nie von deinen Freunden getrennt, und wenn du willst, kannst du dich zusammenschließen und gemeinsam Abenteuer erleben, dann kannst du es. Aufgrund der Treue der Luftkampf- und Physiksimulation können wir jedoch nicht mit Tausenden von Spielern im gleichen Raumbereich umgehen. Selbst wenn man genug Internetbandbreite hatte, um die hin und her gehenden Daten zu verarbeiten, und einen Supercomputer für den Server gibt es keinen PC, selbst mit quad SLI, der so viele Raumschiffe mit der Treue von Star Citizen darstellen könnte.

Die "Magie" des Multiplayer-Designs von Star Citizen besteht also darin, wie wir ein persistentes Universum mit einer traditionelleren (und einfacher zu implementierenden) temporären Multiplayer-Kampfinstanz kombinieren.

Die Art und Weise, wie es funktioniert, ist, dass der persistente Universumsserver, den wir den Galaxy Server nennen, die Vermögenswerte, Gruppenbeziehungen und Standorte aller Spieler innerhalb des Star Citizen-Universums verfolgt. Da der Galaxy-Server keine Echtzeit-Aktionen durchführt, kann er unsere gesamte Spielerbasis verwalten, die derzeit etwa 45.000 Spieler umfassen würde, aber so konzipiert ist, dass sie bei Bedarf auf Millionen skaliert werden kann. Die andere wichtige Funktion des Galaxy-Servers ist die dynamische Platzierung von Spielern basierend auf Standort, Fertigkeitsniveau, Ausrichtung und Spieler-gegen-Spieler-Präferenz (PvP) in Kampfinstanzen. Stellen Sie sich eine "Kampf"-Instanz wie eine Battlefield 3 Multiplayer-Session oder eine World of Tanks Battle vor, mit dem entscheidenden Unterschied, dass die Auswahl der Spieler transparent erfolgt und "in Fiktion" ist.

Eine Veranschaulichung, wie das funktionieren würde, ist wie folgt -

Ich beginne auf der Planetenseite in New Pittsburg. Ich beschließe, ein paar Tonnen Stahl zu kaufen, um zu den Werften von Terra zu fliegen. Ich bin derzeit in den Händen des Galaxieservers, der mit meinem Kunden kommuniziert und meine Einkäufe und Interaktionen auf dem Planeten abwickelt, da diese nicht in Echtzeit in der Art und Weise, wie die Weltraumaktion abläuft. Wir rendern diese in der Art von Freelancer, als detaillierte 3D-Umgebungen, in denen wir eine Drittansicht unseres Charakters an einem Ort sehen und auf Nicht-Spieler-Charaktere (NSCs) oder Terminals klicken können, um zu kaufen / verkaufen, Ihr Schiff aufzurüsten, Klatsch zu bekommen, von einer Mission zu hören und so weiter. Du kannst auch über ein Chat-Interface mit anderen Spielern interagieren. Wir haben den Spieler-Avatar, der die Planetenseite bearbeitet, noch nicht vollständig ausgearbeitet, aber die Bar oder private Clubs werden der Ort sein, an dem du dich mit anderen Spielern treffen / chatten kannst. Neben der Besetzung der Bar mit NSCs wird das Spiel auch die Bar mit anderen Spielern füllen. Wenn es mehr Spieler auf dem Planeten gibt, als es in der Bar gibt, werden die für dich sichtbaren Avatare von deiner Freundesliste entfernt und dann basiert sie auf deiner Relevanz - ein Spieler, der einen Flügelmann sucht, einen aus einer ähnlichen Gruppe oder vielleicht jemand, dem du eine Mission gegeben hast, um ihn zu finden oder zu jagen. Du kannst auch die vollständige Liste der Spieler im Raum sehen, wenn es mehr Spieler gibt, als es Slots gibt. Standard wäre eine Dropdown-Liste dafür, aber da ich alles hasse, was das Eintauchen unterbricht, werden wir wahrscheinlich eine bessere fiktive Art finden, die Liste der Spieler zu sehen - vielleicht sagen Sie dem Barkeeper, nach wem Sie suchen, vielleicht können Sie sich die Türliste für die Bar ansehen.

Nachdem ich meine Ladung gekauft habe, starte ich in den Weltraum. Wenn es bereits Spieler im Orbit gibt, wird eine Orbit-Instanz erstellt. Wenn es nicht voll ist, dann werde ich da hineingezogen. Wenn er voll ist, wird ein neuer dynamisch erstellt. Alle Orbit-(und Kampf-)Instanzen reservieren Slots für Freunde und interessante Personen (POI), die NSCs oder andere Spieler sein können. Wenn du also gestartet bist und es mehrere Orbit-Instanzen gibt und du Freunde bereits im Orbit hast, solltest du in diese Instanz platziert werden. Dies ist auch die Dynamik, die angewendet wird, wenn Sie einem anderen Spieler folgen wollen - Sie können ihn als POI "markieren" und dann wird das Spiel sein Bestes tun, um Sie in die gleiche Instanz wie Ihren POI zu bringen. Zum Beispiel, wenn du jemanden auf der Planetenseite markiert hast und er deinen PDA mit seiner zukünftigen Version von Siri startet, wird er dich benachrichtigen, dass dein POI geht, was dir ein Fenster gibt, um auch in den Weltraum zu starten.

Sobald ich im Orbit bin, kann ich meinen Navigationscomputer hochziehen und einen Kurs auf mein Ziel setzen. Wenn seine mehreren Systeme wie Terra weg sind, wird der Nav-Computer einen Kurs durch die relevanten Sprungbretter zeichnen. Sie können dies wie auf Google Maps anpassen, so dass, wenn Sie auf einen anderen Sprungpunkt in der Systemkarte klicken, dieser Sie auf den kürzesten Weg zu Ihrem Ziel umleitet, mit diesem Sprungpunkt als erstem "Sprung".

Sobald ich meinen Navigationskurs festgelegt habe, würde ich dann den Autopiloten aktivieren und zu meinem ersten "Wegpunkt" auf dem Weg zu meinem Ziel gehen (ein Sprungbrett, eine Zwischenraumfunktion, wie ein Asteroidengürtel und so weiter). An dieser Stelle wurde ich an den Galaxy Server zurückgegeben, der bestimmt, ob ich einem Feind begegnen werde, jemand, der mich als POI markiert hat, oder einer vorbestimmten Begegnung auf dem Weg, oder ob ich auf eine für mich relevante, laufende Kampfinstanz stoße (einige Mitglieder der Instanz sind gegen oder mit mir ausgerichtet). Diese Begegnungen können mit einem NSC oder einem/einer Live-Spieler(n) stattfinden und sind nach Qualifikationsniveau sortiert und - was für euch alle, die ihr mehr Einzelspieler-Erfahrung möchtet und nicht mit Trauernden zu tun haben wollt - auch nach eurer Präferenz Spieler gegen Spieler (PvP). Wenn du also deine Spieleinstellungen auf niedriges PvP eingestellt hast und dich in einem relativ sicheren Bereich befindest, wirst du wahrscheinlich eine NSC (PvE)-Erfahrung haben, im Gegensatz zu einer PvP-Erfahrung. Natürlich werden dein Rang und dein Ruf, den du dir erspielst, bei einer PvE-Begegnung nicht mehr derselbe sein wie bei einem PvP. Meine Hoffnung für diese Dynamik ist, dass es den Leuten erlaubt, Star Citizen zuerst in einem sichereren, offeneren Weltstil zu spielen, aber wenn sie im Selbstvertrauen wachsen und ihr Können gegen andere echte Spieler testen wollen, können sie die Trainingsräder abnehmen und in Kämpfe mit echten Spielern treten. Es wird auch Bereiche des Universums geben, die unabhängig von deiner PvP-Einstellung PvP sein werden. Dies werden Systeme sein, die sich am Rande der kontrollierten Galaxie befinden und für Piraten und andere illegale Aktivitäten berüchtigt sein werden. Sie werden auch die lukrativsten Bereiche sein - wenn man überleben kann.

Wenn du jetzt mit deinen Freunden fliegst, mit denen du über das POI "Tagging"-System des Spiels verlinken kannst, werden sie bei dir sein, wenn du in eine Kampfinstanz gezogen wirst, sei es gegen NSCs, echte Spieler oder eine Kombination aus beidem.

Sobald der Galaxy-Server bestimmt hat, dass du eine Begegnung basierend auf den oben genannten Kriterien haben wirst, erstellt er entweder dynamisch eine Kampfinstanz oder setzt dich in eine, wenn eine bereits am Treffpunkt existiert, und diese Instanz hat Platz für neue Spieler. Um diese Instanz zu verlassen, müssen Sie entweder die Feindseligkeiten lösen, indem Sie besiegen, wer auf Sie zukommt, einen Ausstieg aus der Instanz aushandeln oder sie einfach überholen. Einmal in einer Instanz kannst du einen Notruf an deine Freunde senden. Es gibt zwei Möglichkeiten, wie Leute auf deiner Freundesliste (oder der Staffel, wie wir sie nennen werden) helfen können. Wir sparen in allen Fällen Spielautomaten, in denen sich Freunde einschalten können, um zu kämpfen. Dazu müssen sie sich im gleichen System befinden. Wenn sie es sind, können sie den Autopiloten zu deiner Rettung mitnehmen und werden in die Instanz fallen gelassen. Wenn sie nicht im Sternensystem sind, wenn sie vor Ende des Kampfes zu deinem System gelangen können, dann können sie beitreten (aber erst, wenn sie dein System erreicht haben). Der zweite Weg für deine Freunde zum Aushelfen ist, indem du auf deinem Schiff "vorbeikommst". Dies funktioniert nur, wenn es sich um ein Mehrpersonenfahrzeug wie die RSI Constellation handelt. In diesem Szenario müssen sie nicht in deinem System sein, sie fallen einfach in dein Schiff ein und können sich in der ersten Person bewegen, in einen Turm klettern, um es zu bemannen, oder in dich springen P52, um es im Kampf zu fliegen, während du das Hauptschiff fliegst (oder sie könnten dein Hauptschiff fliegen und du den Kämpfer steuern).

Sobald die Feindseligkeiten oder das Ereignis (manchmal könnten Sie in eine Instanz gezogen werden, weil Sie auf ein verfallenes Schiff oder eine Raumstation gestoßen sind und wir dem Spieler eine Chance geben wollen, sie zu erkunden), die den Abbruch des Autopiloten ausgelöst haben, behoben sind, können Sie den Autopiloten erneut drücken, an den Galaxy Server zurückgeben und Ihren Weg auf dem von Ihnen geplanten Navigationskurs fortsetzen.

Du wirst immer an Sprungpunkten und Planeten aussteigen, wo du entweder einen Sprung zu einem anderen System oder zu einer anderen Landung machen musst.

Dieser Prozess wird fortgesetzt, bis Sie Ihr endgültiges Ziel erreichen, das in meinem Beispiel Terra wäre, wo ich mit meinem Kommunikationssystem einen Landeplatz aushandeln würde, der mich über eine motorgetriebene Kamera an die Oberfläche des Planeten bringen würde. Sobald ich auf der Planetenseite bin, kann ich meine Ladung verkaufen, meine Vorräte auffüllen und über die Schnittstelle zur dritten Person auf der Planetenseite nach neuen Möglichkeiten suchen.

Der Vorteil dieses Systems besteht darin, dass du deine Erfahrung nach deinen Wünschen gestalten kannst - solo, kooperativ oder komplett im PvP. Es unterteilt dich auch nicht in verschiedene, parallele Versionen des Star Citizen-Universums, da jeder auf dem persistenten Server gehalten wird. Da unsere Kampforbit-/Rauminstanzen nur vorübergehend sind, sind Sie auf lange Sicht nie mit einer Gruppe zusammen und aufgrund unserer starken Betonung auf Freunden und Genossenschaft wird es immer Raum für Ihre Freunde geben, sich Ihnen auf Ihrem Abenteuer anzuschließen; egal ob es gegen andere Spieler oder NSCs geht.

Das gleiche Instanzensystem unterstützt die Einzelspielerstaffel 42. Wenn du offline spielst, fungiert dein Computer als Server und Client, es gibt keine Möglichkeiten für Freunde, sich anzumelden und jeder wird ein NSC sein. Aber wenn du Geschwader 42 über den Galaxy Server spielst, obwohl deine Missionen und Weltraumgebiete vorher festgelegt sind (du kannst dir nicht aussuchen, wohin du in der Galaxie fliegst, wenn du beim Militär bist), erlauben wir deinen Freunden, ein- und auszusteigen, um NSC-Flügelmänner zu übernehmen, und wenn du ein zusätzliches Skill-Ranking willst, kannst du anderen Spielern erlauben, einzusteigen und feindliche Ass-Charaktere zu übernehmen. Dieses System ist ziemlich ähnlich wie das Setup der Seelen des Dämons, wo Leute als blaues Phantom vorbeikommen könnten, um dir zu helfen, ein Bossmonster zu töten oder einen anderen eindringenden Spieler zu bekämpfen, oder du könntest als schwarzes Phantom in die Welt von jemand anderem kommen und versuchen, sie für XP und andere Spielerbelohnungen zu töten.

Der Schlüssel zu all dem ist, den Spielern die Wahl zu lassen - du willst alleine spielen, du kannst es, deine Freunde sollen sich dir in der Zusammenarbeit anschließen, wir erlauben das und wenn du von anderen echten Spielern herausgefordert werden willst, kannst du das tun. Das Besondere daran ist, dass es alles im selben ganzheitlichen Universum passieren kann.

Ich hoffe, dass dies dazu beiträgt, zu verstehen, wie wir die Aspekte des Multiplayers in Einklang bringen und das Spiel zum Vergnügen machen.
Chinese
Hi everyone!

I get a lot of questions about how the whole persistent universe works and what I mean when I talk about battle instances.

I’ve given some answers but as it keeps coming up, I thought it would be good to give all of you a longer description in how this all works and fits together.

One of my goals with Star Citizen was to create a huge open world that you could adventure in solo, with your friends, mingling with NPCs and other real people.

Freelancer was built to have up to 128 players in multiplayer, but as a few of you know that was more a theoretical maximum than something that was really practical, especially back in 2003. When I started building Freelancer, partly inspired by the work done on Ultima Online (which was in development when I was still at Origin), the fun I was having playing multiplayer games like Command & Conquer and Diablo I had wanted to bring the Privateer experience into the bold new world of multiplayer. My original vision for Freelancer was to first release a single player game and then follow it up with massively multiplayer version with a dynamic economy and a world that reacted and adapted to the players actions.

I didn’t get a chance to deliver this vision and ultimately while Freelancer was a good game, it fell short of what I was aiming for.

With Star Citizen I was determined to combine what I wanted to achieve with Freelancer, with the personal experience that I think both Wing Commander and Privateer were so strong with.

But me being me, I wanted to combine things I like about the promise of a MMO, but avoid the aspects that I’m not so keen on like splintered player groups, griefing and grinding. I also was really impressed with how Demon’s Souls merged the single player experience with the multiplayer side.

All of this helped form my thinking on how Star Citizen is going to balance the difficult balancing act between multiplayer and single player.

All multiplayer games – whether they are a persistent world massively multiplayer game (MMO) like World of Warcraft or just an online multiplayer game like Battlefield 3 – have a limit to the number of players that can be active in anyone area or level. This number is usually inversely proportional to the amount of data that needs to go between the client and the server. For a game with complex physics and a fully destructible terrain, like Battlefield 3 the number of players that can active in an instance is less than a game with less real time fidelity like WoW, or Eve on Line. But in all cases there are always more players than any one server instance can handle. For a persistent multiplayer world like WoW the solution is to split up the player base into more manageable groups called “shards”, which are a permanent instance of the universe that look after a certain amount of players.

One thing I don’t like about most MMO structures is the fragmentation of the player base between these “shards”. If you had joined much later than a friend of yours, there may not be room on his world instance anymore and you have to join another parallel one and so cannot play together. This is one of the nice things about the Eve Online design – everyone plays in the same universe.

In Star Citizen there is going to be one persistent universe server that everyone exists on. So you will never be separated from your friends, and if you want you’ll be able to join up and adventure together, you can. Due to the fidelity of the dogfighting and physics simulation we can’t however handle thousands of players in the same area of space. Even if you had enough internet bandwidth to handle the data going back and forth and a super computer for the server there’s no PC, even with quad SLI that could render that many spaceships with Star Citizen’s fidelity.

So the “magic” of Star Citizen’s multiplayer design is how we combine a persistent universe with a more traditional (and easier to implement) temporary multiplayer “battle” instance.

The way it works is that the persistent universe server, which we’re calling the Galaxy Server, keeps track of all players’ assets, group relationships and locations inside the Star Citizen universe. As the Galaxy server isn’t handling any realtime action it can handle our complete player base, which right now would be about 45,000 players, but is designed to be able to scale to millions if need be. The other key thing the Galaxy Server does is dynamically place players based on their location, skill level, alignment and player versus player (PvP) preference into battle instances. Think of a “battle” instance like a Battlefield 3 multiplayer session or a World of Tanks Battle with the key difference that the selection of players is done transparently and is “in fiction”.

An illustration of how this would work is like this –

I start out planet side on New Pittsburg. I decide to buy a few tonnes of steel to fly to the shipyards of Terra. I’m currently in the hands of the galaxy server that communicates with my client and handles my purchases and interactions on the planet as these are not real time in the manner that the space action is. We render these in the manner of Freelancer, as detailed 3D environments where we see a third person view of our character in a location and we can click on Non Player Characters (NPCs) or terminals to buy / sell, upgrade your ship, get gossip, hear about a mission and so on. You’ll also be able to interact with other players via a chat interface. We haven’t fully worked out the player avatar handling planet side but the bar or private clubs will be where you can meet / chat to other players. Besides populating the bar with NPCs, the game will also populate the bar with other players. If there are more players planet side than there are slots of avatars in the bar the ones visible to you will be based off your friends list and then it will be based on relevance to you – a player looking for a wingman, one from a similar group, or maybe someone that you’ve been given a mission to find or hunt down. You will also be able to see the full list of players in the room if there are more players than there are slots. Default would be a drop down list for this, but as I hate anything that breaks the immersion, we’ll probably come up with a better in fiction way of seeing the list of players – maybe you tell the bartender who you’re looking for, maybe you can look at the door list for the bar.

Having bought my cargo I launch into space. If there are players already in orbit there will be an orbit instance already created. If it’s not full then I will be placed into that. If it is full then a new one will be dynamically created. All orbit (and battle) instances reserve slots for friends and persons of interest (POI), which can be NPCs or other players, so if you’ve launched and there are multiple orbit instances and you have friends already in orbit you should be placed into that instance. This is also the dynamic that will be applied if you want to follow another player – you can “tag” them as a POI and then the game will do its best to place you in the same instance as your POI. For instance if you tagged someone planet side and they launch your PDA with its future version of Siri will notify you that your POI is leaving, giving you a window to launch into space too.

Once in orbit I can pull up my Navigation computer and set a course for my destination. If its several systems away like Terra, the nav computer will chart a course through the relevant jump points. You will be able to adjust this like on Google maps, so if you click a different jump point on the system map it will then re-route you on the shortest path to your destination with that jump point as the first “jump”.

Once I’ve plotted my nav course I would then engage auto-pilot and head towards my first “way” point on the path to my destination (a jump point, an interim space feature, like an asteroid belt and so on). At this point I’ve been handed back to the Galaxy Server, which is determining whether I will encounter a hostile, someone that has tagged me as a POI, or a predetermined encounter on the way, or if I’m going to run across ongoing battle instance that is relevant to me (some members of the instance are aligned against or with me). These encounters could be with an NPC or a live player(s) and are sorted on skill level and also – which is important to all of you that like a more single player experience and don’t want to deal with griefers – based on your player versus player (PvP) preference. So if you’ve set your game settings to be low PvP and you’re in a relatively safe area, you’ll likely have an NPC (PvE) encounter as opposed to a PvP one. Of course your ranking and any reputation you earn won’t be the same with a PvE encounter versus a PvP. My hope for this dynamic is that it will allow people to first play Star Citizen in a safer more single player open world style, but as they grow in confidence and want to test their mettle against other real players they can take the training wheels off and get into battles with real players. There will also be areas of the universe that no matter what your PvP setting is, will be PvP. These will be systems that are on the fringes of the policed galaxy and will be notorious for pirate and other illegal activity. They will also be the most lucrative areas – if you can survive.

Now if you’re flying with your friends, who you can link to via the game POI “tagging” system, they will be with you when you’re pulled into a battle instance, whether it is against NPCs, real players or a combination of both.

Once the Galaxy Server has determined that you will have an encounter based on the above criteria it either dynamically creates a battle instance, or puts you in one if one already exists at the encounter point, and that instance has room for new players. To exit this instance you either have to resolve the hostilities by defeating who’s targeting you, negotiating an exit or just outrunning them. Once in an instance you can put out a distress call to your friends. There are two ways people on your friends list (or squadron as we’re going to call it) can help. We save slots in all instances for friends to warp in to fight. To do this they need to be in the same system. If they are they can autopilot in to your rescue and will be dropped into the instance. If they’re not in the star system, if they can get to your system before the battle is over then they can join (but will only be able to join once they’ve reached your system). The second way for your friends to help out is by “dropping in” on your ship. This only works if it’s a multi person vehicle like the RSI Constellation. In this scenario they don’t need to be in your system, they just will drop in inside your ship and will be able to move around in first person, climbing into a turret to man it, or jumping in you P52 to fly it in combat while you fly the main ship (or they could fly your main ship and you pilot the fighter)

Once the hostilities or the event (sometimes you could be pulled into an instance because you came across a derelict ship or space station and we want to give the player a chance to explore) that triggered the drop out of auto-pilot has been resolved, you can hit auto-pilot again, get handed back to the Galaxy Server and go about your way on the nav course you’ve plotted.

You will always drop out at jump points and planets, where you will need to either make a jump to another system or land.

This process is continued until you reach your final destination, which in my example would be Terra, where I would use my comm system to negotiate a landing slot, which would take me down to the planet’s surface via an in-engine cinematic. Once planet side I’ll be able to sell my cargo, replenish my supplies and look for new opportunities via the third person planet side interface.

The advantage of this system is that is allows you to tailor your experience towards your preference – solo, co-op or full PvP. It also doesn’t partition you into different, parallel versions of the Star Citizen universe as everyone is kept on the persistent server. Because our battle or orbit / space instances are temporary, you’re never stuck with one group over the long term and due to our heavy emphasis on friends and co-op, there will always be room for your friends to join you on your adventure; whether it’s against other players or NPCs.

The same instance system underpins the single player Squadron 42. If you’re playing off-line, your computer will be acting as the server and client, there will be no opportunities for friends to join and everyone will be an NPC. But if you play Squadron 42 through the Galaxy Server, even though your missions and space areas are pre-determined (you don’t get to pick where in the galaxy you are flying if you’re in the military) we will allow your friends to drop in / drop out to take over NPC wingmen and if you want extra skill ranking you can allow other players to drop in and take over enemy ace characters. This system is pretty similar to the Demon’s Souls setup where people could drop in as a Blue Phantom to help you kill a boss monster or fight off another invading player, or you could drop in as a Black Phantom to someone else’s world and try and kill them for XP and other gamerewards.

The key to all this is to allow player choice – you want to play alone you can, want your friends to join you in co-op we allow that and if you want to be challenged by other real players you can do that. The special part is that it can all happen in the same holistic universe.

I hope this helps in terms of understanding how we’re balancing the aspects of multiplayer as well as making the game fun.

Links

No links available.

Images

5
image/jpeg
Instance1.jpg
Details
Last Modified
11 years ago
Size
362.64 KB
image/jpeg
Instance2.jpg
Details
Last Modified
12 years ago
Size
327.54 KB
image/jpeg
Instance3.jpg
Details
Last Modified
12 years ago
Size
354.70 KB
image/jpeg
Instance4.jpg
Details
Last Modified
12 years ago
Size
462.12 KB
image/jpeg
Instance5.jpg
Details
Last Modified
12 years ago
Size
254.42 KB

Metadata

CIG ID
12770
Channel
Undefined
Category
Undefined
Series
Design Post
Comments
280
Published
13 years ago (2012-11-11T00:00:00+00:00)