It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
A closer look at the upcoming galactic playground

As we're drawing closer and closer to reaching <span class="bold">No Man's Sky</span>, we are being treated to more intriguing gameplay chunks that show off some of the most common player activities in this uncommonly vast and detailed universe.
Creator Sean Murray recently took IGN through a procedurally-generated frozen planet, poking at the flora and fauna, opening up new passages, marveling at the enigmatic structures, and even trading with aliens. Before flying back into the infinite space above.

If you've missed any of the past footage shown by the developers, keep watching and get ready to jump on the hype spaceship, then go ahead and <span class="bold">preorder the game here</span>:

https://www.youtube.com/embed/D-uMFHoF8VA?list=PL_OsMXj7Zay05UdYyECSNgt5EvBhLsfXs
Post edited April 13, 2016 by maladr0Id
avatar
barleyguy: You're still not understanding what I'm talking about, at all. I'm not going to try to explain it a third time.
avatar
kohlrak: That's not an argument.
I'm not making an argument. I'm pointing out that you're completely failing to understand what I'm talking about. Which you're still doing.
avatar
steveyg777: I am more excited about the game after seeing this video and a few after it! :)

One thing i was worrying about is how manueverable are you? on the video it looks like you move around fairly slowly, can you run? dodge? jump?
You have or can build a jet pack. You can also run, but they've only been showing off walking afaik.
avatar
nipsen: Always entertaining when "common practices" tied up to conventional distribution models (invented less than 10 years ago) suddenly is turned into the only possible solution technically.

But yeah, of course you're right. There's no licensing schema that will force HelloGames to disallow users from creating universe instances on their own computer, or a different server of their choice. If it was, it would have to be tied to an existing service ecosystem, for example. Although even if it ran on MS Exchange ... hehe, sorry... even if it ran on Exchange, it would probably not be illegal to use parts of the foundation and license the use of that as a separate product tied to this particular release. It'd cost money, but it wouldn't be anything actually preventing you from deploying it in a different usage-scenario.

What is very typical, though, is that you tend to leverage existing snippets of code that does something in a particular way, and end up favoring similar solutions compared to what has been used before. And it's not like it makes a lot of sense to spend time on creating anything complex or serverless for maintaining the universe status, like a cross-platform cluster-distribution of names for creatures and general exploration status.

Not that it would take a huge amount of effort to do it, but you would essentially spending time on something that removes or "unprotects" the distributor's statistics and user-status. And if you want to deploy this on consoles, you would have to go through the console-makers' conventions as well. So since we're talking about Sony here, this is something you would likely have had to plan several years in advance. Like people mention, the always on model's main purpose is to log how much time people spend on certain games, to have something to go on when it comes to user-base and future purchases and interests of such and such players. And it gives "value" to the title in form of documenting that people spend so and so much time on it.

Having deployment control is really a very secondary concern...

In the same way, that multiplayer games tend to be routed through a server-side service is actually not a very efficient way to do it, or a very solid way to make sure users get a stable service. In fact, there's nothing nefarious about why MMO games tend have all their communication routed through a status server, where the account is updated fifteen times every second, etc. Instead it's usually because the developer just don't care to plan for when they actually would need to run account syncs. I.e., let the players spend in-game currency and earn events offline for hours and hours, and then validate local content to the server during transactions or syncs - perfectly possible. But it would put certain limitations on when interactions between online players could take place. So why not just have some application phone home every second, and log your every step on the server, right? No one minds until the servers burst and the entire network is dead because someone overloaded a node in a particular region at, say, peak hours.

Take Battlefield, for example - brilliant example...

Anyway - about No Man's Sky: so let's assume that it makes sense to have a central universe server where everyone post their naming of the planets and the species, and log in their progress. And where trade prices and gear (new gear, updates even, universe maintenance, patching, faction movement, genocides, wars, ecological disasters, space station progress, etc.) would be run through, for all active users.

(last part, I promise...)

