Real-time player adaptable PCG using gameplay analysis techniques

With the ever-increasing popularity of video games, game development companies are constantly seeking methods to devise successful game projects. This typically entails the creation of unique and engaging experiences for the players.

Game companies rely on a team of talented and experienced individuals, such as game designers, scriptwriters, artists and programmers, to develop high-quality assets and innovative gameplay. However, this approach could give rise to a number of issues in terms of budgeting, management and quality [1].

Taking the above into consideration, this project set out to explore and demonstrate various methods that can tackle the high reliance on said individuals in creating entertaining games.  Particular attention was given to real-time player-adaptable procedural content generation (PCG) using gameplay-analysis techniques. 

PCG encompasses a number of techniques used in video game development to automatically generate game content such as maps, levels and loot through the use of algorithms, rather than creating each component manually. The popularity of PCG has been on the rise and has been utilised in a number of highly successful games such as No Man’s Sky and Minecraft [2]. Moreover, its popularity is not only limited to video game development but also extends to other fields, such as art, music and architecture. 


This project primarily employed Markov chains [3] to generate levels in a 2D shoot-’em-up game. The levels created were procedurally generated using the binary space partitioning algorithm to create a dungeon-like map that the player could explore. The levels would be generated according to the performance of the player in the preceding level, by taking into account a number of level and player parameters. 

The game could be adapted by raising or lowering the level of difficulty by manipulating the probabilities of the generated content. This would make it a more engaging and playable experience aiming to improve the players’ performance leaning towards a somewhat optimal level of difficulty. A Markov chain is a mathematical model that only depends on the previous state to transition to the next. Therefore, the level parameters and the player parameters recorded in the previous level would be used to transition to the next state and generate the new level, adjusting the difficulty level by altering the map itself, the enemies spawned and the loot placed on the floor, as defined in the state. 

In the final stage, an evaluation was carried out on player engagement and enjoyment, by comparing the levels generated using the PCG techniques and a number of levels whose elements were generated randomly, in a predefined manner. The results obtained from the evaluation were then interpreted to establish whether the first of the two produced the more appealing gameplay, tailored to the users’ abilities.

Figure 1. Three game levels generated using the PCG techniques

Student: Liam Scicluna
Supervisor: Dr Sandro Spina