Today will be a mental exercise and if you think on it too much it can be a mind melting situation. You see there is the potential of a paradox within this post and paradoxes can cause us to infinitely spin and loop and circle through pretty confusing experiences. We often see movies, read books, and even play games that involve time travel and the potential paradoxes within that concept. The simulation hypothesis contains its own potential paradox.
(Source: my post from 2016 on steemit)
(Source: my post on steemit from 2016)
This post will be broken into two parts. The first part is going to be on Procedural Generation as I have mentioned it numerous times. I wish to spend a bit more time explaining what that means, what it enables, and ways we use it today. It is important for the second part where we delve into some potential future ramifications of our own simulations that we create.
Procedural generation is at the heart of it using mathematical functions combined with some computer algorithms to produce complex things with as little as a single number. They can have more input than a single number, but that is generally the smallest amount.
An extremely simple procedural generation technique used all over the place is the random number generator (RNG). RNGs are always constructed by an algorithm. They use a mathematical function to generate a floating point number (Discussed in this post) which can then be applied to give a random number result within a specified range. If you wanted to simulate rolling a 6 sided dice for example it would provide a random number from 1-6. Some algorithms for this are more effective than others. They generally require what is known as a seed. That is a number also used in the mathematical function and used in the process of producing a result. Generally speaking the algorithm will then use the next seed as the floating point number that was previously generated. In these cases if you started a simulation with a certain SEED number the "random" numbers produced would be exactly the same as those generated last time. It is not actually random. It simulates being random. As far as human observers are concerned it is indistinguishable from true randomness when it is properly implemented. Sometimes the seed is tied to grabbing the time instead of letting a person enter a value. By doing this the input is taken out of the hands of humans and is almost impossible to distinguish from true randomness. The algorithms can sometimes end up being statistically weighted to show certain numbers more often than others. When a flaw is detected this is usually what people notice.
Early on in the discovery of fractal geometry and applying it to computers generating mountain scenes became all the rage. With some simple numbers you could produce a seemingly infinite number of mountain scenes. This was based off of a seed value.
All of that detail was generated from a very small set of numbers. Depending how the algorithm was constructed it could be as little as a single number (a seed).
To simulate that we did not need to store all the crevices, the nooks, the crannies, etc. To reproduce it all we need is the seed that was used.
Mazes, Dungeons, and Levels
We have a history of creating random mazes, and random dungeons using algorithms and procedural generation. This is very much alive and well today. It is sometimes used so completely that all of the maps and areas you run through, click on, or otherwise interact with are completely generated from algorithms. This simply requires a few initial numbers, and could be as little as one number. The thing is all of this can often be many different interconnected procedural definition algorithms and that initial seed number for each of them could be supplied by a single Random Number Generator at the beginning that was initiated with a specific seed value. This means entire worlds that are large and that only exist within the game/simulation can be spawned with a single number. That has vast implications. It is a glimpse into the massive power and potential of this technique. We are only getting better and better at it. We can use it to model behavior, weather, and so many other things as well. What we decide to procedurally generate is up to the person designing it and how much effort they put into making the algorithms work well. Often they are a hybrid. They procedurally generate but some of the content is building blocks that have a specific look and feel which the procedural generation will place into the world based upon some rules. This is common with things like trees, houses, and buildings. Though in some cases even those things are procedurally generated.
Procedural Generation can build worlds. Though to do so without noticeable flaws is something we are always striving to improve. Sometimes we leap forward. Sometimes it is a step back. It completely depends upon what the world builder spends time on and has available to them.
Here are a few examples with some comments:
That image is from a project called Crystal Rift. I wasn't looking for it in particular. I just did a search on Procedural Maze because I knew there would be a lot of examples. This is one of the more common things that we have been doing for quite some time. I intentionally wanted to start at the low end.
(Source: iparchive.org*) - Angband
(Source: worksheets.us*) - Dwarf Fortress
Angband is a popular Rogue Like that has been around for a long time. I intentionally wanted a level using ASCII characters for graphics. Most Rogue Likes have procedurally generated maps.
Then there is Dwarf Fortress which is enormous in how much is handled by procedural generation. It generates a world, it's back story, it's gods, artifacts, civilizations, and so much more all procedurally. In this case I just provided a world map presented in ASCII. Each cell of that can be zoomed down into and operated with at a large level. Dwarf Fortress is a standard for how far some things go. (NOTE: It is a difficult game to learn but very deep and engaging if you do)
(Source: pcworld.com) - Minecraft
No procedurally generated example would be complete without Minecraft making an appearance. A simple seed value for the world and a truly gigantic world is created. The amount of procedural content it generates has only increased over the years by the development team at Mojang themselves as well as by the large modding community.
Yet it is hard to look at that for many people and extrapolate that into being important for the simulation hypothesis. This is true. It is important none the less to show how vast something can be and all the computer needs to make it is a single number that acts as the seed for that world. There is even a community that has arisen around this game that simply shares interesting seed values and the coordinates that they thought were interesting. People are spending a lot of time exploring these virtual worlds, talking about their explorations, and even sharing ways for other people to experience them. It is like they are writing tourist guide books for virtual worlds.
I can keep doing this for a long time. I am going to show two recent examples that while not expressing ultra realism they are each popular and interesting:
(Source: vg247.com) - No Man's Sky - Procedural planets, solar systems, fleets, etc.
(Source: gamespur.com) - No Man's Sky
(Source: gamespace.com) - No Man's Sky
(Source: blog.eu.playstation.com) - No Man's Sky
No Man's Sky is ambitious. It wants to create procedural everything. It doesn't do that completely, but it fakes some aspects of it. The plants and animals are supposed to be procedurally generated and they are to a degree. If you are familiar with game development you'll invariably notice the presence of blendshapes (aka morphs) and it looks like creatures and plants likely have a random amount of various blends chosen. The model is designed with all the possibilities for blends and then it randomly determines what weight that blend should be. It would be like choosing a random nose size, jaw size, etc. to produce a face. They do that same thing for animals and plants. They also even do that for space ships and many other things. This also includes choosing colors.
Hello Games made bold claims before the game was released. It wasn't remotely close to those claims when it was released. Hello Games was roasted and blasted by the gaming world. Instead of charging people that bought it for updates they keep releasing them for free. Now numerous years later they as far as I can tell have met the initial claims, and even gone beyond that. They are good example of a redemption story. They are also a good example to game developers for how you should handle it if you make a mistake in the gaming world with your release.
(Source: twinfinite.net) - Valheim
(Source: floridadailychronicle.com) - Valheim
Valheim is a Norse Mythology based world that was developed largely by one person but the team at the time it released was seven people. It has retro style graphics but the lighting, and how they approached it are quite brilliant. Their approach was simple in many areas and they just hit that correct recipe for combining things. It is still in development and they are adding some things. Why did I bother listing it here?
The world is interesting as well because it is on a procedurally generated disk. You can actually sail far enough to fall off the edge of the world if you so choose and that is by design. I like to share that when considering many creation myths and concepts that people sometimes consider our world having.
(Source: inverse.com) - Valheim
With all of that displayed you hopefully have an idea of what might be done with procedural generation. The answer is pretty much anything as long as we come up with the proper algorithms and have the equipment to handle it. Yet since we can generate it on the fly with only a few numbers the amount of resources such equipment might require is dramatically reduced.
Let's get into our own simulations...
What about our own simulations and the simulation hypothesis?
Now consider that our own simulations are increasing at rapid pace. This is occurring in the field of scientific studies, but I personally think it is most rapidly occurring in the game development space.
Gamers and Game Developers are on the never ending quest to create new experiences, and make them seem ever more real and engaging. This can be in the level design, but it can also be in the form of making the behavior of the animals, and people not controlled by the player (aka NPCs) seem ever more life like and convincing. Is the way they live their life something you could follow an NPC around and it would be convincing as something alive? At some point can you make it difficult to tell the difference between a player and an NPC as far as behavior and dialog go? Currently we are not there. We have been rapidly moving towards that though. I personally don't think the pace towards that has been nearly as fast as sensory (audio/visual) experience. While the ability to make realistic looking worlds with realistic sounds is rapidly approaching singularity (indistinguishable from reality) we are still quite some distance from achieving the same with life. That would take some very convincing expert systems that mimic life so convincingly with a lot of details that we think they are real, or we would need to produce true artificial intelligence. At this point most of what people call artificial intelligence I refer to as expert systems. They are excellent at doing certain things but I personally don't think that makes them intelligent.
As we apply that to our own simulations as far as sensory perception I do not think making a to scale solar system with full planets and everything is out of the realm of possibility with procedural generation in a decade. That doesn't mean people will go for that. I do think it is in the realm of possibility. That is almost doable with today's technology. You could make it to scale with today's equipment. With your desktop PC if it is top of the line. Yet it wouldn't be quite there yet in terms of visual fidelity.
Also it would be a fake solar system. We wouldn't map each and every detail in our current solar system. In order to do that we would need to be able to visit all of those places to collect the data to replicate. In so doing it would no longer be procedural but hand crafted.
As our simulations become more and more complex prepare for the paradox:
Imagine we have a futuristic or modern simulation much like the Sims, but way beyond that:
(Source: legitreviews.com) - The Sims Mobile
We watch the sims walk around and they are no longer talking in the gibberish language Simlish but are talking in English and other languages. They are having conversations with themselves. You the player observe and can manipulate as usual. They even play video games, and mess around on their computer.
One day you notice them playing around with John Conway's Game of Life on the computer. You may think... "Wow that is cool, look the sims came up with the game of life".
Time is running at a hyper accelerated pace. You leave it running.
You come back the next day and there is a more complicated simulation running. You are impressed and intrigued. Over time you watch the simulation become more and more complex. You recognize mathematical equations and procedural generation algorithms.
You step away...
You come back and there is some battle going on in their simulation that looks like it came straight out of history books. Wow! How is this happening?
You step away...
You come back and see your sim staring at a screen. On the screen are what appear to be sims. One of them is staring at a screen. You turn your head to look behind you and you notice one of the sims in your sims screen rotates his head similar to your own.
Paradox... BOOM! Head explodes. Your simulation simulated you simulating it.
Is it possible? While likely not the case. It is fun none the less to imagine. It also does demonstrate the potential power of procedural content generation. We do not know what the limit is. It does allow us to generate things that by traditional means would be way beyond the storage and processing capabilities of our equipment to perform.
We can simulate systems with procedural generation that are beyond the capabilities of the machine if we were to attempt to hand craft the same content. A Minecraft world placed block by block by hand would take up far more storage space than we have available. It could not currently be done. Yet it exists. We only need a single number to make it happen. If we change that number we get a completely different world.
We do this on pretty low powered equipment by today's standard.
When considering the Simulation Hypothesis the ideas that seem IMPOSSIBLE can come to mind. Without procedural generation they likely would be impossible. With procedural generation and advancing tech there is no limit that I am aware of that might be accomplished using procedural generation. It is the missing component that many scientists who talk about the simulation hypothesis often miss.
When Neil DeGrasse Tyson hosted a panel on the Simulation Hypothesis in 2016 I believe it consisted of a lot of brilliant minds. By their very intriguing discussion I could tell that none of them were considering procedural generation when they were discussing possibilities. Every case they mentioned could easily be solved with procedural generation as far as I was concerned.
I have yet to see a skeptical challenge that potentially could not be addressed by procedural generation. Since we use it ourselves in ever increasingly complex ways it is even plausible as far as I am concerned.
It is definitely one of those interesting things to consider. To me it is just as interesting as thinking upon time travel and the paradoxes introduced by it.
EDIT: As to my images that say STEEM and STEEMIT. I share them when they are relevant. Eventually I'll get around to make some HIVE centric art. When I share them it is because I already made them, they are my creation, and they are relevant to what I am writing about. I haven't actually published anything on Steemit for over two years and have not intentions of doing so.
The next post is on Special Relativity and the Simulation Hypothesis.