Would that prevent Hello Games from creating a lan instance where one player hosts a normal game, and a second player piggiback on their instance? Of course not. Would there be anything stopping Hello Games from making an offline universe, and seamlessly integrate that into an online mode that people might skip into whenever they feel like? No. Would it be possible to have a lan or private universe play that spans the whole of the galaxy? No. Their model doesn't actually fetch planet location or specific information from a universe server, and also doesn't populate the planets via the universe server. So there's nothing stopping them from doing that logically or towards some game-flow perspective. And there's certainly no licensing problem involved if they write the communication protocols between the clients to the project, even if that's done with licensed software.

So yeah, even if the universe server ran through Exchange, they could still add a lan component and not really have any reason to separate the second (or third) lan-client from doing updates to the cloud. It's more of an interesting question that - could this entire thing be upgraded in some way to eventually allow you to see other ships in real-time - that's an interesting question. That you might possibly have an expanded online play component where you gather for missions on known choke-points within warp-range, eventually, later in the evolution of the game, after tech is found that makes warps viable, or something of that sort.

But please don't come up with fairytales about how a server-side maintenance universe is actually necessary in online games, either from a technical or a licensing point of view, separately or jumbled together. I mean, that's absurd.
Very lucid and informative perspective. It makes sense that something like Battlefield does a lot of small-group communication, because in that case it's easy to know who the peers are. Generally they are the people in the same instance of the game. But in No Man's Sky, I'm not sure there's a clear definition of who the peers are. Are they the people closest to you geographically in the game universe? But actually I'm not sure it matters, because it's not a true MMO, at least not at launch. The central service seems to mostly just be a database of names, for planets people have visited and named, as well as the plants and creatures there. I think currency things like trading may also get transmitted between users, but maybe that doesn't even happen.

The game has the ability to run completely offline, so I don't think it's a case of tracking users like the Ubisoft example. Like you said, the locations of planets are not retrieved from an online server. It seems like the most efficient way to store things on a player node would be to only store the planets the player has visited. And we know from interviews and demos that the first time you visit a planet, it procedurally generates it when you arrive. So it seems that apart from the map of the galaxy, things that haven't been visited yet are completely missing from local storage.

Where my licensing argument comes in is that the "Universe Server" as you call it, probably runs some portion either closed source software not created by Hello Games, or open source software with a viral license. The most likely thing would be the database. (Maybe I'm wrong and they wrote their own database, but I doubt it.)

The idea of having LAN play "piggyback" on a single player's instance makes a lot of sense. The "master" node could run the game and store the things the player has visited, and every other player on that lan could basically just sync the same data and send the data for the things they've visited. Possible issues would be whether the threading model of the code allows other players to get the data in the background while the main player is active playing the game. But there would definitely be coding to do for LAN play. It wouldn't come for free. Which I think was the original thing I was trying to point out.

I don't believe I said that all online gaming needs a server side maintenance infrastructure. I realize the small group or peer-to-peer communication is completely possible. But in the case of No Man's Sky, as I mentioned, it's a lot less clear who your peers are than in a game like Battlefield, so I would think at least the database would have to be central and universal.

That leads me a side thought I had, which is: What happens if two different people are playing in offline mode, visit the same planet and name everything on that planet, and then connect later and sync? Does the game just ret-con the sync and make it two different planets? Or does the first person to sync win and the second person loses their names? Or does the second person still see their own names and the first person's names get sent out to every other player?

Anyhow, thanks for the thought provoking discussion.
avatar
barleyguy: Very lucid and informative perspective. It makes sense that something like Battlefield does a lot of small-group communication, because in that case it's easy to know who the peers are. Generally they are the people in the same instance of the game. But in No Man's Sky, I'm not sure there's a clear definition of who the peers are. Are they the people closest to you geographically in the game universe? But actually I'm not sure it matters, because it's not a true MMO, at least not at launch. The central service seems to mostly just be a database of names, for planets people have visited and named, as well as the plants and creatures there. I think currency things like trading may also get transmitted between users, but maybe that doesn't even happen.
Right. There's got to be very little time-dependent checking going on (even if I'm sure Sony HQ will want everyone's avatars and screenshots, smileys and blurbs of the day to jump at you every time you're within three lightyears of a different player). But since there's no need to actually update anything in real time, it's possible to structure for updates in the background that for example cause no locks, and doesn't mysteriously hang the program, or happens to open 5000 ports into the firewall and other lan-addresses through the .net package before hanging the entire computer, etc. But we'll see.

