I'd like to share a prototype idea that may never get development time, and so is only gathering dust on my magnetics. The doc below was written up to pitch to my supervisors, so the language is both of the area of CS, and of my own work, and there may be unexplained assumptions or glossing over. Anything of the sort, feel free to point out. For instance, I am talking about my own interpretation of Pacman, where Ghosts move probabilistically and not under rules. So without further ado:

Information Processing as the Challenge & Skill Metrics in Pacman

Ben Cowley

The aim of this approach is to represent the player’s point of view programmatically, by breaking down the game’s aesthetic presentation into component units of game-relevant information, which coorespond to the basic elements of the game that the player observes and manipulates in the process of play.

(Certain classes of) Games are about processing Uncertainty, making meaningful choices, consuming patterns. This is all related to prediction. What is provided to guide the player in their predictions is information. Insofar as information is related to the elements of play, then as it increases that must correspond to either: increasing numbers of active elements to keep track of (and to generate Uncertainty about future states); or more inactive elements which it is necessary to filter. Either way, cognitive load seems to be increasing and so must difficulty.

Ideally, the value (as predictors) of such a set of units of gameplay (as expressed by their assigned information value) would be determined by testing against logs of real games played. In other words, as subjective difficulty increases players will make more errors and the general trend of quantity of information to be processed would be correlated against this.

On the other hand, we have a defined difficulty progression in the game as it stands. The ghosts get faster, they hunt the Pacman more aggressively and the Pills make them vulnerable for less time, as the levels advance. Alternatively, if speed stayed the same, we could increase difficulty by having more ghosts. This suggests a relationship as follows.

Increasing Information | = | Increasing Difficulty | = | Constant Information |

Constant Time to Process | Decreasing Time to Process |

If we can accept a relationship similar to that above, we can say two things. Firstly, we can say that there is self-consistent way to measure challenge, so that one type of challenge can be compared to another, if both are given an information value using the same framework of judgement. Secondly, if this can be seen to work reliably and self-consistently, then we don’t really need a reference to an outside measurement, like a correlation to real game logs.

2. Framework

Information would be recorded from anything that varies in information content over time.

Game units of Pacman {with their informational attributes}:

- Pacman: { x,y | possible vectors }
- Ghosts: { x,y | possible vectors }
- Goal-map: { Points for Dots | Points for Pills | Consequences of collisions }

- Vectors of movement (Opportunities for action)
- Relative distance to ghosts (relation to dynamic obstacles)
- Goal map (relation to goals)

Vectors: unblocked directions of movement from the agent. New vectors would spawn from old vectors at intersections (junctions in the map) and open alternate directions if multistep movement was to be considered.

- Relative positions/distances: use A* over short distances, and my heuristic distance over longer. Cut off between short and long would need to be decided.
- Goal-map: scoring function over local area, or area of local actions. So, possible points of action could be available from following the vectors defined above.

Some figures below try to clarify the definitions of a unit’s information attributes (above).

Fig.1 Vectors for Pacman & Ghosts at a single iteration (i.e. no subsequent vectors representing change of direction). More iterations could be included depending on computational cost.

Fig.2 Goal map for Pacman across a local area o the right. The actual state is on the left.

The ghosts are assumed to move two squares in each direction – this is just for illustrative purposes. In practice we can assume the ghosts will be within a certain limited area and not worry too much about where – we are trying to approximate the player’s point of view.

Goal map – evaluate information for mechanics along vectors of opportunity, decreasing weights as we go. This can reflect gameplay because the game uses probabilistic mechanics for the ghosts, and so the actual course of the game has a similar fuzzy nature to the predictive capacity of the player.