HN Gopher Feed (2017-11-13) - page 1 of 10 ___________________________________________________________________
The strange science of Destiny 2's 'uniquely complicated' netcode
61 points by danso
http://www.pcgamer.com/the-strange-science-of-destiny-2s-uniquel...___________________________________________________________________
zitterbewegung - 47 minutes ago
Let me get this straight.Destiny has peer to peer server hosting at
$60. Also it?s expansions are paid.Warframe (a similar game which
people have compared it to) is free to play with no $60 up front
charge and also has peer to peer server netcode. Nearly all of in
game content is locked behind you grinding for resources and
waiting for it to be built. Every expansion is also free.Why am I
paying for a game if it doesn?t have dedicated servers? And I?m
forming over money for the expansions ?
GVIrish - 4 minutes ago
> Why am I paying for a game if it doesn?t have dedicated
servers?Uhh, because paying several hundred people for the 2-3
years to make a AAA game costs money.Warframe is free-to-play and
survives off microtransactions. Cool, that's one business model.
Destiny is a shrinkwrapped pay-up-front game with
microtransactions on the side. Another business model.The
question of "why no dedicated servers" is a good one but it's
separate from the actual business model.
angersock - 40 minutes ago
>Why am I paying for a game if it doesn?t have dedicated
servers?Do you think the game code and artwork is donated gratis
by developers and artists? Fuck no.
wppick - 31 minutes ago
>Why am I paying for a game if it doesn?t have dedicated
servers?More like: so $ATVI can grow 550% in 5 years.
djrogers - 33 minutes ago
> Why am I paying for a game if it doesn?t have dedicated
servers? And I?m forming over money for the expansions ?Becuse
none of the people that work on the game want to work for free.
Viper007Bond - 13 minutes ago
Plenty of paid games have dedicated servers. All of the
Battlefield titles for example.
Jach - 31 minutes ago
Warframe is just really good (except the latest expansion was
rushed and had many bugs), it really has no business being F2P
with how good it is.
QAPereo - 25 minutes ago
Games like Destiny, For Honor, that kind of game, are just pure
money grabs. You get early beta quality releases with the full
price game ending up being north of $160 even before whichever
flavor of micro transactions are in that day. Currently, loot
boxes are the way to fleece teenagers.The good news is that these
games can be avoided, and should be avoided at all costs.
jackmott - 1 hours ago
A peer to peer online game is a game where people are going to
cheat a lot. You don't have to inject code to cheat, you can
inject bits into the network stream.
[deleted]
Grollicus - 1 hours ago
> To shield the game from hacks on PC, Bungie is preventing
applications from injecting code into the game.Whats different to
like every PC game since 19something? I mean thats a core component
of most anti cheat tools and copy protections? (And - spoiler alert
- they never really work)
jackmott - 1 hours ago
The difference is with an authoritative servers many types of
cheats become impossible. If the server doesn't broadcast the
position of a player when it is impossible to see them, then the
client can't hack to get their position. The player cannot cause
themselves to move faster than is possible, or grant themselves
health or items.There are still types of cheats that remain
possible, like aimbots. Nothing can be done about that.
[deleted]
Grollicus - 1 hours ago
But with their offline mode they don't have authorative Servers
here so some cheats are inherently possible. Only defense is do
be as obscure as possible and hide the important bits in
megabytes of fog, aka. a race against the popularity of the
game.
[deleted]
[deleted]
politician - 1 hours ago
After reading the article, this netcode sounds like a complete
mess. It's like Diablo 2, scaled up (contrast with Diablo 3).Maybe
they'll throw a blockchain in there to help with the obvious
hacking issues that will inevitably happen.
ranger207 - 33 minutes ago
This sounds a lot like Elite: Dangerous's netcode model, which is
pretty bad for many of the same reasons.
Kiro - 1 hours ago
> To shield the game from hacks on PC, Bungie is preventing
applications from injecting code into the game.What prevents
hackers from simply forging the network messages? How does loot,
gear, economy, levelling up and other hard incentives work when a
player is the host? Where's the authority?
nichochar - 1 hours ago
From what I understood from the article, it's not a pure P2P
model, but a hybrid model, which makes it particularly
interesting.I think the conclusion of the article is very good:
the experience is great in "free play" (when you're running
around a world and people appear/disappear), but (very) bad for
doom/overwatch/csgo style PVP (= the crucible).
fokinsean - 1 hours ago
Yeah there's been many complaints of people getting DOS'd in
pvp play because it is relatively easy to find the player's ip
address.
drawkbox - 32 minutes ago
This happens in most PvP games though, eventually a hack is
found that allows people to spam messages to win
battles/races. In racing games this happens alot to slow
other players or force them to disconnect. In Madden when it
was on PC, it was very common for people to run something
like this as they started to lose, forcing the other player
to disconnect and losing reputation while they gave the
victory to the player that didn't disconnect. Spam
disconnections are handled better now and incentive is mostly
gone from that through game design and verification (a user
spamming is booted in cheat detection systems), but you have
to be aware of that in PvP especially real-time battles,
sports or racing type games.
failrate - 2 minutes ago
The loot server is hosted, not player authoritative.
drawkbox - 37 minutes ago
The authority on these is validation against a server for
verification when it comes to currency/purchasing and important
events like leveling. You might be able to fake one and get one
through (though difficult without understanding the system due to
crypto/signatures/timestamps/one-time use) but it will be
reversed in most good online systems after verification or not
allowed due to that. The server/data is still the authority on
the simulation and progress of all actors.
everyone - 23 minutes ago
Very good analysis of this
here.https://www.youtube.com/watch?v=ks5lgcCFvvE
aerovistae - 2 hours ago
> How do you build a game that blurs the line between singleplayer
and multiplayer, where players can meet others simply by hitting
"play Destiny," without any traditional matchmaking and
lobbies?What? How can you blur the line? It's either online
multiplayer or it isn't, there's not really an in-between. You
can't "kind of" have other people connected to your game. They're
either there or they're not.> It's an enormously complicated
problem, and Bungie solved it.....how is this any different from
normal multiplayer?? What's so enormously complicated about this
problem compared to every other multiplayer game? Yeah, there's no
matchmaking. Great. This is still essentially like all MMORPGs,
isn't it? Except it skips the lobby and just sticks you straight
into the world?
setr - 1 hours ago
They mean that the game avoids letting the player realize the
distinction exists; they go in and out of multiplayer "mode",
presumably based on areas or turns or something, and are none the
wiser. All multiplayer/singleplayer scaffolding occurs occur
solely in the backgroundIE the souls series, and its invader
system.[edit] just read the article properly, it looks like they
really wanted it for is seamless transition between "p2p
bubbles", so you probably enter singleplayer when waiting for the
connection, and you've got a wifi-like connectivity problem (but
due to virtual land movement).So its not at all the issue of
always-on multiplayer in general mmos; its more like guild wars
"instances", and making the grouping automatic and no-felt-
loading.
elefanten - 1 hours ago
WoW started instancing content out in the world several
expansions back. As far as I remember and know, people can
seamlessly phase in and out of each other's instances. In fact,
I think the made it work across realm servers.So, it seems it's
proven possible without this hybrid p2p model, which has a
sharp performance downside for shooter pvp.I don't understand
the decision. Is there something more nuanced experience-wise
that their system achieves? Or could it be something else, like
an attempt to save on infrastructure costs?
datasage - 50 minutes ago
WOW is instanced, but the instances are all hosted by
Blizzard. Instances are basically a replication of the world
state, and managed automatically depending on load. If you
join a group, you will automatically switch to the instance
those players are in.In Destiny, some of the instances are
hosted directly on the client. Depending where you are and
what you are doing.
Rotten194 - 1 hours ago
Seamless singleplayer / multiplayer is an orthagonal problem to
P2P network architectures, though. You can have one without the
other.
munchbunny - 1 hours ago
The article doesn't convey the complexity very well.Destiny keeps
PvP and PvE separate. For PvP, it's traditional PvP. But for PvE,
there are multiple worlds made up of interconnected regions, but
because of processing limitations (even if it's MMO, it's still
an FPS), the sub-regions are individual instances. So you need
seamless transitioning between regions, while having to find you
a populated instance every time you cross a region boundary.
Oftentimes you will be doing a 20-30 minute activity that has to
cross multiple instance boundaries, so your actual quest state
has to persist separately from the physics simulation. If you
take their design of the game as a given, then yeah, that's a bit
more complex than most MMORPG's.It's not really about
matchmaking. PvP has explicit matchmaking, and in PvE lagging hit
registration is generally inconsequential because it's not a
competition. It's more about the fact that Bungie tried to work
around the problem above using P2P servers.The problem arises
when PvP is still handled in a P2P-ish way and you have hit
registration problems. On a quick read, I'm not sure I fully
understand it though, because if the physics server is dedicated,
then why are there still hit registration problems?
hobofan - 52 minutes ago
Isn't that a problem Lord of the Rings Online (and I suspect
also other games) have "solved" ~10 years ago?
Impossible - 7 minutes ago
MMORPGs like Lord of the Rings Online and World of Warcraft
as far more latency tolerant, because of cooldown based
combat systems that are based more on ability usage and some
light (distance\occlusion) positioning. Usually they are not
as authoritative as shooters and don't have as many object
interactions. So combat abilities and attacks, chat,
economic and quest transactions are all run on the server
with some minimal prediction, but movement and collision are
all client side with minimal checks for cheating
(speed\distance and maybe unreachable areas) on the server,
instead of full physics and collision. Most MMOs are more
like a traditional CRUD web application, with important
operations backed by a relational database, while shooters
are more like voice or video calls, a stream of packets with
out of date state is dropped and ignored.There are of course
MMORPGs that break these rules and have more action oriented
gameplay or lots of physics and player interaction, but they
always make tradeoffs (heavy instancing to limit player
interaction is common).
SXX - 49 minutes ago
Handling massive amount of players is always challenging, but
there nothing unique about it. PlanetSide 2 exist for years and
its able to maintain hundreds of players in same area just fine
and more than 1200 per "continent" which built of tons of small
zones that have almost perfect sync between them.As for
tracking character state and region instancing there tons of
MMOs that doing it for years too.
lesdeuxmagots - 20 minutes ago
Planetside 2 is exactly what this sort of reminded me of. In
PS2, you can have over 1k players within an entire continent,
which is a seamless quilt of many zones, each of which can
have up to several hundred players (north of 250 is the most
ive seen). The beauty of it being that there is no
delineation between areas for players, but clearly the
servers are somehow breaking down the continent in some way.
So you can have a single battle raging across 2 adjacent
areas with 96+ vs 96+, with the perception of being on a
single battlefield.
kaosjester - 12 minutes ago
> How can you blur the line? It's either online multiplayer or it
isn't, there's not really an in-between. You can't "kind of" have
other people connected to your game. They're either there or
they're not.Dark Souls does precisely this in a fantastic way in
two major mechanisms. The first is the shared player "graffiti",
wherein players can write messages that are then propagated into
others' games. The second is the shared "death ghosts', which
play back a player's last moments before death in others' games
as a ghost you can't interact with. These make the game feel like
you're playing with others in a large world without having to
actually put you in the same instance.
jgmmo - 20 minutes ago
The game limits multiplayer interaction big time. It's no more than
3 parties allowed in an instance at any one time, and that's where
a single person can count as a party. So really how tough does the
netcode be when you really just have instance based coop.PVP is
basically csgo in space. Not too many people on each team. Only 2
teams. Etc.As an aside, as a gamer - terribly displeased with
destiny 2. Huge dissappointment. Mostly because of it's multiplayer
and communicated drawbacks.
judge2020 - 1 hours ago
There's a nice video on destiny 2's netcode that I feel goes more
in-depth compared to this article.
https://www.youtube.com/watch?v=ks5lgcCFvvE
gruez - 1 hours ago
that's basically this article in video form.