CompSci 190
Fall 2022
Programming Games
FOCUS Section

Game Design Exercises

Many people feel that creativity is something that people do or do not have, and it doesn't help that there are few resources to develop and hone an internal sense of creativity. However, what most people view as creativity is just thinking about something differently or deeply. This can happen in a few ways:

The purpose of these exercise is to get you thinking about potential games you might be interested in creating in code.

Understanding Game Critically: Finding Objects and Rules

For those of you that do not know Pac-man, here is a brief description: it is a game in which the user moves a yellow, chomping pie (Pac-man) left, right, up and down around a two dimensional maze filled with edible pellets. Eating all the pellets on the board brings Pac-man to the next level. There are also four ghosts moving around the maze, trying to catch Pac-man. If a ghost catches Pac-man, Pac-man dies. There are a few special, larger pellets that render the ghosts harmless for a short period of time (during this time, Pac-man can eat the ghosts for extra points). Pac-man can also earn extra points by eating fruit that randomly appear for short amounts of time. The goal of the game is to eat all the pellets without being killed by the ghosts.

You will not be coding Pac-man (unless you choose to do a variation for you Final Project) but, thinking about the Sprites (Classes) that make up a game and the Rules (problems to be solved), you will see that you can already build a credible model of the important aspects of the game from its description.

Start by thinking of the Sprites that will be needed, with attributes (like points, direction, etc.) they might need and methods (eating a pellet, moving toward the player or home, etc.) that might make the game's main loop easier to write. For each thing you see on the screen, write a brief description of its role in the game and what it might need to keep track of and do to fulfill that role. Designers ofter use CRC Cards (given as index cards) to help them with this step.

Then think about how the game's Rules and how they might be broken down into single steps that can be applied repeatedly. These are the problems and algorithms that need to be solved to make the game work the way it does. After you have identified the rules, think more deeply about them:

As a reminder, there are no right or wrong answers to this exercise since creativity is built into programming. In fact, part of the point is to realize how many different ways there are to analyze the same game.

Brainstorming Game Ideas: Generating Many Ideas and Iterating

Work together in small groups to create as many high-level game ideas as you can and then select three to write out more completely to present to the class: