Chapter 26

Rolling Your Own Finite-Domain Constraint Solver

Leif Foged and Ian Horswill

26.1 Introduction

Constraint programming is a kind of declarative programming. Rather than specifying how to solve the problem using some specific algorithm, the programmer provides a description of what a solution would look like. Then, a domain-independent search algorithm finds a solution using the description.

For example, suppose you are building a rogue-like or a dungeon crawler and you want to decide what items and enemies to put in what rooms. You probably know something about what you want in the rooms. You might want the number of enemies to be in a certain range and the amount of supplies to be in some other range, so that the level is balanced. ...

Get Game AI Pro 2 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.