scrabble-game

byIke Bel

Build a Ghanaian offline and inline ludo game to be played by self or team up to 4 layers

LandingGame Setup
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 7

System Requirements Document for scrabble-game

1. Introduction

The scrabble-game project aims to develop a Ghanaian-themed Scrabble board game application. This game will support both offline and online play modes, allowing individuals or teams of up to four players to participate. The game is designed to reflect Ghanaian culture in its presentation and gameplay content, providing an engaging and educational experience.

2. System Overview

The scrabble-game application will deliver a culturally rich Scrabble board game experience, supporting both offline and online play. It will allow individual or team participation with up to four players. The game will preserve the Ghanaian context through its design and gameplay elements. The application will include several pages to manage game setup, gameplay, and results.

2a. Product Interpretation and Delivery Boundary

The application will be delivered as a custom UI with a focus on a Ghanaian cultural theme. It will support both offline and online play, with game states being persisted locally for offline play and synchronized across players for online play. The game will be accessible without requiring user accounts, ensuring ease of access and play.

2b. Source Content Inventory

Not applicable as there is no explicit content_source directive.

Page 2 of 7

2c. Page Content and Component Coverage

Landing

  • Information/State: Introduction to the Ghanaian Scrabble game, options for individual or team play, offline and online play modes.
  • Primary Actions: Start game setup, view saved games.
  • Components: Game introduction, play mode selection.
  • States: Loading, success, error.

Game Setup

  • Information/State: Configuration for individual or team play, player count (up to four).
  • Primary Actions: Start game.
  • Components: Player configuration, team setup.
  • States: Loading, success, error.

Saved Games

  • Information/State: List of saved offline games.
  • Primary Actions: Resume game, delete saved game.
  • Components: Saved games list, game details.
  • States: Loading, empty, success, error.

Game Board

  • Information/State: Offline game board for placing tiles and forming words.
  • Primary Actions: Place tile, end turn.
  • Components: Scrabble board, tile rack, score display.
  • States: Loading, success, error.
Page 3 of 7

Online Game

  • Information/State: Shared online game board for participating players or teams.
  • Primary Actions: Place tile, end turn.
  • Components: Online Scrabble board, chat, score display.
  • States: Loading, success, error.

Results

  • Information/State: Final scores and game outcome.
  • Primary Actions: View detailed results, start new game.
  • Components: Score summary, player performance.
  • States: Success, error.

3. Functional Requirements

  • As a Player, I should be able to start a new Scrabble game in either offline or online mode. (explicit)
  • As a Player, I should be able to configure the game for individual or team play with up to four players. (explicit)
  • As a Player, I should be able to resume a saved offline game without needing internet connectivity. (required_inference)
  • As a Player, I should be able to participate in an online game with synchronized board state and turns. (required_inference)
  • As a Player, I should be able to view the results of a completed game, including scores and outcomes. (required_inference)

4. User Personas

  • Player: The primary user of the game, who can play individually or as part of a team. The Player can configure game settings, participate in games, and view results.

5. Core User Flows

Page 4 of 7

Starting a New Game

  1. Player accesses the Landing page.
  2. Player selects offline or online play mode.
  3. Player configures individual or team play on the Game Setup page.
  4. Player starts the game, leading to the Game Board or Online Game page.

Resuming a Saved Game

  1. Player accesses the Saved Games page.
  2. Player selects a saved game to resume.
  3. Game state is loaded, and the Player continues play on the Game Board page.

Completing a Game

  1. Player completes the game on the Game Board or Online Game page.
  2. Game results are displayed on the Results page.
  3. Player can view detailed scores and outcomes.
Page 5 of 7

6. Visuals Colors and Theme

  • Muse: Charles & Ray Eames
  • Palette:
    • Background: #FAF3EB
    • Surface: #FFF2DE
    • Text: #3B3B3B
    • Primary: #E94E77
    • Accent: #00796B
    • Muted: #B0BEC5
  • Typography:
    • Headings: Jost — Bold, large, friendly curves, mixed case
    • Body: Noto Serif
    • Scale: 1.414 modular, 48/34/24/16/12
  • Shape Language: Organic-modern shapes with rounded corners
  • Layout: Modular panels with clear hierarchy
  • Motion: Gentle, film-like transitions

7. Signature Design Concept

The Landing page will feature a welcoming hero section with a color-blocked background in warm tones, showcasing a large Scrabble board at an angle. The primary pink will serve as a visual anchor, inviting interaction and emphasizing the game's cultural context.

Page 6 of 7

8. Interaction Model & Motion Direction

  • Interaction Model: Static
  • Motion Tempo: Restrained
  • Hero Dimensionality: Layered_2d
  • Landing Hero Motion Brief: The hero section will feature a composed Scrabble board with gentle transitions, inviting players to explore the game options.

9. Non-Functional Requirements

  • The application must be responsive and accessible on various devices.
  • The game should load quickly and provide a smooth user experience.
  • The application must handle offline game state persistence efficiently.

10. Tech Stack

  • Frontend: React
  • Backend: Python/FastAPI
  • Storage: Local storage for offline persistence
  • Deployment: Docker/docker-compose

11. Assumptions and Constraints

  • The game is a Scrabble board game, not a ludo game.
  • The game must reflect a Ghanaian context.
  • Participation is limited to up to 4 players.
  • Both offline and online play must be supported.
  • Play may be individual or team-based.
Page 7 of 7

12. Glossary

  • Player: An individual participating in the game.
  • Scrabble Board: The game board used for placing tiles and forming words.
  • Offline Play: Game mode that does not require internet connectivity.
  • Online Play: Game mode that synchronizes play among multiple players over the internet.
Landing design preview
Landing: View game introduction
Landing: 1. Select play mode
Game Setup: 2. Configure individual or team play
Game Board: 3. Place tile offline
Game Board: 4. End turn
Online Game: 5. Place tile online
Online Game: 6. End turn synced
Saved Games: View saved games list
Saved Games: Resume saved game
Saved Games: Delete saved game
Results: 7. View final scores
Results: 8. Start new game
Landing design preview
Landing: View game introduction
Landing: 1. Select play mode
Game Setup: 2. Configure individual or team play
Game Board: 3. Place tile offline
Game Board: 4. End turn
Online Game: 5. Place tile online
Online Game: 6. End turn synced
Saved Games: View saved games list
Saved Games: Resume saved game
Saved Games: Delete saved game
Results: 7. View final scores
Results: 8. Start new game