CS 241 Lab 5: Group Game Project: Scrolling Background

This assignment is part of the semester-long, small-groups side-project to develop a side-scrolling game which exemplifies modular design principles and good use of data structures. In this particular assignment, we'll work (as part of your three-person groups) on getting a moving, structured background to scroll by behind a simple player token.

Remember as you work that the point of the game development is to try to write in a flexible way, anticipating possible later changes in either game specifications or program structure. Try to use a structure based on interfaces, abstract classes and classes; try not to build too many assumptions into your code; and try to anticipate possible changes that might come along. Although the game itself is supposed to be motivating, the real point of the project is to provide a more realistic context in which to explore the use of modular design and data structures concepts.

Regarding data structures concepts, the ones we have identified as potentially relevant concern the use of queues for storing and handling events, the use of a queue for round-robin scheduling of drawing updates and the use of trees or tree-like structures to organize hierarchical scene elements. Look for other possible uses of concepts we discuss in lecture as you code, and try to assess how the use of such structures affects your code development process.

As you work, you might also try to think about how other game elements will be implemented, not necessarily in terms of code yet, but in terms of overall strategy. Keeping a rough idea of the whole design in your head as you work is a good way to help anticipate issues that will arise later that might have an effect on how you code the decisions you are making now.