I210: Information Infrastructure I (Intro to Programming) — Final Game Project

 

60% of the Final Exam grade will come from this game project—5% from the design phase, 15% from the pseudocode phase, 40% from the code phase.  Each of these different phases has a deliverable that should be submitted to the corresponding Oncourse assignment in your I210 lab section.  The remaining 40% of your Final Exam will consist of a quiz (25%) and a debugging exercise (15%) administered during lab in the last week of class, so we will not meet at the scheduled test times during finals week.  [Note:  I reserve the right to drop the debugging exercise and either make the quiz longer and increase its weight to 40% or keep the quiz the same and increase the weight of the game program to 75%, likely distributed as 5% for design, 20% for pseudocode, and 50% for the actual code.]

 

Your assignment is to design, write pseudocode for, and develop software for a computer game.  The game must be of a level of complexity similar to (or greater than) the projects at the end of Chapter 11 and 12 of the textbook.  This probably means a graphical game is required, but text-only games may be permissible if they are complex enough and you obtain permission in advance.  (Examples of text-only games that would satisfy the complexity requirement are multi-player card games, such as Euchre, Hearts, Spades, or Poker, that provide reasonably competent AI opponents, a reasonably sophisticated multi-player board game, such as Scrabble, or a reasonably complex adventure or role-playing game.)

 

Your game should employ object classes and should provide reasonable exception handling.  Both turn-based and real-time games are acceptable.  Though you may look at games on the web for design inspiration, the pseudocode and code must be entirely your own.  Games based on code developed for the lab assignments (textbook projects) or based on textbook sample code are not acceptable, so no slightly tweaked Pong, Pizza Panic, or Astrocrash games will be accepted.  Games judged to be too close to these programs will receive a zero for at least the code portion of the project, even if you managed to fool us with your descriptions in the design and pseudocode phases.  However, you are allowed to use modules provided by the textbook and/or developed for the lab assignments.  It is expected that you will use the Pygame module obtained from the web and the LiveWires module obtained from the textbookÕs CD-ROM to implement your game, though this is not strictly necessary.  In addition, you may implement and import your own modules, if you choose.

 

Since some of the game design must take place before you learn the specific techniques for doing graphical programming in Python (using LiveWires), here are some notes on what you need to know (and will learn) about graphical programming.

 

Remember, this is a Òtake-homeÓ Final Exam, so you are not allowed to work on this with anyone else.  All work must be your own.

 

Design Phase:

 

Design your game and write a description of the game play and how you intend to implement it.  Provide instructions for how to play the game.  Graphics are not required at this stage, but may be a big help organizing your thinking and communicating your ideas to others (including the AIs doing the grading!).  Though it is understood that the specifics may change between this design document and the final code, you must include your best estimate of what software objects and methods you intend to use to implement your game.

 

Submit your .txt, .rtf, .doc, or .pdf file to Oncourse > your lab section > Assignments > Final Exam Game Design assignment by 11:45pm, Friday, Nov. 20, 2009.

 

Pseudocode Phase:

 

Write pseudocode for your game.  The pseudocode should capture in English the basic flow of logic in your intended game program.  You should also restate what objects and methods you intend to use, including any updates in your thinking if their design has changed since the Design Phase, and provide (possibly updated) instructions for how to play the game.

 

Submit your .txt, .rtf, .doc, or .pdf file to Oncourse > your lab section > Assignments > Final Exam Game Pseudocode assignment by 11:45pm, Monday, Nov. 30, 2009 (the Monday after Thanksgiving).

 

Code Phase:

 

Implement your game in Python.  The game should be playable and the program should run without error.  In addition to the main source code file, be sure to turn in all graphics files and modules needed to run your game (except for Pygame, LiveWires, and PythonÕs built-in modules).  Provide instructions for how to play the game (preferably embedded in the game, but a separate document is acceptable).

 

Submit your .py file(s), supporting graphics files, and game instructions (either embedded in the game or in .txt, .rtf, .doc, or .pdf format) to Oncourse > your lab section > Assignments > Final Exam Game Code assignment by 11:45pm, Wednesday, Dec. 16, 2009 (this is during Finals Week).

 

 

informatics_blue

For more information, contact:

Larry Yaeger

iuseal