Skrull is a project to create a simple multiplayer gaming framework that will allow multiple clients to simultaneously play various turn-based games. Although the initial system will include very simple games, it should be extensible enough to theoretically support more complex games.
Components will include a single Game Engine that will handle overall management and individual game logic and implementations, and 1 or more Game View Clients (or Users) that connect to the central Game Engine.
Additional detail and project metrics is available at https://github.com/gjesse/skrull/wiki/Requirements
-
Users will choose a unique non-persistent username when first connecting to the engine.
-
Users of the system will be able to start a new game from a list of existing games.
-
Users will be able to join an existing game that needs more players to begin.
-
Once a game has enough players, play will begin and all users will be notified.
-
As play progresses, each user will be notified of game progress, and prompted for action when it is their turn.
-
The Game Engine will support multiple simultaneous games.
-
Game View Clients will only support one active game at a time.
-
Following game completion, players wil be able to either create or join another game.
-
The system will initially support 2 or 3 simple games
- Hello World
- Tic Tac Toe
- Rock, Paper, Scissors
-
System will by multi-threaded, games shall not block each other.
-
System will use java RMI for communication between views and Game Engine.
-
Extensible.
4 Easy to maintain.
-
A chat room window will be made available for conversation among players of a particular game
-
Game View Clients will retrieve updated model/view/action logic from the Game Engine without the need to update Game View Client code
-
Users will have a "Voyeur mode" option under which they can observe an existing game in progress.
- Must be run on a computer capable of running Java 1.6.
-
Jesse Hodges - Java syntax reference.
-
Deitel & Deitel. "Java How to Program." Unknown. 1999.