Computing Degree Show 2018

A gameboard with Red & Blue pieces, facing against each other across a wide field.

Constraint Programming in Games

Constraint Programming is a programming paradigm used to solve complex problems. By applying Constraint Programming to a Game, we can intuitively design levels & grade them based on difficulty for users.

This project aims to use a combination of the Unity 2017 Game Engine and the Microsoft Solver Foundation development tools to create a strategy game that has a wide range of levels that allow users to play a game with a level of difficulty that is appropriate to them. By defining a series of constraints for a grid of custom size, such as number of enemy units available, number of buildings, independent actors, complex terrain features, and how common ‘Chaotic Events’ are, we are able to create a level that is feasibly beatable while providing differing layers of difficulty, based on what the user feels is appropriate.


Christopher Sutherland