Due date:
This is the third project that your team 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 GameMaker software as a development platform upon which you will script your game's logic.
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, your group will begin prototyping the game that you have been designing, and in the process gain experience implementing and testing game logic.
For this project, your group will begin developing a prototype of your game using the GameMaker 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). 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 GameMaker. 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).
For Project 3, your group 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 due on February 15th.
Your prototype should define at least five GameMaker Objects. 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. |
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 GameMaker 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 members of your group, the criteria which you would like to weight for grading (see Grading below) and instructions on using this version of the prototype.
One member of each group should submit all materials (Game Maker .gm6 file and README) electronically via turnin by 11:59pm on Tuesday, February 15th.
One member of your group will need to upload the files you are turning in to their CCC account on one of the CCC machines (ccc1 to ccc10). While logged into a CCC machine, that member will need to enter the directory where these files are stored and execute the following:
/cs/bin/turnin submit <course> <assignment> <file1> <file2> ...
where in our case, <course> is id111x, <assignment> is project3, and <file> is the name of your Game Maker .gm6 file and your README.
Once done, you should verify that your files have been entered into turnin by executing the following command:
/cs/bin/turnin verify id111x project3
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% |
For a presentation summary, you might check out the slides (powerpoint, pdf) for this project.
Other resources:
Deliverable | Description | Time Budget | Due Date |
---|---|---|---|
First Prototype | GameMaker .gm6 containing logic for your game's objects, along with a README file | 10 hours / group member | February 15, 2005 |
Send all project questions to the TA mailing list (id111x-ta at cs.wpi.edu).