CSCE 431 Project SRS
As turned in on February 14, 2014.
Authors:
- Matthew Barry
- Chris Lenart
- Patrick O'Loughlin
- David Harrison
- Frank Tian
- Te-Wei Chen
Introduction
Purpose
The purpose of this project is to develop a realistic yet fun Pachinko game for the class-wide 'Virtual Casino'.
Scope
The pachinko game described here will be part of a larger virtual casino
Description
During development discussions, the team started mixing in elements of Pinball into the planned Pachinko game. User interaction (as opposed to simply watching the game) will be an integral part of the game. Users can watch other players' games, whereas player-to-player action may be decided upon later. Pachinko boards will contain 'Board Elements' such as pegs, bumpers, and lights displayed in a pseudo-random fashion. Algorithms to randomize Pachinko boards in a coherent fashion will be developed. This will add to the replay ability of the game. We will collaborate with other teams to discuss balancing issues (such as payouts). We could return a 'points' value to the Bank team, who could scale the points as they see fit. The chat window will obviously be interfaced with the Chat team.
Description of Roles
- Pachinko Player. The primary user who interacts and controls the various features of the pachinko game.
- Spectator. A user passively observing a pachinko player.
System Interfaces
The pachinko game will operate within the class-wide virtual casino project and therefore must comply with the data formats and expected interfaces defined by the casino "hub" application. In particular,
- The game must be able to be launched by the casino hub.
- User information (e.g. credit earnings/losses, achievements, history, etc.) must be conveyable to the user account service provided by the hub.
- The chat system must follow the protocol defined by the hub.
Assumptions
- The pachinko board shall be considered a two-dimensional surface
Apportioning of Requirements
Multiplayer aspects and board interaction may be omitted if time does not permit.
Requirements
User Interaction
- The virtual pachinko game should resemble a real classic pachinko game in visual appearance and physics simulation. (randomness is key)
- Users shall deposit a certain amount of casino credit for purchasing pachinko balls.
- Pachinko balls shall be launched by a variable-force plunger from the bottom of the board to the toward the top of the board.
- Upon reaching the top, the pachinko balls shall free-fall/cascade down to the bottom, interacting and colliding with obstacles along the way.
- The game shall emit realistic sound effects for all pachinko ball interactions.
- The bottom of the game board shall have multiple bins for of varying credit magnitude.
- A scoreboard shall indicate the number of pachinko credits earned/lost for the current session.
- Launching a pachinko ball shall reduce the number of pachinko credits by the value of one ball.
- Time permitting, users should be able to interact with the board.
Multiplayer
- Time permitting, other casino users should be able to passively observe a pachinko player in-game
- Spectators may place bets on where they think the pachinko ball will land and win credits of their own (similar to roulette) independent of the credits of the pachinko player.
- The player shall be informed of the number of spectators, but the presence of spectators shall not affect the gameplay.
- The player shall not be permitted to observe his or her own game.
- Users shall select from a set of board themes prior to playing. "Random," which selects a random board shall be the default option.
Specific Functional Requirements
- Any player shall be able to start a new pachinko game instance independent of all other active games.
- A player account shall only be permitted to play only one pachinko instance at a time.
- Users shall not be able to play unless they have the minima credit balance required to purchase a pachinko ball.
- Credits earned/lost in a pachinko game shall be reflected in the user's account credit balance.
- Users shall be able to earn achievements for certain tasks.
Specific Nonfunctional Requirements
- The game should be non-exploitable. That is, there should not be a way to obtain "free money" from the game.
- User information shall not be collected or published, other than to save user session state information from previous pachinko games.