What could AI do for a game like NMS?

One of the possible outcomes of this “experiment” could be hints on the introduction of real-life Artificial Intelligence in our beloved simulation…

So far, the presence of AI on No Man’s Sky has been of the lore kind, all there was behind it, was artistic craftsmanship and linear scripts, and minding the fleeting/bloodthirsty herds of flocking creatures, any resemblance of actual “intelligent” response is lost on replay.

Does not seem far-fetched, that considering they are made of the same stuff, and people who work on both fields are often the same visionaries, that AI and video-game computing/simulation will eventually cross paths.

Not only Hello Games, through their Hello Labs… But many other examples, like this other game I follow Space Engineers, from Keen Software House, have branched their entertainment firm into an Artificial Intelligence division… And Will Wright, way before them, after a glimpse at the procedural universe that was Spore… Surely more?

I find also really interesting that creators from what was Lionhead Studios are mixing with Hello Games. what they meant, back then, was mainly “Choice and Consequence” like it had not been seen (or promised) before. Receivers of unprecedented flack from critics, it drew comparisons between it’s thinking head Peter Molyneux and Sean Murray, for both their visionary ambitions and “short-came realizations” (or PR hell, more accurately). Whatever. They dared were others copied, and both created two of the most interesting, thought provocative games I ever Played: No Man’s Sky and Black and White, 1 and 2. I digress…

Thanks to the All Seeing Eye of Google, more and more people are creating “simple” AI networks that open up a myriad of possibilities for the creation of convincing, engaging artificial paradise worlds, simulations… in short video-games that could result in the most immersive experience ever, or the destruction of mankind, depending on how you look at it.

Here’s a list some stuff I came across over the last months that have inspired me to think what a game like NMS would be with a “real” artificial intelligence ruling it:

Please, share your own media, ideas, expectations and broken dreams, if any…

6 Likes

The idea behind procedural generation, and something that has been a dream for developers, is “a game that makes itself”. A game that would not need to be updated or have DLC because it would continue to create more content to keep players occupied.

As we have seen with No Man’s Sky, such a procedural engine is still limited by the number of assets the human creators put into it. Even with slight variation on every planet, we still get a sense that we have “been there, seen that.”

If a procedurally generated game like NMS was not based purely on math and used an AI that would continually change based on player responses and playstyles, it would get us a little bit closer to that dream game.

Let me give an example of what I mean. One idea I had is that the base-share system (bases players build are uploaded to a server that allows other players to visit them) could be integrated into the procedural generation. The game could take all the bases players have built, and generate them on all planets and give them some new purpose. In this way, the game would have unlimited new buildings as long as players kept designing new bases!

3 Likes

Of course, for that to remain interesting, you would have to have many more varied building parts for players to mess with. But I could see that idea working, as long as the game could inject some sort of meaningful gameplay element into visiting such buildings, rather than just to check them out…

3 Likes

I rather like the idea of getting real life AI involved in No man’s sky. I can see it now, Gek , Vikeen, and Korvax will be replaced by Siri , Alexa, and Cortana factions . It boggles the mind.

:wink:

3 Likes

[quote=“MacForADay, post:2, topic:1291”]
the base-share system (bases players build are uploaded to a server that allows other players to visit them) could be integrated into the procedural generation. The game could take all the bases players have built, and generate them on all planets and give them some new purpose. In this way, the game would have unlimited new buildings as long as players kept designing new bases! [/quote]
Take player’s bases and repurpose them into some sort of mini-quest? Populated by one of the races, or maybe another abandoned structure? That would be super cool. I can imagine it would be some fun to figure out the coding for it but it sounds like something I’d love to see.

2 Likes

There are several problems with Procedural Content Generation (PCG) on a large scale like we see in NMS.

First of all it is the scale itself, where the more you have, the harder it becomes to maintain noticeable differences, without feeling repetitive. It is easy to create just two planets with a huge difference that still works for the game. Having billions however, will result in the appearance of only slight adjustments, thus becoming familiar.

Secondly, the logic or rule set used as well as how they are used, needed to have a playable game. Differences can not be too great and require to be limited to keep the game playable. This logic or these rules are often influenced by or based on each other. This is to result in a planet that makes ‘sense’, which is what we expect to see, but more so, often required for playability.

As a third, I would mention that computing power, although certainly increasing due to technology improving, is still limited. You’d want to increase the amount of rules and logic to have more variety in the resulting generation. The more variables you have, the more difference you can have as a result. With a game that requires to work on both console and PC and with the current ‘average’ technology players have to reach a vast majority, a game will have limited possibilities. The ideas are there as well as the know-how, I am sure, but it still needs to work at preferably around 60fps.

In the above I only spoke about procedural generation. The generated surface then needs to be filled with vegetation, species, structures and whatnot. Once again this uses a lot of rules and logic often based on an existing model to create variations. As said by @MacForADay, the amount of assets/models partly determines the variety. The logic and rules used in formulas can create further variations, but is similarly limited to what I described above.

This is a nice idea, but would not be logical. The universe already exists and has a default generation to start off with. It would be possible, but not make sense to include structures build by others in a universe that existed way before we the travellers arrived. It would be awkward to newly discover a planet to then find structures that players have created elsewhere, as if someone else has already been there. We would lose interest in discovery.

What I would love to see is more signs of past events before we as the travellers arrived. Include more assets/models that fit the other species, find towns/villages that were or are still being used. I would also love to see the ‘variety’ or logic and rules, pushed to their limits, if not reached already. Maybe even loosen up on some of the rules, while introducing new rules. However, like I said, I am not sure if this is even technically possible. They did a great job already, but if more Lore is planned to be added, I expect more visual evidence to be required to accommodate this. Either way, if we consider the ‘creation’ back-end to be the AI, then I hope we can expand on it. Not sure if we want this AI to become a singularity, or some sort of rogue AI, as that will probably break the game and make it unplayable.

Some interesting documents for those interested:

  • Patterns and Procedural Content Generation in Digital Games - Steve Dahlskog
  • Visualization, Adaptation, and Transformation of Procedural Grammars - Stefan Lienhard
  • Controlling Procedural Modeling Programs with Stochastically-Ordered Sequential Monte Carlo - Daniel Ritchie et al.
  • Procedural Content Generation via Machine Learning (PCGML) - Various
3 Likes

Yup. Just about right. Making a game like this, taking into account all matters involving technology, playability and scale is just amazingly complex, and I think HG did a pretty good job.

In any case, the good news is that this is just beginning. NMS is certainly not the first game to use procedural generation, but it’s probably the first one to put it into the main focus and attract mainstream attention. As much as people enjoy hating NMS, everyone ought to give HG credit for starting the procedural generation race. Now everyone is doing their take on the procgen universe thing, and I think that’s ultimately a good thing. The result will be a huge step forward in procgen technology, so I’m convinced that in a few years we will see technically much better stuff.

NMS has very obvious limitations. It will always have a special place in my heart, don’t get me wrong. But for instance, the technique for spawning buildings is quite obvious. They randomly pick a spot on the planet and level a large enough circular patch of ground surrounding it. This severely limits the kind of things you can encounter. For instance, there can’t be anything like this: http://www.ecestaticos.com/image/clipping/654/155e31c0d38896fbce5197ef258a9de1/una-de-las-vistas-mas-famosas-de-las-casa-colgadas-de-cuenca-shutterstock.jpg

Constraints like these are most likely necessary to avoid glitched buildings, and they’re probably so severe because of the limited amount of time they had. But I’m sure that eventually some developer will figure out a robust way around them. And eventually it’ll be built into game engines. And that day, every other game will just have procedural universes miles ahead of what we have today, at least technically.

Therefore, all the hurdles that HG had to overcome to put NMS together will probably not be there for the next developer in line, or at least they’ll be more easily surpassed.

3 Likes

@Virakotxa Regarding the role of AI, well, we must take into account that AI is indeed already present in games, although always in very crude form. Nevertheless, the field of AI is probably less sophisticated than you might imagine, so it’s not like simply putting a greater emphasis on it would necessarily make that much of a difference.

There is one particular branch of AI that is taking off right now, and I think it’s going to bring major improvements to games. However, it’s not just a matter of AI scientists and game developers crossing paths. To make it work, a lot of research is going to be necessary. The problem here is that the technological push in video games is mostly led by the industry, and we all know that companies are most often reluctant to take big leaps forward, especially when the short-term ROI might be zero.

I hope initiatives like Hello Labs succeed. Perhaps they are the only viable formula for fast-paced improvements in game AI and similar technologies.

There is some movement in academia, though, as the links provided by @DevilinPixy show. It’s just not a field that many people want to fund, which is understandable. If you had a million dollars to give away for research, would you choose game technology or a cure for cancer?

2 Likes

The first problem is, AI is expensive. In terms of computing power, not money, although both usually apply.

