Design Project Overview
Mind Trial is based on the board game Trivial Pursuit. Some might say it is exactly like Trivial Pursuit. Each player has a = game piece with six open slots and the players take turns rolling a = die. After the die has been rolled the game piece is moved the allotted = number of spaces and the player answers a question from a certain category = based on which space the piece lands. If the player is on a regular = square and he/she answers correctly then the player may roll the die = again. If the player is on a pie square and he/she answers correctly then the player receives a pie piece to fill a slot on his game piece. When one player has all six slots filled he/she is declared the winner.Completed Design Decisions
Reconstructing the system model
We need to reconstruct the system model in order to include several features. The Question object needs an attribute of difficulty for the different levels available. The GamePiece and Player objects = should be combined because most of their functionality is similar and makes = sense together. The Question object needs to be able to communicate with the Game object so that the question can get to the Player. It does not need to go through the Space object, because that is just used to determine which category the question is from. It is much more efficient for it to communicate directly with Game. There should also be a Question list in the Game class to hold the various questions. At each turn, a question is randomly selected and sent to the player.Multiplayer difficulty ability
When there are multiple players using the system, each one should have the ability to select their own difficulty level. This = allows players of different strengths to play against each other with more = fairness. Each instance of the Player object would store its difficulty level. = This would also make network play easier. The players do not have to agree on a common level, but each can pick the one appropriate to his = experience.Question answer array
The Question object should store the individual answers in an array data type. Either all six answers can be in the array, or the five incorrect answers with a separate correct answer can be stored. For each question, the answers are selected from the array and displayed in random order in compliance with requirement F.Q.010.Future Design Decisions
Networking Design
The need for networking Mind Trial games over the internet presents a decision to be made about how to handle these games. = Realtime multi-player gaming is a rather advanced field and simply stating that a game should support this feature is pretty vague. Topics such as connection type, user interface, player limits, and game rules all must be established before design is possible. Once and only once these topics have been figured out can multi-player gaming be designed for the Mind Trial program.AI Design
With the need for computer controlled game pieces on the = board, a design for the computer's artificial intelligence must be = created. It was stated in the SRS how the computer should answer questions, but how does it know which direction to go once it becomes it's turn? A set of rules must be defined to determine how the computer will move on the game-board in the "smartest" way possible. In doing so, we must take into account the computer's state, how many pie wedges it = current has and which one's it's looking for, as well its difficulty = settings. Desiging artificial intelligence is always tricky and this project = should be no different.Video Display Support
In the SRS requirements, it was stated that the system must stay within 640 by 480 resolution to maximize usability on all = platforms. However, it is stated later that the system should make use of video = graphics accelerator cards to maximize graphics. This contradicts the previous statement because a good number of users do not have video = graphics accelerator cards and it was stated earlier that the goal was to = maximize usability on all platforms. The problem here is deciding what = exactly to go by when designing the graphical display, cross-platform usability or fancy graphics?
The Howler Monkeys are:
James Blue, Roger Mitchell
Aaron Sayler, and Geoffrey = Wang