Final Project Evaluation - CMPS 20 - Game Design Experience

Grading game programming projects is challenging. For example, a game such as Bejeweled that has a stationary playfield is much simpler to program than a side-scrolling game like Super Mario World. However, a well executed single-playfield puzzle game is more fun to play than a buggy, poorly executed side-scroller. Hence, grading must take into account both the complexity of the attempted game, as well as the degree to which the game concept was fully realized. Additionally, even a well programmed game might not be fun to play; good programming cannot save bad game design, though bad programming can ruin good game design.

With these factors in mind, here are criteria that we will use when grading your final game projects. At the end of the day, game grading is highly subjective, and so there may be factors beyond those listed here that impact the overall grade a game receives. That said, the following capture the most important elements.

In general, a complete, simple game with no flaws will receive more points than a complex game that has many flaws. That is, we would prefer you to do a simple game well, than a complex game poorly. That said, a complex game that is executed well will receive more points than a simple game that is also executed well. It is not possible to receive a high A project grade without attempting more complex programming tasks.

Grading Criteria

0 points Game not submitted. Failure to submit a final game project may also result in a failing grade for the class. Games involving plagiarised source code.

0-60 points (F) Incomplete game. Game does not run, or game does not compile. Extremely simple games (e.g., two sprites with simple collision detection, or, a game that reskins an existing tutorial game). Partial credit will depend on how much work has been performed on the game, and how close it is to completion. For teams that are very close to completion, the instructor may grant an extension (with penalty).

60-69 points (D) Completed game that is unplayable, or that has multiple severe bugs (i.e., game crash) that prevent gameplay.

70-79 points (C) Completed game, with multiple flaws. Game must involve multiple sprites (or 3d objects), collision detection (or item selection using cursor), some form of scoring system. Game must be able to detect when win condition is met. Audio may or may not be present. Game may have multiple flaws in gameplay, but is still generally playable. Game may have small number of bugs, and/or one severe bug.

80-89 points (B) Completed game with minimal flaws. Game must involve multiple sprites, collision detection, some form of scoring system. Game must be able to detect win condition is met. Audio must be present, and well integrated into game experience. Where appropriate opponents must have some form of simple AI. Game must have an opening splash screen. Game must be capable of restarting after game over. Game may have a few minor gameplay flaws or bugs.

90-93 points (A-) Game must meet all of the B level criteria, as well as having at most 1 minor gameplay flaw or bug. Game must also include some advanced game programming elements, including (but not limited to) scrolling game worlds, use of shaders, 3D graphics (including 3D collision detection), character animation, particle systems, sophisticated opponent artificial intelligence (such as pathfinding), network multiplayer play. Alternately, game must be a well-executed example of a difficult to implement genre, including real-time strategy, 3D platformer, etc.

94-100 points (A, A+) Game must meet all B and A- level criteria. Game must demonstrate strong innovation in game design. Must exhibit at least two advanced programming elements (see A- criteria for examples), or be an especially skillful execution of a difficult-to-program game genre. Artistic elements of game must be internally consistent with the tone of the game. Game must be an engaging experience.

Game Manual The game manual is worth 10 points. If not submitted, we will compute the grade you would receive based on your game code, then subtract a letter grade.