Armed with a small team of programmers and an ambition to recreate some of their childhood fantasies, they made an escape to unexplored spaces into another vast universe. Hello Games, with their staggeringly beautiful creation, No Man’s Sky make it hard to believe that a team of four could create something so unfathomably brilliant. They didn’t need a team of hundreds to create this experience, just instead only a year of programming. The technology behind it comes from the idea that the game can create its own content and then iterate it to countless variations. Everything you see in the game is the result of a mathematical calculation the result of which is always the same for a specific input. The mathematical formula behind it runs only when a user wants to see it, hence an object gets created and shown to the user only when it needs to seen and does not exist otherwise. As a result the objects are generated on the fly and are not stored on the disk or in the cloud.
In the earlier days when computer games were faced with memory constraints on hardware it prevented them from using large amounts of premade content and including it with the game. As a result most of them would create content on the fly using algorithms. Procedural Content Generation is the algorithmic generation of anything in the game world from a simple rock to blades of grass to the scenery to the story. Games today have reached the point where game developers can create and use ‘baked’ characters, models and textures; and put them into the game. Players expect highly detailed environments in games so artists end up spending more time on detailing them to the maximum level possible to meet these expectations.
On the other hand procedurally generated games do not focus on realism but on giving each user a different experience when playing the game. Procedural generation helps to make the player feel free when playing a game. Current games use design tricks or build all the possible options into the game to make the player feel the illusion of freedom. But still these tricks / options are handcrafted and manually created and built into the game. To do so you require huge teams and large studios with big budgets. Procedural generation has made it possible for just four people from Hello Games to create the ‘infinite’ universe of No Mans Sky and yet keep every part unique.
Procedural generation is creating a process to create an object. The artist’s codes general principles or guidelines of how each object in the game adapt to their context. These objects can either be fixed or evolving. Procedural generation is very different from randomizing though there are common misconceptions. In fact one of the hardest parts of procedural generation is to avoid random objects put together that feel lifeless and not a part of the environment. Each object has its own ‘personality’ with unique features. Variations in the algorithms ensure visual distinction as evolving object families are built and not just cloned. Procedural generation also extends to concepts like Artificial Intelligence, Physics and so on, not just world building which gives games a chance to be more inventive than just focus on realism.
Some of the earliest contributions to the concept of procedural generation are Rogue – famous in the eighties, Rogue was “graphical generation game” that was often compared to Myst and Doom, favoured enough to give the titles a run for their money. It was also famous for introducing self-generating adventures that would be different each time. There are other games – Spore, where the player begins as a multi-celled organism and explores a large world where even the animations were procedurally generated; Spelunky – a sort of mix of Minecraft (monsters, terrains et al), and Rouge; lastly Elite – one of the most famous, initial games to introduce a space trade/combat genre. Another game to look forward to is, Limit Theory – since its massive endless universe is the tedious effort of a single developer.
Procedural generation opens up possibilities such as generating levels based on the player’s position or status in the game. That way the entire game world can change based on the players decisions. With a whole new generation of programmers and a more literate audience for these games which focus more on the gameplay compared to just ‘realism’ the next logical step in game creation would be the use of procedural generation so programmers so show off. The concept can definitely help improve user experience of a game from a predetermined one to one with unlimited possibilities, sometimes even things that the game creator hasn’t thought of. This will take the concept of ‘less is more’ to a whole new level and enable developers to make their titles as enjoyable as possible.
With your consent, this website shall use additional cookies (including third party cookies) or similar technologies to make our site work, for marketing purposes and to improve your online experience.
You can revoke your consent via the Cookie Settings in the footer of the website at any time. Further information can be found in our Privacy Policy and in the Cookie Settings directly below.
Privacy Preference Center
When you visit any website, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer.
More information
Manage Consent Preferences
Strictly Necessary
Always Active
These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.
Performance
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. All information these cookies collect is aggregated and therefore anonymous. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
Third Party Content Cookies
These cookies may be set through our site by third-party providers of third-party content that is embedded on our site. They may be used by those companies to load, display, or in other ways to enable you to use that content. As this third-party content is provided by autonomous companies on their own responsibility, those companies may also use these cookies for their own additional purposes, such as marketing. Please refer to the privacy policies of those companies for that information. If you do not allow these cookies, you will not be able to use this third-party content embedded on our site, such as videos, music, or maps.