Kenneth Chen

Kenneth Chen

Digital Media PhD Student

Kenneth is a doctoral student in the Digital Media PhD program. In his series “Kenneth on Games” he writes about his passion for games and game design.

A while ago, I said that “it’s rare to see a game as divisive as Pokemon Go.” Apparently, I was wrong, because here comes No Man’s Sky and its angry lynchmob. This game has been hyped for years, and in a tragically predictable turn of events, the hype has backfired. One of the main points of contention is the lack of real-time persistent multiplayer, which is something that players have been expecting and the developers have been promising. But does real-time persistent multiplayer truly belong in the No Man’s Sky vision?

Networking from the Ground Up

This is going to get a little technical, because I’ve worked a little bit with networking, and the one lesson about it is “do it from the ground up.” You can’t just build a game and then tack on networking. If you want it to have networked multiplayer, that’s something you need to commit to from the very start.

Take the instance of meeting another player in No Man’s Sky. How do you program the netcode for the players? They each have to communicate to a central server and tell it their position, their rotation, their current animation, and whatever else the server needs so it knows what the player looks like. Then the server sends all of that information to other players so they can actually see each other. If I’m standing at X longitude and Y latitude, other players should see me at that exact position, so they get that information from the server and the server gets that information from me.

That much is possible. But if you see another person, surely you should be able to interact with them in some way, right? What if players can fight each other? Now you have to communicate more information to the server. Each player’s health levels. Each player’s weapons. Each player’s aiming direction. Each player’s collision hitbox. But think about this: whole studios of developers can spend their entire careers working on real-time PvP multiplayer. Games like Titanfall spend as much time in development as NMS and come out with nothing more than a solid netcode base.

Okay, maybe no fighting. But what about collisions? Will players be able to bump into each other? Do they have momentum and weight? Can players jump on top of each other’s heads? What if I pushed you into a place you didn’t want to go? At this point, we start to see that networking is only the first part of the problem: player interactions can have an affect on the game design itself. So no collisions, either.

But put all of that aside. Let’s assume that players will simply have no way of interacting with each other at all, and they will simply see each other and nothing more. Well… if you can see another player, surely you should be able to see the effects they have had? If they blew a hole in the ground with a grenade, shouldn’t you be able to see that hole? On your screen, it would be perfectly normal ground, but on theirs they would see the hole they made. What would happen if you walked over it, would they just see you floating in the air?

Suddenly, every part of the planet needs to synchronize with the server. Everything that a player does needs to be sent and transmitted to every other player. If I visit a planet and I kill every single living being on that planet so that they have no chance of reproducing, and then I left and you came to the planet later, shouldn’t you find the planet barren and lifeless? It’s unrealistic to ask for only the ability to see other players without also asking for the ability to see everything they’ve done.

Before we even think about the game design implications, we can already see that the task of keeping ten billion quadrillion planets synchronized with a networked server is pretty ridiculous. They probably don’t even have a way of tracking all of their planets in the first place, much less updating each of their current situations.

Multiplayer either has to be shallow enough that it’s completely meaningless, or deep enough that players are able to form groups and colonize space. There isn’t a realistic option in between that the fanbase would find acceptable.

Groups and Colonization

Let’s say a miracle happened and somehow there is real-time persistent multiplayer in NMS, ignoring the fact that it is technically impossible. This is something that would deeply affect the game design and alter the original vision.

What if players roamed around killing everything so that no planet could hold life anymore? What if players tanked the economy by monopolizing materials? What if players spelled out obscene messages by naming consecutive planets in a system? Yes, it might sound ridiculous, but in a game as hyped as this, it only sounds natural to assume that players will group up and troll the world, even if there isn’t an explicit guild system.

But more importantly, you are no longer exploring an unexplored universe. You are interacting in a world that other people have already interacted with. It’s not “no man’s sky” anymore, it’s someone else’s sky.

A multiplayer version of No Man’s Sky already exists. It’s called Eve Online, and it’s pretty much the complete opposite of exploration. It’s a spreadsheet simulator about economics and strategies and corporations and it’s a very well designed game. But its vision is the polar opposite of what No Man’s Sky is trying to achieve.

This could possibly be fixed by using lobby multiplayer rather than persistent multiplayer. Think more like Dark Souls where players have to intentionally join a room in order to cooperate, rather than like Eve Online where all players exist at the same time for everyone. It’s also how Dark Souls maintains a sense of exploration even when other people have explored the same space. Journey is also similar in that it makes invisible lobbies, and maybe this could have been a nice middle ground if it weren’t for the fact that it would still be impossible to actually implement.

Personally, I don’t think that NMS‘s lack of multiplayer is necessarily a problem. The problem is the fact that the developers explicitly said that there would be real time persistent MMO-style multiplayer. Even if they weren’t aware of the technical difficulties in building multiplayer for such a large scale game, they surely must have been aware of the design implications. Networking is something you build from the ground up, so if they weren’t thinking about it early on, they shouldn’t have been thinking about tacking it on later.