IMGD 1001 - Project 3: Game Logic

Due date:


Top | Motivation | Overview | Details | Submission | Grading | Resources | Summary

This is the third project that you will complete in working towards creating a videogame prototype. This project focuses on the development of your game's objects and the logic that defines their behaviors. For this assignment you will not be developing any systems-level code - you will instead be using the Game Maker software as a development platform upon which you will script your game's logic.


Motivation

At the core of any game are its underlying rules. From physical simulation to artificial intelligence, all aspects of a game are ultimately encoded in rules. If a game contains abstract ideas, such as events (e.g. "first-downs"), units (e.g. "hit-points"), objects (e.g. "phased plasma-rifle in a 40-watt range"), people (e.g. "John Doe"), etc., then its code must contain rules that govern these abstractions and their properties.

You have already laid out the groundwork for how your game will behave. The purpose of this project is for you to realize the idea that you have put forth in your game documents. With this project, you will begin prototyping the game that you have been designing, and in the process gain experience implementing and testing game logic.


Overview

For this project, you will begin developing a prototype of your game using the Game Maker software. For this prototype you should use the treatment document from Project 1 the art assets that you have accumulated from Project 2 (the intent is not to spend additional effort on art or design. If you do find you need additional assets as your project progresses, you are free to add them, but it is not required). The focus of this phase of Project 3 is on your game's objects and their behaviors.

All of your effort will be focused on implementing a variety of objects for your prototype in Game Maker. Your First Prototype will be evaluated based on several criteria: object activity, object interactivity, user interactivity and AI/reactivity. In addition to meeting these criteria, you will be required to submit an informal README file that briefly describes these objects. Grading for this project will be flexible based on the needs of your game (see the Grading section for details).


Details

For Project 3, you is responsible for creating a simple prototype that demonstrates how your game's objects will behave. This prototype, along with an informal README document will be handed in when the project is due.

Your prototype should define at least five Game Maker Objects (the number of different objects required for a fully functioning prototype will ultimately depend upon your game, but 5 is required as the minimal for grading purposes). Each object should have somewhat unique behavior - it must be more than a copy or sub-class of another object. As a whole, your objects will have to meet the following criteria:
Object Activity Some of your objects must have the ability to change state, and this change must be reflected to the user in some fashion. This could take the form of a change in location being reflected by motion on the screen, motion along a path, or some other change causing a change in sprite, etc.
Object Interactivity Some of your objects must have the capability of interacting with each other, i.e. an interaction between the two must cause at least one of the objects to change state. For instance, an interaction could take the form of a collision between two objects causing one object to rebound off another. Or, an interaction could be of the form "picking it up" causing one object to dissappear.
User Interactivity At least one of your objects must respond to user input (keypress, mouse motion, etc.).
AI/Reactivity At least one of your objects must exhibit "intelligent" behavior by reacting to the objects around it. This differs from the "object interactivity" requirement in that the "intelligent" object must adapt its behavior as a situation changes. An example of this might be an object that pursues other objects no matter where they move to.

For testing these objects, create one or more simple Game Maker rooms. Note that these rooms are not meant to be representative levels of your finished prototype, so do not spend much time on the rooms themselves (completing the levels/rooms will be the focus of project 4). You will use them to test your objects, and the graders will use them to evaluate your project. Use as many rooms and as many copies of your objects as you feel necessary to show that you have filled the criteria.

Finally, you must write a short README (text file) that describes the objects that you have created, their behaviors, and which objects fill which criteria. Also, your README should list the criteria which you would like to weight for grading (see Grading below) and instructions on using this version of the prototype.


Submission

You should submit all materials (Game Maker .gm6 file and README) electronically.

For the electronic submission:


Grading

Grading for this project is intended to be flexible. In order to grade your project based on the specific requirements of your game, we have have reserved 30 percentage points for you to allocate to the various criteria. You will be allowed to evenly distribute these 30 points across one, two or three of the criteria (Object Activity, Object Interactivity, User Interactivity, AI/Reactivity). This means that you can add 30% to the weight of one criteria, 15% to the weights of two criteria, or 10% to the weights of three criteria.

Assigning these points to a specific criteria tells us that you believe your efforts were focused there, and thus grading of that criteria should undergo extra scrutiny in computing your project grade. For instance, assigning all 30 points to "Object Activity" would tell us that you put extra effort into the motion of your objects, so you will not receive full credit for that category unless we see your objects exhibiting a variety of complex changes, perhaps based on mathematics.

In order to communicate to us where you would like these flex-points to be allocated, please include in your README a list of one, two or three categories to split your flex-points between.

Grading Guidelines
Category Weight
Object Activity 15%
Object Interactivity 15%
User Interactivity 15%
AI/Reactivity 15%
README 10%
Flexible 30%

Resources

For a presentation summary, you might check out the slides (powerpoint, pdf) for this project.

Other resources:


Summary

Deliverable Description Time Budget Due Date
First Prototype Game Maker .gm6 containing logic for your game's objects, along with a README file 10 hours June 7th

Return to the 1001 Home Page

Send all project questions to the TA mailing list (imgd1001-ta at cs.wpi.edu).