Thing is that almost all "server-side application" servers today actually are distributed in some way. So even if you actually wanted to make sure all instances were synced at all times (but really .. who would care in No Man's Sky?), you could do that towards distributed cells too, to make sure you don't just have one single database that croaks every weekend, like EA (and a lot of game companies have). If not Oracle, then .Net - but it's not complicated to do it properly either. It's just that what large companies normally do is to hire consultant firms that create one specialized solution for their particular instance of a database server. And then they.. sell that solution about 100 times every year to equally happy customers. And run the different server software on the same servers, etc.

You have to be really well paid to understand why this is great, apparently. In the same way that you have to be really poor to think that a distributed and primary serverless network is an actual alternative that is much more efficient and less prone to collapses.

But what you'd do is to have master-nodes (and sub-nodes), and then refuse to shut down those master-nodes until they update a new live cluster. And since we're not talking about banking here, there's really no danger if you end up losing the exchange once. Because you simply store it locally and try again when it becomes active near another node. So you'd distribute updated clusters (not just the next client, because then the datamass would be huge), but have logic on each client that syncs if any overlaps exist. And then you destroy the updated node traffic and replace it with ones that are not current. Frequency doesn't actually have to be very low before the total amount of bandwidth used is reduced compared to a master server system. And it doesn't actually scale upwards per user. This is basically peer-to-peer in a nutshell, right..?

Questions that frequently turn up is:
1. wouldn't people hack this really easily...?
And no, that doesn't have to be a problem if the security model actually can assure the other clients are valid. Most of the weaknesses we have on master server systems now come from the fact that they rely on obscurity rather than actual security. It's well-known, and if people knew how screwed they and their online banking really were before SSL, they would freak out. But yes, of course you can validate a client to another client in the same way you would validate it towards a server. And then refuse any unsecure or improperly signed transmission through the galaxy-com.
2. but the entire cluster will always be out of date, and the amount of contests will be massive.
Yes, but when you're not dealing with real-time anyway, what does it matter? We're talking about a special case here where that one guy in Camden is somehow picking your exact route through the galaxy, and always naming the new planets "SUCKY BUCKFACE!", "MY PENIS!", and so on, right ahead of you. So that whenever you backtrack, all your "Pink Borealis", Purple Moons, and "Playmate Bunny" species and planets are gone. But if you're not actually having content locks for real-time contests anyway - and that will not be an issue on a game-server like this - then the concept is actually identical to a server model with or without physically distributed external server components.

Not insisting on anything one way or the other here. But just food for thought, and for some context for why we always seem to have this "always on" schema". Because what you have 99% of the time with games is actually a login server, that you have to say you're still alive to once in a while. So that any updates you want to make to a different server instance is supposedly validated towards a user. You know, this makes sense in banking (and when real money is involved, just to make sure people don't spend the whole bank before they get validated, etc). But if you don't need to deal with that, then this is complete overkill. Actually, most banks worth anything will insist that you do not stay on a validation server (as presence like that can be fabricated - although it is difficult), and instead validate yourself every time you actually perform a transaction instance. (I talked to a guy who had been arguing about this with a bank - they had to force them to accept that if people were to have secure login in the first place, then this would make sense and 100% ensure that no one managed to add extra transactions to valid certificates, etc. They also demonstrated that the traffic bandwidth compared to some radius-ish server was negligible.)

So to have people somehow lose connection to the universe server, and then have to log out, and hard lock and f***, etc. This is usually just annoying, draws massive amounts of resources (linear running times per user - at some point all those real-time updates before you get to the navigation screen, etc., are going to create a pause - you know it on beforehand), and is completely unnecessary. On either a master or a distributed model.

avatar
barleyguy: Where my licensing argument comes in is that the "Universe Server" as you call it, probably runs some portion either closed source software not created by Hello Games, or open source software with a viral license. The most likely thing would be the database. (Maybe I'm wrong and they wrote their own database, but I doubt it.)
Why wouldn't they make their own? :p

Anyway. You could just use common open-source or project specific modules, and then not claim ownership over the transport protocol, for example. That's.. out of the question at Microsoft, for some reason.. presumably because they think the information in the packets people send belong to them or something. But there's nothing actually stopping a games-developer (without EA and Sony on their ass) from just having a server, made to work with just one single product, and licensed to be used with this specifically (and of course secured to only work against other clients on this particular instance) -- but where the fundamental components are open-source.

Also, Santa isn't real, vitamin pills can be bad for you, and dolphins have random sex all the time and like to play games with their food. Everything you know is a lie!!!

*cough*... excuse me. I think I broke my "1" key. Drat.

avatar
barleyguy: But there would definitely be coding to do for LAN play. It wouldn't come for free. Which I think was the original thing I was trying to point out.
Right. But it would be something completely different from the central universe server thing anyway. You're right that separating it out of the original server-package would be unusual, though. And that this is why the licensing question is relevant. But .. not necessarily a problem.

avatar
barleyguy: Or does the second person still see their own names and the first person's names get sent out to every other player?
I think they both should be stored for a while locally, and then updated to some master node. And then the Time-lords could decide which one sounded the least like "boaty McBoatface" in the end or something. :p

And thank you as well. I preach a lot, but I'm looking for alternative views and explanations for them, of course.
Has there been any talk of a story driven quest going on that you can follow if you want?
avatar
Graftanker98: Has there been any talk of a story driven quest going on that you can follow if you want?
In the reddit FAQ that is linked on page 2, the developers say that there's no story driven content. But I think you make your own story based on the things you encounter.
Something I've been curious about, the past few days (since the thought hit me)..

I wonder if there will be some sort of "have to go online at least once in awhile" requirement..

The reason I wonder is, I'm thinking, perhaps, or what if, all the "seeds" to procedurally-generate the allegedly "vast" universe, aren't all able to be contained in a reasonable space on a local system. That, therefore, the game only has enough "seed" for, say, your starting locale (starting planet and maybe up to several surrounding star systems).

Therefore, once you "explore" deep enough into space (leaving your local area), then you need to go online to both download a new set of seeds for the upcoming areas, and upload not only your local "discoveries", but also what seeds you happened to "use up" so they can be added to the built-over-time database of both discoveries and "seeds used".

If you chose not to go online, then you'd not be able to progress to a new area; you'd be stuck in the areas for which your local PC has the generation data.

Guess it seems like a weird thought - but it's something I've been curious to see if, in the released version, if it turns out to be a "thing".

Would be quite a demerit on the game if something like that was indeed the case. Might be a show-stopper for me. Would have to see the whats/hows about it first, but it would be a big concern to me..

Guess we'll know soon enough...
avatar
Martek: Something I've been curious about, the past few days (since the thought hit me)..

I wonder if there will be some sort of "have to go online at least once in awhile" requirement..

The reason I wonder is, I'm thinking, perhaps, or what if, all the "seeds" to procedurally-generate the allegedly "vast" universe, aren't all able to be contained in a reasonable space on a local system. That, therefore, the game only has enough "seed" for, say, your starting locale (starting planet and maybe up to several surrounding star systems).

Therefore, once you "explore" deep enough into space (leaving your local area), then you need to go online to both download a new set of seeds for the upcoming areas, and upload not only your local "discoveries", but also what seeds you happened to "use up" so they can be added to the built-over-time database of both discoveries and "seeds used".

If you chose not to go online, then you'd not be able to progress to a new area; you'd be stuck in the areas for which your local PC has the generation data.

Guess it seems like a weird thought - but it's something I've been curious to see if, in the released version, if it turns out to be a "thing".

Would be quite a demerit on the game if something like that was indeed the case. Might be a show-stopper for me. Would have to see the whats/hows about it first, but it would be a big concern to me..

Guess we'll know soon enough...
Since they currently claiming that offline play is possible we have to assume it is. Should they pull a such a stunt that deep into development & after weeks of taking preorders you can bet its pitchfork time.
Your computer will be able to visit the entire universe, from the seed they lock in at launch. No need for extra seeds, because it would mean the entire universe would change.

Updates, mods and DLC might be the exception in some ways, but you should still be able to procedurally generate everything from the seed the game ships with or gets updated with.

Obviously you will need to play online in order to interact with other players, name things that others can see, have changes you make to the universe propagate to other players - like blowing up space stations. That sort of thing.
Would be awesome if they ignored the PR angle and just talked more about the math, really. :)

Not sure how they're doing it - but from what they've explained, and what they've demonstrated, it seems it doesn't depend on random seeds with new locations, but instead that all of the locations, and then all the subdivisions in the same way, are determined by fixed variables. So there's a laughable amount of things going on, that is dependent on rules in the systems, and so on - but the universe generated on one client should be identical to one created on a different one.

Like a combination of complex equations with several different unknowns - if you know that the answer is supposed to be in a specific range, you know where the valid solutions have to be. I.e., there's a planet .. I don't know.. in orbit around a sun, that if it has such and such mass has to be placed at a particular distance (according to new Universe rules), where it has to have topography of a particular type, that relies on gravity and maybe other things.

And once you would run this, you would probably have variations, but not the kind that you wouldn't be able to predict. Then actual randomness could happen inside a fixed and planned sphere.
avatar
nipsen: Would be awesome if they ignored the PR angle and just talked more about the math, really. :)