The PS4 is seriously challenged as it is. Not its GPU actually, which is still better than in most mid-range laptops (like mine, I’m playing the game underspeced), but its CPU has lost the race long ago. The dual-core I7 that is by now practically standard even in the low-price segment of laptops runs circles around it, and the CPU is where AI needs to run (The GPU is for serialised pipelines, which is pretty much unusable for heavily stateful AI computations).
The PS4 could potentially compete due to its 8 cores, but writing code that can really utilise 8 cores in parallel is very complex, and oftentimes impossible. You can only have concurrency to some level, so something will always be waiting for another core to finish, losing a lot of that potential advantage.

And then there’s the devil that is procgen. See, most of the seemingly smart AI in shooters aso rely heavily on propper data of the map. That AI don’t see a 3-d landscape when making its decisions. It’s seeing a tree of data points that have been carefully weighted by the developers. ProcGen means you can’t do that. First you need to expand valuable CPU power to generate your actual map, and what you’d need then is a first-level AI that evaluates what was being generated and create a properly weighted pathfinding tree, and you don’t even know what to weight for. Is there going to be a fight on that currently generated terrain section? are people just supposed to stroll around aimless? Or are they on-route to locations that the AI cannot even currently know about with precision, because it’s too far away? And how smart is the creature supposed to use that data, because if every animal suddenly starts running for cover and coordinates with its mates to draw your fire while the others try to outflank you, that’s not really the effect you want either. That’s behavior you’d expect from the Sentinels.
In effect, you’d need to generate several trees, for several scenarios and activities. On top of that the thing has to be dynamic enough so it can insert or remove nodes at will when the player moves and you need to cover the newly generated terrain. And all of this can’t really be paralelised, because the AI doing that has to have the full local terrain available (ergo wait until that is finished), and anything supposed to use the data outputed by this has to wait until that is available, otherwise they’ll just move around aimlessly as they are doing already until that generation has finished.

I won’t go as far as to say it’s impossible. But it’s never been done before, and would be a serious challenge to anybody, even companies like Google, who pretty much own the research field of AI at the moment. As a result, I’m not seeing it happen.

That said, there are minor things where a bit more smarts in the code could help and wouldn’t be too hard to implement. For one, I don’t consider the Idea of MacForaDay to use the data gathered by base sharing to train an AI to build more diverse bases oo far out. It was pretty much the first fought that occured to me when I heard about base sharing back when pathfinder came out. Not neccessarily that they are actually doing it, but that it would be a neat opportunity. Maybe something would come out of it, maybe not. That’s the trouble with trainable AI, you’re never quite sure if it works out. But it’s also reasonably cheap enough to give it a go.

A lot could be improved in space combat, because AI for that is relatively trivial (as compared to AI that has to be terrain aware). But then again, if they do anything about space combat, they should first of all make an actual interface for it…

Creature behavior should be improvable, and I fully expect it to improve a bit, I’m just not sure to what extent. Something simple like having creatures move with more purpose, like herds on migration or packs of predators attacking with some minimum of logic and organisation should be doable, but that also depends on how exactly creature movement and distribution is spawned by the procedural engine. Do they just randomly spawn in a place according to a generated probability map, or is the system smarter and employs probabilistic distribution functions that give flocks of creatures a semi-predictable path over the planets surface? All of that stuff is pretty much unknown, and influences a lot of how much could be done with how much effort.

3 Likes

A lot of game AI can be implemented but the players will just wreck a lot of it as soon as they can. Take for an example: The devs at Origin designed Ultima Online to have symbiotic fauna & flora. They wanted animals to have herds and migrate. They wanted plants to nourish the animals and trees to provide protection. They thought that the players would have to wait for or encourage flora to grow to feed the animals that they’ll need to harvest. In reality, the players just slaughtered everything, ripped out every plant, and cut down every tree from Day One! The Devs abandoned their “grand design” and went with the usual “spawn-at-the-same-spot-over-time” route…which we pretty much still have 20 years later.

Sometimes grand designs are destroyed by player need & greed.

TQQdles™

2 Likes

Except that would not actually be a problem in NMS. The galaxy is a big place, and the universe even bigger… Wrecking the ecosystem of even a single planet would be a major undertaking that requires cooperation from multiple players, and would probably get everyone involved a permanent 5-Star rating with the sentinels :smile:

1 Like

Help from multiple other players is currently not really useful, since the game world is not persistent. We all get to see our own client side part of that ecosystem on said planet. Same goes for the Sentinels, we will not all be able to see what has been done by other players. Players are on their own for that matter.

Edit: It would however be great to actually have a full persistent world for that matter.

