9 ms·
Exploring No Man’s Sky, A Computer Game Forged by Algorithms
- fisher-lebo 12y agoI get the gist of how Minecraft is constructed: just a bunch of blocks with algorithms which hide certain blocks when they aren't in the player's view. Are there any articles about how an engine like this is built? It is an extreme level of procedural generation (apparently), but the graphics aren't blocky and as abstract, but rather pretty impressive. In a similar vein is Eskil Steenberg's Love [1], but this is on another level entirely. [1] http://www.quelsolaar.com/love/index.html http://www.quelsolaar.com/love/index.html
- jmstout 12y agoSounds like it's quite the artful balance between procedurally generated and manually curated content. A bit (but just a little) more information can be found here: http://www.thesixthaxis.com/2014/06/25/crafting-the-endless-cosmos-of-no-mans-sky/ http://www.thesixthaxis.com/2014/06/25/crafting-the-endless-...
- pokpokpok 12y agoI disagree, I think that it's the procedural generation that needs to be done artfully! Unfortunately the tools and experience to be creative in this medium are a few years out :)
- gavanwoolery 12y agoI am working on a full procedural generation engine (not like minecraft, but it does use voxels at a much higher resolution). Wrote up an overview of how it works, if you are interested: http://www.voxelquest.com/news/how-does-it-work http://www.voxelquest.com/news/how-does-it-work
- fisher-lebo 12y agoThank you. Your work is impressive and it is good to see someone putting forth a technical explanation like that. Much appreciated.
- gavanwoolery 12y agoThanks! Any questions just let me know :)
- deleted 12y ago[deleted]
- serverholic 12y agoAs someone who's tried to make a simple version of minecraft as a hobby project I think I can shed some light. At its core, procedural engines are built on generating different kinds of noise and then filtering and combining them to produce the types of values that you want. The values you are looking for depend on how you model the different elements of your world. As an example, in my game I wanted to generate regions consisting of different types of terrain. I ended up using voronoi noise (http://en.wikipedia.org/wiki/Voronoi_diagram http://en.wikipedia.org/wiki/Voronoi_diagram) to split the terrain into regions and then used the cell value as a multiplier for how bumpy the terrain was. The bumpy terrain was generated from smoothing regular white noise. The amount of smoothing was random too so you could have smooth hills or jagged mountains. As you can see, you can kinda go wild with it.
- Guvante 12y ago> Are there any articles about how an engine like this is built? It isn't that different, the only real change is how you handle edge conditions, as you can have finer detail so need to filter less. Minecraft doesn't use blocks to simplify world generation, it uses blocks to simplify world modification by the user. The blocks restrict you making it easier (oddly enough) to create things.
- Ressud 12y agoHere's an old video from on of the people working on the game with a demo of terrain generation: https://www.youtube.com/watch?v=b4X_EZZn7dc&list=UUqN5uW6xLOequ5CHrFrzINQ https://www.youtube.com/watch?v=b4X_EZZn7dc&list=UUqN5uW6xLO...
- InclinedPlane 12y agoRemember that Minecraft is a very different sort of game than No Man's Sky. Minecraft is a completely destructable/constructable world. You can demolish the entire world down to the bedrock and build whatever you want in addition to or in replacement of what existed previously. That's why some sort of segmentation system is necessary, there needs to be some sort of unit of interactability/construction/destruction, and for Minecraft that unit is a 1m block. No Man's Sky isn't like that, it's not filled with world's you change, just world's you visit and explore. Because you don't need that fundamental unit of interactability you can use more traditional world modeling that looks more like what we've come to expect 3D worlds to look like.
- tigeba 12y agoYou may want to check out Everquest Next. I think it would be fair to say that EQN is very close to a completely voxelized environment and at least mostly procedural. There is a great deal of curated content as well, but it seems like they are working on sourcing lots of that from players. The voxelized environment in EQN is based on Miguel Cepero's work. I believe they in fact hired him. I have been reading his blog for a long time and you can get a pretty good idea of the techniques that are being used. http://procworld.blogspot.com/ http://procworld.blogspot.com/ A couple of quick hints to get you going in the right direction is that there are ( I believe ) a couple of generalized tricks involved to pull this off well. The first is using the 'correct' method to tesselate your voxel geometry. Minecraft literally uses cubes and you are familiar with the result. Another 'classic' method is the application of marching cubes/tetrahedra. This gives you fairly good organic-ish shapes but suffers from the inability to render sharp edges. Everything looks blobby. I believe the method used by EQN makes use dual-contouring, or a variant, which allows you to create organic shapes and also preserve sharp edges. A second factor is the ability to use different levels of resolution or scale for your voxels situationally. This allows you to craft human-scale things like cups and swords and whatnot, with human-scale details, and still craft houses and mountains and trees, without the need for storing extreme resolution in those items as well. It can be very tricky to patch together various bits of geometry tessellated from different voxel resolutions like this, and not end up with ugly visual artifacts. There is also the thorny issue of applying textures or materials to everything I have mentioned previously, which I have never investigated :)
- djent 12y agoDisappointing article. There's no discussion of the algorithms the game uses to generate content.
- DanAndersen 12y agoWithout trying to be too critical, it's strange hearing the term "algorithm" get a lot of use nowadays. Example: this BBC article fom 2011 about "When algorithms control the world", with phrases like http://www.bbc.com/news/technology-14306146 http://www.bbc.com/news/technology-14306146 I suppose it's the natural evolution after "programs" and "apps" became mundane things and data science became more prominent, but the way these articles talk about them with no detail makes me think that they might as well describe algorithms as some mysterious fairy-like substance that causes magical things to happen.
- CodeCube 12y agoHopefully this isn't too spoilerish, but this reminds me of the scene in Transformers 4 where that one guy screams, "Algorithms! ... Math!" :P
- gavanwoolery 12y agoLooks like it could be a good game either way, but I'm questioning their use of words when they say "every atom" is procedurally-generated, as in their first reveal trailer. http://www.youtube.com/watch?v=U6fCn8oB-sg http://www.youtube.com/watch?v=U6fCn8oB-sg From what they have demoed, they have not proven that anything actually is being generated. My best guess is that they randomly vary colors and textures (and generate the atmospheres, as they say), and randomly place models about the planet, which is a far cry from actually generating all of the models and animation for everything. A lot of it just looks modeled by an artist (and they do have an artist on their team). Anyhow, I don't think this will necessarily detract from the game, just a nitpick on choice of words... An additional concern is how quickly this game came out of nowhere (I think?). The Inovae (formerly Infinity) engine took many years to develop - it was one of the first of its sort to allow seamless planet to space transitions with tons of terrain detail. If you look in close detail at the differences between the two, you can tell that No Man's sky does not have a very good sense of scale when flying into a planet (unless the planet were incredibly tiny). Also, note the angle of the fly-in is straight on; its much harder to prevent detail popping when flying in tangentially to the planet and I wonder if they have yet addressed this. Again, just another nitpick. :) No Man's Sky (2:00 in for the planet fly in): http://www.youtube.com/watch?v=nLtmEjqzg7M http://www.youtube.com/watch?v=nLtmEjqzg7M Inovae/Infinity: http://www.inovaestudios.com http://www.inovaestudios.com and http://www.youtube.com/watch?v=a6a69dMLb_k http://www.youtube.com/watch?v=a6a69dMLb_k
- tiglionabbit 12y agoThat bothered me too. They clearly aren't simulating atoms here.
- chris_mahan 12y agoI wonder, if atoms, then molecules, then DNA, then viruses. We'll see if the dinosaurs get sick, and whether there will be players who choose to become doctors to heal, or at least understand the diseases. Mmmmm, somehow, no. There has to be some level of abstraction, otherwise they'd be recreating the actual universe, and I don't think the PS4 could handle that.
- mratzloff 12y agoHoly shit, I guess I'm getting a PS4. I suspect--or hope, at least--that they've built meshes that can be combined in a myriad of ways, so by combining the hundreds or thousands of combinations you can get millions of animal or plant types.
- kelvin0 12y agoThese are animated characters. So not only do you need to have the 'flesh' made procedurally (meshes/polygons), but also the 'bones' onto which the meshes are attached for animation. Procedurally creating static meshes is one thing, doing the same for bones and animating it with a mesh so that it looks credible is a whole other story ...
- DanAndersen 12y agoThe issue with a lot of procedurally-generated content is that overall things become same-y. Lots of breadth, little depth. When you have a set number of variable sliders, you don't have to see all the possible worlds to get a sense of how many sliders there are and what their ranges are. The problem only gets worse when moving away from planet/landscape generation (dumb matter) and getting into simulations of history or society. I'd be really interested in learning about any work in the "interestingness" of procedural content. Is it possible to quantify that sort of emergent complexity that happens in life, or in a work or story with artistic direction that takes on a life of its own? Can a system make a billion compelling and unique stories without solving the issue of Strong AI and just making a superintelligent DM?
- gavanwoolery 12y agoEven though I am an advocate of procedural generation, I concur that this is a problem with procedural generation. Even though one algorithm can create millions of permutations, they are all based on the same algorithm (for example, you can vary the size and distance of Worley noise in many ways, but in the end it looks like variations on the same type of noise). For each really new thing you want to produce, you basically have to create a new algorithm to produce it. You can often combine algorithms (say, combining simplex noise with worley noise to produce rocky terrain), but there are only so many interesting ways you can do this, and so many ways you can do it that won't break your game. You can't go wild adjusting the parameters, because 99 percent of the results will look like junk, so you often have to restrict yourself to meaningful subsets of the parameters. Really, it gets pretty close to manual generation at some point, because there is so much human input. Even if you were creating creatures, simply varying the amount of limbs would only produce so many interesting results. Then you have to code separate algorithms to generate eyes, horns, claws, skins, fur, etc -- and then make sure that every generated permutation looks ok. Edit: to add an additional distinction, I am referring to the generation of visual content here. You can do much more in an emergent (AI-driven, state-based, or chaotic) system and produce surprising results, although you still fall into the dilemma of making sure that all resulting permutations look/function correctly.
- 12y ago
- protonpopsicle 12y agoNone of these articles on No Man's Sky ever mention Noctis, which is really strange. That's clearly a precedent here worthy of mention. http://en.wikipedia.org/wiki/Noctis http://en.wikipedia.org/wiki/Noctis
- of 12y agoIt's very strange, and a little disheartening. Noctis is the best! http://anynowhere.com/bb/layout/html/doors/local/frameset_noctis.html http://anynowhere.com/bb/layout/html/doors/local/frameset_no...
- JetSpiegel 12y agoNot even Spore.
- dsuth 12y agoWe don't talk about Spore.
- kazagistar 12y agoLets not even go there. Too much disappointment down that road.
- mladenkovacevic 12y agoAnother space game coming out this year that will heavily use procedural generation to re-create the milky way galaxy is Elite: Dangerous. I'm in the beta and it already looks great despite many features not yet being activated for the beta players.
- McP 12y agoYou can't land on planets :(
- mladenkovacevic 12y agoThis is coming out as an expansion after the initial release of the game. Or at least that's what the developers are promising if the initial launch goes well. Indeed planetary landings (and walking within a space station) requires as much work, if not more than, the space-flight stuff, so it's understandable that they don't want to just tack it on. Frontier and First Encounters games all had seamless planetary landings so the goal has always been to include them in Elite: Dangerous as well. Everything the developers have promised so far has been realized (although some things a little later than initially scheduled), so thus far it's a good bet that they are not overselling their capabilities.
- eps 12y agoCheck out Universim.
- thisjepisje 12y agoNow what would be really interesting is to have some sort of rudimentary evolution in a game like this. Star systems, planet geology, flora, fauna, everything.
- mbenjaminsmith 12y agoNo, what would be interesting is everything that you said with the addition of relativistic-speed travel. Take round trips near (or over, depending on your reference) the speed of light and watch how things evolve.
- stevejohnson 12y agoI downvoted you because of the unnecessary one-upsmanship and trivialization of the grandparent. You might have your own idea, but you don't need to dump on his.
- mbenjaminsmith 12y agoI'm not sure how you read either of those (horrible!) things in my comment but since I wouldn't want to ruin the OP's day, let me try again. Instead of: > No, what would be interesting is everything that you said with the addition of... How about: > Yes, what would be interesting is everything that you said with the addition of... I think this is officially the silliest thing I have ever felt compelled to type.
- JetSpiegel 12y agoMy god, the Loading times would be unbearable.
- tiglionabbit 12y agoI'm very impressed that you can fly from the surface of one planet to another seamlessly. Sure the science of partitioning space and changing levels of detail based on distance isn't that difficult, but it is rarely implemented.
- anigbrowl 12y agoI was impressed by the demo until I saw the very flat explosions that just faded out quickly, which took me out of the illusion immediately. Perhaps that's just a pre-production thing. Impressive product even if the article is sort of gushy and breathless...when I was playing Elite back in the 1980s the planets were just a circle with a smaller circle rotating on it for perspective XD
- mladenkovacevic 12y agoDid you know Elite is going to have a sequel end of this year? Planets looks a little better this time around: http://img4.wikia.nocookie.net/__cb20140618220148/elite-dangerous/images/7/75/Earthlike_planet.jpg http://img4.wikia.nocookie.net/__cb20140618220148/elite-dang... http://img2.wikia.nocookie.net/__cb20140618220220/elite-dangerous/images/4/44/Earthlike_planet_02.jpg http://img2.wikia.nocookie.net/__cb20140618220220/elite-dang... http://i1242.photobucket.com/albums/gg522/frobitz/ed-rings-8_zps6b3b2dc8.png http://i1242.photobucket.com/albums/gg522/frobitz/ed-rings-8...
- anigbrowl 12y agoI have been trying to resist the temptation to purchase the beta edition :)
- scarygliders 12y agoI bought the Premium Beta a couple of weeks ago and have not regretted it one bit ;) Only about a week to go till the next update to the Beta and I'm looking forward to it - oh and premium beta entitles me to lifetime expansions so I reckon it's good value for money. Go for it - you won't regret it ;)
- vidarh 12y agoBut Frontier: Elite II did have seamless planet to space to planet flight, and procedurally generated planets. And accurate orbits (you could watch sunrise/sunset, and watch the right stars show up in the sky for example). This game looks impressive in terms of generating fauna and flora etc. but the planet to space flight and procedural generation in itself is hardly new.
- lotsofmangos 12y agoTo be honest, I thought our sun would be around a lot longer. “If you were to visit one virtual planet every second,” he says, “then our own sun will have died before you’d have seen them all.” ... "The tens of millions of planets that comprise the universe are all unique."
- aetherson 12y agoThat's pretty funny. Though what I think they're saying is that the total size of the result-space for their planet generating algorithm is, whatever, hundreds of quadrillions or quintillions or whatever it is that makes that work out, but that a given instance of the universe comprises tens of millions of planets.
- hellbreakslose 12y agoNice idea whats different between what they are doing and minecraft?
- coldcode 12y agoI was excited to read about it until I saw it's only for a console. I've wanted to build a unique "park" world with similar ideas for a long time, but never had the time or resources. I guess you have to start somewhere, but doing this for a single console (P4) is not what I would want to work with. Outerra is the engine that has taken real world geometry combined with procedural geometry in the direction I wanted to go and is built for PC/Mac when it's complete.
- Ogre 12y agoIt's likely coming to PC as well. It was announced last year without any console attached. At E3, it was at Sony's keynote, but it wasn't announced as an exclusive. On the other hand, they haven't explicitly said it will be on PC either, it's just an educated guess.
- ChuckMcM 12y agoI'm having a partial flashback here and its killing me. Back in the 90's there was a guy who was building this exact same vision "Space Galaxy" or something where every planet was unique, every alien race unique, every solar system, full planet to planet seamlessness. Derek somebody? Generally considered impossible and derided by the PC gaming press corps. I agree with most that you need a certain dimensionality to the generation in order to get something credible. Definitely going to check this one out when it comes out.
- JetSpiegel 12y agoDerek Smart! Never forget!
- jimmcslim 12y agoBattlecruiser 3000AD! http://en.wikipedia.org/wiki/Battlecruiser_3000AD http://en.wikipedia.org/wiki/Battlecruiser_3000AD
- JetSpiegel 12y ago65% on Metacritic. If that doesn't show what that site it, what does?
- swang 12y agoRIP coke machines.
- ChuckMcM 12y agoYes, that's the guy! At least I had his first name right. Such a huge vision of what he wanted to build.
- jimmcslim 12y ago"The tens of millions of planets that comprise the universe are all unique." We will probably never know, but I wonder if the reality of our own universe is that any life on other habitable planets will look remarkably similar to that here on Earth; given the parameters within which a sustainable biosphere are possible quite narrow. There might be some local variation but nothing that would be particularly mind-boggling to biologists (e.g. non-carbon lifeforms). I think Brian Greene suggested that in a sufficiently large (i.e. approaching infinite) universe, if you travel far enough you will eventually encounter a multitude of 'Earths' that are the same as our own but subtly different in various ways. In which case, if its a criticism of procedurally-generated worlds that they tend to have a lot of repetition, then the models are probably quite accurate!
- abroz 12y agoThere are several kinds of infinite. The kind where assuming the universe can be arbitrarily large would eventually allow you to encounter a parallel or subtly divergent Earth, with a historic Napoleon and where people speak Hindi, probably isn't the kind of universe we inhabit.
- prawn 12y agoI read something on Reddit the other day which goes some way towards capturing my expectation about NMS. It's not particularly succinct. http://www.reddit.com/r/truegaming/comments/28cddf/im_worried_about_no_mans_sky/ http://www.reddit.com/r/truegaming/comments/28cddf/im_worrie... That is, procedurally-generated worlds are one thing, but an engaging environment (Minecraft) or story or purpose are other things entirely. I have a flat game concept involving procedurally-generated concept but just can't think of what might tip it over into super-engaging territory.
- kizer 12y agoI think the key mechanic that makes games like Minecraft fun is simply the creative element. Once players are given the opportunity to not only experience a dynamic world, but also shape it, that's when they feel that it's truly not static. Otherwise, the "procedurally generated" aspect is just eye-candy, as the reddit post mentioned.
- shmerl 12y agoPS4 only, really? Why can't developers release cross platform games these days? Releasing it for one platform prevents a significant amount of potential users from even trying the game. I'd play it when they'll release a Linux version.
- danschuller 12y agoIndependent developers need money to fund the development, being exclusive to a platform gives you those funds, as well as marketing and various other forms of secondary support. The alternatives are a publisher (historical a pretty mixed bag, gaining control of your IP, changing the focus or name - see Divine Divinty) or crowd-funding (usually not enough to fund the entire project, unless you're Star Citizen :)).
- shmerl 12y ago> Independent developers need money to fund the development, being exclusive to a platform gives you those funds How exactly? You can say that releasing for a single platform reduces costs. But how can it give you more funds? Marketing isn't really bound to limiting platforms (only expenses wise, same as development). However covering more platforms gives games more exposure, so more potential sales. Cross platform tools are quite good these days (SDL2, etc.) so overhead of cross platform releases while still present is going down. A lot of the independent games of interest that come out these days are cross platform to my knowledge.
- MoistDinosaur 12y agoCan we please call this what it is. Spore: Galaxy