i aim for 70% marks ... dont develop a 100% marks
if need the picture for the example, please send email to me
Electronic Consequences
Aim
To test your knowledge of distributed system design and skills in
using distributed programming or mobile agent system development
techniques.
Introduction
The game of Consequences is a traditional party game played by a group
of people. Although the game can theoretically be played with only two
people, it is usually played by a large group of people and there is
no upper limit to the number of players. Consequences is not a
competitive game and its aim is simply pure entertainment.
Rules of the Game
Players arrange themselves into a circle and each player is given a
sheet of paper and a pencil. Each player must write a short phrase or
sentence at the top of their paper and then fold over the top of their
paper so that what they have written cannot be seen. They then pass
the paper on to the person on their left; this happens as soon as a
player has completed writing their phrase and players do not
synchronize the exchange of papers. The player receiving a sheet of
paper repeats the process, writing a phrase on the paper and folding
it over before passing it on again.
The writing/folding/exchange process is repeated until every player
has written one phrase on every sheet of paper, at which point the
game terminates. At the end of the game each player takes it in turn
to unfold their sheet of paper and read out all the information
written on it to the other players. Hopefully the phrases will form a
humorous (or just plain bizarre!) short story. To maximize the
chances of producing a funny story it is usual to give a hint about
the phrase to be written at each stage of the game; for example, the
first phrase written might identify a person, the second phrase might
identify what they were wearing, the third phrase may identify where
they went and the fourth phrase may identify who they met.
Example Game
The following figures illustrate a game of Consequences involving four
players.
Figure 1 shows all the stages involved with one piece of paper
throughout the course of the game.
At the end of the game the paper is unfolded to reveal the humorous
story in Figure 2. The player who wrote the first phrase on this sheet
of paper reads the story to all other players.
Figure 1: Phrase progression on single sheet of paper
Figure 2: The final story
Note that although we have shown only sheet of paper here, the other
three players will also have a sheet of paper which they unfold and
read out to the others. When it comes to reading out the stories,
players normally synchronize their actions and read out their stories
one after another.
Task
You are required to develop an online distributed version of
Consequences.
Each player is assumed to use a separate computer and will have a
virtual sheet of paper which passes from player to player until all
players have entered a phrase on it. At every stage of the game each
player will be presented with a user interface containing a text box
into which they may type their phrase and a Done button. After
entering their phrase the user clicks the Done button and the
virtual paper is passed to the next player. Note that the exchange of
papers is asynchronous and that at any one time a given player may
have more than one user interface present on their machine.
As soon as all players have entered a phrase on a particular sheet of
virtual paper, the paper will be unfolded and a user interface
showing the complete story will be displayed on every players
machine. Note that in this electronic version there is no requirement
for players to synchronize their actions and reveal the stories one
after another so this phase of the game can also be implemented in an
asynchronous manner.
Hints and Tips
You may choose to implement this solution using any Java distributed
programming technique (e.g. Java RMI, network socket programming, etc)
or using agentSpace mobile agents.
Setup one (agentSpace) server to for each player
Implement a Paper which holds the phrases written on it and passes
between players.
The key element to this assignment is the ability for the system to
play some form of distributed game: Whilst accuracy of the simulation
of the game and attractive user interfaces would be nice, THE MAJORITY
OF THE MARKS ARE FOR THE AGENT/DISTRIBUTED IMPLEMENTATION!
Marking Scheme
To achieve -
40%: - Minimum Functioning system
You must demonstrate an understanding of the mobile agent or
distributed computing paradigms. You need not actually implement the
gaming aspects - simply build the communications infrastructure and
allow a human to play the part of the croupier. i.e
· Single sheet of paper operation (i.e. only one sheet of paper
is passed between players, not one sheet per player)
· Collect and store phrases from at least two distributed
players
· Text based interface
40% - 50% - Plastic version free with kids Big Mac meal deal
Achieve all of the above plus:
· Display complete story to one player when all players have
entered their phrases
· GUI for entering phrases and displaying story
50% - 60% - Drunken Student Party Game
Achieve all of the above plus:
· Display complete story to all players once phrase entry is
complete
60% - 70% - Thirty-something Party Game
Achieve all of the above plus:
· Monitoring GUI allows a player to see how many of the other
players have entered a phrase on their paper and how many still have
to enter a phrase.
70% - 80% - Ambassadors Party Game
Achieve all of the above plus:
· Phrase hints When entering text, display one of a set of
predefined phrase hints to maximize the chances of producing a funny
story. The number of phrase hints should be the same as the number of
players and should be entered by a master player at the beginning of
the game. As the paper passes between players the phrase hints are
displayed in turn and each sheet of paper should display the phrase
hints in the same order.
· Scalability developed system should allow any number of
players to participate in the game.
80% - 100% - Royal Dinner Party Game
Achieve all of the above plus:
· Display phrase hints in the final story.
· Include a strategy for coping with network failures
· Use a novel or outstanding technique to do it. Impress me!
· Artistic flair
You are required to submit the source code for your solution together
with a brief (maximum 2 pages of A4) report describing your system and
its design. Your report should also provide detailed justification as
to why you chose the distributed programming or mobile agent paradigm
to implement your solution.
deadline is 31 March |