Computer Gaming Technology Honours Thesis Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Procedural generation processes refers to a wide variety of techniques for automatic model, texture or sound, these can be used to create these objects that are either too complex or tedious for an artist or developer to build within a deadline or budget. Common examples include natural objects such as trees and terrain or manmade objects such as buildings or even cities. Procedural objects are often defined by a small set of data that describes the overall properties for the object to be based upon. An example of this is a tree could be defined by some branching properties and leaf shapes, the actual model would be constructed by a procedure that often makes use of randomness to add variety and for this example a single tree pattern can be used to model an entire forest in a gaming world.


1.1 About Gaming Demand

Gaming in general has become global phenomenon and the demand for content as such has become increasingly prodigious and due to this game design has had to take advantage on the development of technology evolving and the power of computing increasing. From the start of gaming in 1985 which saw the likes of Tennis for Two being created by William Higinbotham that demonstrated at the time the technical capabilities of the Donner Model 30 Analog Computer and the constraints that game designers would face to design gaming experiences that would fit within restricted computer architectures and visual display capabilities. Gamers/Consumers have very high demands nowadays for detail, realism and scale and their demands is forever growing and as such the need to generate content for games has become a forefront for game developers with many methods being used today, With demand being as it is game developers at times simply cannot depend on the traditional method of creating items by the hands of a team of artists instead they could implement the use of algorithmic processes such as procedural generation.

This need for change has not only needed to come due to the demand in which gamers have for their games to perform but due to the unrealistic number of designers and artists it would take to constantly improve from previous content which would lead to not only unnecessary stress but cost which would not only affect the developers but also the gamers. In recent years there has been a focus on creating procedural content generators for a variety of different elements for in game content for example procedural generation for sounds or environmental objects to real time procedural texturing. Almost all content generators that have been created are made to generate a single type of element for a single game and many games from the past to the current generation of games have utilised these tools to create in game content for their audience. In this paper I will discuss a range of different types of elements that can be procedurally generated with real life examples as a basis.

As procedural generation is seen as a solution to this given content problem it is however not a new concept as it has been utilised for over 20 years in the field of computer graphics for a wide range of applications such as creating 3D textures of natural materials, adding noise to existing textures, animating existing 3D models to certain instructions and generating realistic cellular textures such as skin and bark. Entire procedural games and worlds have been created using this method for example the game Just Cause (Figure 1) has a game area of around 250,000 acres that has features such as terrain, lakes, trees and other natural aspects created procedurally.

Just Cause Screenshot

Figure Screenshot from Just Cause shows the procedurally created world

that can be created by procedural generation

Complex scenes like the example above would initially take months to create manually, now a majority of these scenes can be created using specialist procedural generators that an generate varied models in minutes which shows the time saving capabilities due to its rapid, efficient and reproducible abilities that can help solve the problems of escalating content creation costs and time.

Procedural Generation

Procedural generation is a term that is generally used to explain the process of creating something from a given algorithm instead of a predefined source which in these terms would be a game artist or level editor. For game development the term this term can be used to determine some generation however it is preferred that the term PCG or Procedural Content Generation is used, PCG means the programmatic generation of game content using random or pseudo random processing that results in an unpredictable range of game play opportunities. This term is preferred due to the high influence of randomness that could influence the outcome of the procedural created content instead of the predetermined outcome that could occur from specific algorithmic measures used to create a specific in game object. The idea of randomness is the main attractiveness of the use of PCG in game development as a game has to ensure that from only a few parameters the game is able to provide a large number of possible types of content to be generated.

Another advantage of using PCG for game development is its memory saving capabilities, which in the early days of game development, developers we're severely restricted by memory constraints faced by machines in those times meaning they needed a low memory means of creating content such as maps to be generated algorithmically on the fly, this was to save as much space as possible as they wasn't able to store a large amount of premade content, the first game to feature a procedurally generated game world was a game called Elite which was published in 1984 (Guiness World Records, 1984) and created by two undergraduates called Ian Bell and David Brabin who at that time was restricted to 22K memory with this they used a random number method called the Fibonacci Sequence which in simple terms is to take two pairs of numbers and add them together to produce a third number then you add the third with the second to produce a fourth number and proceed for Example if you started this sequence with 1 and 8:

1 8 9

Adding the 8 and the 9 together equals to 17 which is a two digit number however the Fibonacci sequence only consists of single digits therefore you remove the first digit and only use the second making the sequence continue to:

1 8 9 7

With the sequence continued further the numbers appear random however they are referred as pseudo-random as they appear to be random however they are not.

1 8 9 7 6 3 9 2 1 3 4 7 1 8 9 7 6 3 9