2 Likes

It would… but ProcGen doesn’t lend itself to that, unless you go the elite dangerous route and manage all states on a central server. But elite dangerous has a few billion less states to manage than NMS would have to.

1 Like

Oh yes, very true, which is why I have doubts about multiplayer ever becoming a thing.

2 Likes

Thanks for this very interesting thread!
The issue of AI and the issue of multiplayer are actually connected.

When i first read this thread, i was thinking of the AI as a separate species in the game that PCs can interact with, much like the existing races but with player choices acting as input for AI choices, which then affects player choices again etc. This works fine for a single player game I guess.

However, Atlas is interested in us citizens as a COLLECTIVE, where collaboration between us PCs is vital. I’m sure we can agree that Waking Titan is fundamentally different from a single player game.

Since they, or waking titan, are the ones starting this whole AI thing (mainly through the infamous question in their survey), it seems to me reasonable to conclude that also from an NMS perspective, AI is meant to relate to us (and not to “me” as it were), i.e. bringing about MP aspects within the game.

I for one do not beleive that NMS will ever be an MMO, in which an AI interacts with us players in a real-time dynamical setting.

But then, if NMS stays a SP game, what purpose does an AI actually have? It just becomes another “smart enemy” that I, in my singular game, need to interact with. I would thus create my own little sorry line within the game that is separate from anybody else’s.

I hope this makes sense to ya’ll :smiley:

2 Likes

It certainly will never become an MMO. Local co-op in a centrally negotiated server instance would seem doable, however. Not that I’m especially interested in either. I’m not very into multiplayer.

Who needs AI when you have massive global real-time think tanks?
:face_with_raised_eyebrow:

Thank you all for the input!
It never actually thought of implementing any type of AI calculation on our local machines… NMS-3 maybe… I was thinking in the lines of implementing a “real” Atlas at the core of it all, using it to make sense of the data we collect for it, keeping track of our actions, discoveries… And using that to iterate the symulation, running in the background from wherever and feeding us with the changes and updates when we go online.
Without stepping into unprecedented applications, it could be used to keep the universe in motion, using us as its eyes…
The three (four?) races in the galaxy could be made dynamic, responsive to our collective actions and have their empires grow or contract acording of the outcome of their war/economic/assimilation?/diplomatic? endeavours… And how we help them, or the contrary.
I can see it keeping track of the balance of prices, based on the resources discovered and traded (as intended originally) but also using that to make the trade-routes something that expand through systems or even the hold galaxy. And battles… With an outcome meaningful to an overarching war.
The creatures… It could be used to output complex behaviour and animations based on the “random” procedural creations, keeping track of their ecosystem, etc…

1 Like

How? That would imply that the galaxy is known, but… it isn’t. The counterintuitive thing when working with ProcGen is that the computer doesn’t have all the data available at any given point. To illustrate the point, it would be fairly trivial to implement economics for a local sector in space, where availability in systems influence each other and form some sort of natural trade routes (they would be fairly static, though). But… the systems at the outsets of that region would have economic ties to systems that are not currently known, and those again will be influenced by others. In short, things realistically influencing each other requires that the full system be known, and that is not possible for an unconstrained procedural system like NMS.

That said, things would be solvable to a fairly satisfactory degree. In-system economics and dynamic systems are no problem in and of themselves. For example, Rebel Galaxy like solar systems would be entirely possible, if that is what Hello Games wants to do. Inter-system dependencies could be solved by creating bubbles of inhabited and uninhabited space that have no ties with each other, but here trouble already begins because you must have them spaced out adequately yet interestingly, which is a non-trivial function (though certainly a solvable one).

THe problem in the end is that the amounts of data required to keep track of even only one completely inhabited Galaxy in NMS literally boggles the mind. That’s why it has to be done by procedural generation in the first place. But procedural generation, as mentioned, is stateless. Has to be actually, or consistency of the galaxy could not be guaranteed.

2 Likes

Actually, the seed that decides what we’ll find when we visit a system nobody’s been to, is fixed… That’s what keeps all being the same, no-matter who discovers it first, and allows for next player to find the same if they ever go there… No dice are thrown when somebody gets there, and then it gets shared with all… The content of the cuatrillion planets it’s all there, in seed form, we just read it as we go, it’s not being generated…
Here the implementation of AI could be crucial, since it could potentially read it all, or as it is needed, making those ships come and go from undiscovered sectors near active players… For example.
If there is one thing AI is good at, already, is making sense and keep track of the relations between mindbogling amounts of data…

5 Likes