Problem Statement
OVERVIEW
You are to create an online multiplayer version of "Clue: The Card
Game."
Here are the rules for the
original card game.
DESIRED FEATURES
A game server that manages network play and a downloadable client
application for the desktop (Java Web Start okay) that the user interacts with to play the
game. The server must follow protocols for internet servers
and must be secure against network attacks. The instructor
will provide a Virtual Machine in the CSL for running game servers.
See the instructor to obtain a specific port on the host.
Players can create a "screen name" to identify themselves during
game play.
The computer acts as the dealer for the game and automatically
facilitates clue exchanging when appropriate.
Have a way for the player to keep a notesheet of deductions they've
made about the mystery.
Have a "robot" player that can sit in if there are not enough people
to play a game, or if someone drops out in the middle of a
game. Optionally have several robots with different
intelligence levels.
Assume the users aren't familiar with multiplayer internet gaming.
User should be able to control the game with keyboard as well as the
mouse.
Provide a way for the user to select (and optionally, create) alternate
"themes," that is, card images, etc.
The client software architecture must allow for porting to a
different platform without recompiling the code for the game logic
or networking.
Optional: A web-based client written with Google web toolkit.
Optional: Internationalize the software and provide a localization
for at least one other language.
LEGAL ISSUES
To avoid copyright infringement, you must must invent a different
name and may not use any of the original game images.
You should use one of the three image sets provided in this zip file unless you obtain
instructor permission to create your own.
Needed card enhancements.
Repaired images (11/18)
NETWORKING FRAMEWORK
The largest technical issue is writing the networking code. You must
not write your own networking code from scratch. You must use an
existing networking library or framework. Some choices (in
order) are:
- The framework provided by the textbook authors: OCSF
- A framework from a different textbook: Brackeen Networking
Framework
- http://www.quickserver.org
an open source Java library/framework for quick creation
of robust multi-client TCP server applications.
- http://wiki.gamegardens.com/Main_Page
Game Gardens is a place for hobbyist game developers to create
and host multiplayer games, written in Java, using open source
libraries.