Master Thesis: Procedurally changing gameplay at run-time

The thesis was my take on easy-to-change modularized gameplay code. A problem many games run into is that after a user test or an iteration it becomes clear that something about the game’s design has to be changed. Software development for games, however, often assumes that the current design will not change. As soon as the design changes (which happens extremely often), code has to be re-written. This increases the cost and duration of development.

There must be a way to minimize the impact of design changes, and I tried to find it by creating the ultimate changing game – a game which changes the gameplay procedurally at run-time, based on user input. There is a sweet spot somewhere between anticipating design changes and creating a realiable code base, and finding this balance is difficult.

First I created a hypothesis of how an architecture would support frequent changes. I implemented a small test game, using that code. To test my gameplay code, I implemented a (programmer art) UI, in which it should be possible to make as many difficult changes as I could implement in the 6 months of time I had. Then I had a bunch of people test the tool and used the results of the user test to draw conclusions about the code’s architecture.

Download the thesis to see more.