Index:
[thread]
[date]
[subject]
[author]
From: Garrett Mitchener <wgm2@duke.edu>
To :
Date: 21 Apr 1999 20:05:50 -0400
About Adventure and Graphs (THIS IS IMPORTANT)
I met with some groups who were having problems with their graph
classes not being general enough. After the UTA meeting Tuesday
night, we decided that we will weight the design pretty heavily in
grading Adventure. This means you should make it a high priority to
FIX UP YOUR GRAPH CLASS!
Having the game finished and spiffy looking will not be as important
as having a good design. Here are some things to think about if you
are doing design surgery and major re-writes of stuff. We won't ask
you to actually do these things, but you might want to think about
making your design support them:
* Add new objects to the game (new weapons, new spells, new flavors of
beer)
* Have objects that are represented by something other than an image
file, as in animations or perhaps a puzzle that has buttons or other
controls.
* You should be able to create a new plot line. Think of this
assignment as writing a library of gaming classes and your actualy
game is a demo of the library.
* You should be able to write a maze construction kit. That way,
people can build mazes that aren't random, save them, and restore
them. Think of different kinds of randomizers, too.
* Have a special game master (GM) client. This is so someone could
come in and fix a game that has become unplayable somehow, or make
it easier or harder to match the level of the people playing it.
* Support some kind of artificially intelligent non-player characters.
You don't have to write any, just leave room for someone to write
them.
* Consider using design patterns: Command, Singleton, Flyweight,
Bridge, Composite, Iterator, Abstract Factory, Prototype, etc. If
you don't have the gang-of-four book, I STRONGLY RECOMMEND IT!!! All
this object-oriented stuff makes a lot more sense if you read the
gang-of-four book.
* A communication or "talk" interface, so people playing across the
network can send messages to each other and team up.
* It would be really cool if a couple of groups could get together and
agree on a communication interface between their servers so that you
could warp from one game to another. That introduces a lot of
complexity and it's probably very hard, but it would be really cool
if someone could make it happen.
* Use UML or simplified UML, something to diagram out your design.
Include this in your submission if you can. Try using xfig.
Like I said, we don't require you to actually do any of these things,
but if you're having trouble improving your design, consider sketching
out a design for these kinds of things and see if that helps.
Remember the coffee machine exercise.
-- "Freddy Kreuger"
Index:
[thread]
[date]
[subject]
[author]