CSU 370   Fall 2008
Object-Oriented Design


 

Homework 6 Ideas

Homework 6 asks you to extend the virtual world in some interesting way. The only hard requirement is that you must add at least one new class to the system. As I said, you will be graded on the quality and scope of your extension, and to a much lesser extent on originality. Thus, if you only slightly adapt an existing class (e.g., implement a homework tracker that looks like a GPS tracker), you will not score high on the scope axis. There are two approaches that you can take: implement one big extension that has a large scope, or many many small extensions that perhaps by themselves do not add a lot on their own, but when put together add up to a lot of new functionality.

In case you are stuck coming up with ideas, here are things that people have implemented in the past, things that might be cool to have, and things that I think lead to insights into how to program games in general. They are annotated with how difficult I believe the extension is to implement. (Of course, your mileage may vary, so don't take that too seriously.) I will add more ideas when I think of them.

  • A teleporter, either fixed (as in a portal or a vortex or whatnot) or portable [Easy].
  • Add a description to places that gets printed out when you move into a place or if you type "look" explicitly [Easy]. Have the description appear only the first time you enter a room (or whenever you type "look" explicitly) [Medium].
  • Add a description to things and a new verb "examine" that prints that description [Medium].
  • Implement a fighting system so you can defend yourself from trolls and the likes [Medium to hard]. Can you make arbitrary autonomous persons fight trolls too? [Medium to hard]
  • Figure out a way to layer a plotline over the simulation, such as a sequence of events that occur according to a preordained plot, perhaps triggered by player actions. For instance, perhaps the students organize a rebellion against the authorities of the university, and the player can choose to participate in the unfolding of events, events that will happen whether the player decides to participate or not; the player's actions may affect the development of events [Very hard].
  • Implement a form of person that acts according to a script instead of acting randomly. For instance, a guard to does a round of West Village H according to a fixed pattern of visiting rooms [Hard].
  • Implement magical places that randomly moves around, connecting and disconnecting from other rooms in the process [Medium].