Not sure how they're doing it - but from what they've explained, and what they've demonstrated, it seems it doesn't depend on random seeds with new locations, but instead that all of the locations, and then all the subdivisions in the same way, are determined by fixed variables. So there's a laughable amount of things going on, that is dependent on rules in the systems, and so on - but the universe generated on one client should be identical to one created on a different one.

Like a combination of complex equations with several different unknowns - if you know that the answer is supposed to be in a specific range, you know where the valid solutions have to be. I.e., there's a planet .. I don't know.. in orbit around a sun, that if it has such and such mass has to be placed at a particular distance (according to new Universe rules), where it has to have topography of a particular type, that relies on gravity and maybe other things.

And once you would run this, you would probably have variations, but not the kind that you wouldn't be able to predict. Then actual randomness could happen inside a fixed and planned sphere.
That's how I was guessing it worked: When the game starts, all the planet locations are pre-determined, and each has a very long number assigned to it which feeds into the algorithm that generates the planet. I'd love to see exactly how that algorithm functions as well. I doubt they're going to tell though; my guess would be that they consider that the "crown jewels" from an IP perspective. It would be cool if they pull a Carmack and release the source in 5 years.

Another interesting thing would be how they decide where starbases are. It seems like that's tangential from the planet generation. Also, does the race that populates a starbase always have a planet nearby? Or could their planet be way far away?

This is a fascinating game from a development perspective.
avatar
barleyguy: This is a fascinating game from a development perspective.
Hehe, yeah, very. Was funny - someone I know who is very good at math, has a major of some sort in fixed fields and approximation - he couldn't see how a concept like that would be technically possible :D But it's really interesting. I've always wanted to create narratives with corresponding maps in this way, that have variables in different phase-space, so to speak, but that follow certain overall rules. In the sense that you could imagine creating paths to walk down that won't be identical every time, but still have to be down a mountain, that is going to be placed next to such and such landscape, etc. And I've always thought it would be too complicated to create a formula for it (even as simple as it is to improvise when you write stories, and without relying on ambiguous language when describing an area). And this kind of suggests that it's possible.
Release when?
avatar
Tarm: Release when?
June 22nd.
Post edited April 23, 2016 by Grargar
avatar
Tarm: Release when?
avatar
Grargar: June 22nd.
Dang it I heard rumors it was going to be soon. Never trust internet facts! Unless it's a Somali prince of course.