( as usual, bettered with this. If you dont wanna read all the following uber nerd shit, still listen to this, its gonna make it better, whatever it is, - like wiping your newborn daughters shit smeared ass - guaranteed )
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.
- Chris Roberts
8 comments:
Man, that physics engine is insane! How did they manage to make those guns make noise in space?
So is there a shitter in any of the ships or did they just pull a Star Trek? Because, as far as I know, there is no beaming your feces out into space in the Wing Commander universe. Not even in the Freddy Prinze Junior version.
That being said, I fucking loved Privateer.
Yeah there's a shitter !
I've got one in my Freelancer!
And as for the sounds in space, those are just trailers designed to be attractive to the unknowing viewer.
But Chris Roberts hinted at an option to toggle realistic physical sound. He also said it could be possible that there would be some kind of sound system in the ships that would give off simulated sounds so as to make the pilot more aware of his actions, which would make sense.
I like that explanation.
Also, I loved Privateer.
So tempted.
Here's for you kids : Privateer, on windows 7, Linux, Mac.
http://privateer.sourceforge.net/files.shtml
I don't touch contraband.
Yeah well, given that 1 year in videogames is about 5 years in real life, Privateer now looks like its 100 year old.
Not very much worth trying.
Post a Comment