Using this process they was able to produce quantities of digits under 10 as a source for processes which would need probabilities to be scoured out as thoroughly as random numbers would however as they were generated by rule they are in fact fairly predictable as if the starting numbers we're recorded the later numbers could be easily recognised, therefore Brabin and Bell used this sequence to encode all the information on a particular solar system in a relatively short row of digits, these digits would control physical aspects of the system such as the size, the location, the number of planets (Spufford, Masters of the Universe, 2003) (Spufford, Backroom Boys, 2004).

however this can be relevant not only in those days but also these present times as the demands for a realistic experience large amounts of space has to be used to create content to this demand for example games like Grand Theft Auto use huge amounts of memory compared to algorithmic mechanics as all the buildings, characters, vehicles and textures in the large game worlds are all individually designed and placed by artists beforehand and then rendered into the game engine and with players expecting high definition environments that are able to be rendered by all current gaming PC's and consoles this means additional time and memory is needed to allow this demand to be met.

Figure Screenshot from Grand Theft Auto 5 shows the graphics that gamers

are expecting and GTA's artist designed game world

Procedural Audio

Procedural Audio is the algorithmic approach to the creation of nonlinear typically synthetic sound content which is produced in real time dependant on a rule based structure and user input, this practice is opposed to the current audio production process in which game developers employ sound designers to create and package static audio content which is implemented in games to create a consistent sound determined by game perimeters which is tweaked by volume and scope in relation to user input which used considerable CPU processing power. Procedural audio is not a new concept in gaming however as it has been implemented since the beginning in which hardware bound chips would create the bleeps and low bit sounds that are present in many of the early games.

In this modern era of gaming there are not many examples of procedural audio being implemented however in a way the AAA game provider Electronic Arts have attempted this concept in their game Spore (2008) in which the game governs what type of music is being played at any given time and the instrumental density increased and fades depending on user interactivity. Which create a more dynamic audio experience rather than using music loops as backing which is coherent in many of their sporting games such the Fifa series. Another example of procedural audio being used in major game developments is in the game Little Big Planet developed by Media Molecule and a number of other developers that have created additions to the series, which features many features that are associated with procedural audio such as providing its users with many variable audio assets to implement into their created gaming worlds.

Figure Screenshot from Little Big Planet shows an example

of a world that is user created

Another method of using audio procedurally is not primarily for making sounds within a gaming environment however audio files can be used in a procedural manner in game level creation, an example of this is of an indie title called 8Bitar Hero which is a clone closely related to the game Rock Band except the game uses a Nintendo emulator which is used to generate the music and levels for the game. The game needs two players to work in which one plays a NES game on the emulator whilst the other plays the rock band game which levels are constructed algorithmically from the audio code of the NES game that is being played. (Lee, 2009)

Procedural Audio has many beneficial factors as to why game developers could implement this concept into their games firstly the audio can be very interactive which gives the game if implemented correctly an additional element of realism as if sounds are created for example to produce a weapon firing sound and are dependent on the users placement in the gaming environment the player would receive a different scope or volume against the user firing the weapon, also with it being produced on the fly its scalability in terms of memory is very beneficial for limiting storage usage which mostly benefits console based games due to the limitations of disc based games. Variety and cost are also two more benefactors associated with the concept as the algorithms create audio/sounds in real time by manipulating musical structures within its audio libraries the cost for basic sounds is reduced and also with adding slight variations to the libraries of sounds/audio with the algorithm adjusting for example bass under certain conditions variety of music that can be created using these limited libraries can expansive. Replay ability is another feature of procedural audio as the algorithm can be transferred from one gaming project to another with just a couple of perimeter changes the algorithm can suit the new project without much effort needed to rewrite new sounds or audio for the game.

However like many things, procedural audio also has many drawbacks such as its high CPU processing power cost with the audio/sounds being produced in real time in gaming environment the algorithms in place have to determine the game state and conditions in order to adjust the media libraries that are in the games structure and with the information adjust them accordingly additional to the gameplay itself which can be CPU intense. Unpredictability is also another feature of procedural audio which while procedural content is mostly about randomness however this can also be a constraint as if the audio doesn't match the environment in the game then the algorithm has failed it's given purpose unpredictability could be a good element for indie platform titles that don't need a specific feel for their environment and depending on the game concept for example for sport games or horror game types it would be more beneficial using traditional methods.

Procedural Texturing

Explain about procedural texturing and generation with examples

Procedural Animation

Explain about Procedurally created sounds with examples

Procedural Buildings

Explain about Procedurally created animations with examples

List of Figures