Project Title: Distributed Bingo
Baseline Application Description:
The "Distributed Bingo" project will offer an online, distributed version of
the game Bingo. As each player logs onto the server, he can join a game or
start a game if he is the first player to log in.
If you are unfamiliar with the game, Yahoo offers a description of its online
version here.
This project will try to replicate many aspects of Yahoo's Bingo, so it may be
worthwhile to try out their version, here.
Configuration:
-
Middleware: Enterprise Java Beans (EJB)
-
Operating System: developed in Windows, designed for Windows and Linux/Sun
clients
-
Language: Java
Third-party software:
-
Database: Microsoft SQL 2000
Baseline Application Features:
-
Required: The player can start or join a game as a guest. Done
-
Required: Upon starting or joining a game, the player recieves a Bingo card.
Done
-
Required: Upon joining a game, the player receives an snapshot of what's
already been drawn. Done
-
Required: The snapshot remains accurate throughout the game. Done
-
Required: The player is able to declare "Bingo." Done
-
Required: The game verifies "Bingo," and announces the winner to all the
players. Done
-
Required: After a winner is declared, the game is stopped. Done
-
Optional: The player is able to mark his card (possibly with a cursor).
Used to be required.
-
Optional: After one winner is declared, other players with winning cards can
also call "Bingo."
-
Optional: A player is allowed to create an account, update that account, and
log into that account.
-
Optional: A player cannot "flood" the game with more than 3 false calls of
"Bingo."
-
Optional: A player can chat with other players during the game.
-
Optional: A player can choose from multiple Bingo games, possibly within
multiple "rooms."
Note: The requirement that a player can join a game as a guest might be
disabled if players are allowed to create their own accounts.
Reliability Requirements:
-
Required: If a game server goes down, the players do not notice.
-
Required: If a draw message is lost (e.g., "B-3"), the game can catch up.
-
Optional: A player who has logged in can leave and rejoin the same game with
the same card.
Real-Time Requirements:
-
Required: Every client program is sent a Bingo draw at the same time, +/- 1
second.
-
Optional: After one winner is declared, other players can also call "Bingo"
within 10 seconds.
Actual numbers subject to change.
Performance Requirements:
-
Required: The game can handle 100,000 players concurrently.
-
Optional: In terms of the number of players, the game can be scaled infinitely!
Actual numbers subject to change.
Baseline Application
Scenarios/Interactions
Current Status
Downloads
Fault-Tolerant Baseline Application
Scenarios/Interactions
Current Status
Downloads
Real-Time Fault-Tolerant Baseline Application
Scenarios/Interactions
Current Status
Downloads
High-Performance Real-Time Fault-Tolerant Baseline Application
Scenarios/Interactions
Current Status
Downloads