2. Goals¶
The overall objective of the system is to provide a distributed, multiplayer-capable Sokoban platform that delivers engaging gameplay, supports community interaction, and ensures fairness, performance, and long-term sustainability.
2.1. System Goals — Sokoban System¶
SG1: Enable execution of Sokoban gameplay while enforcing rules server-side
SG1.1 Execute Sokoban gameplay
SG1.2 Apply core movement and box mechanics
SG1.3 Maintain authoritative game state
SG1.4 Apply power-ups and power-downs
SG1.5 Synchronize multiplayer state
SG2: Support multiple gameplay modes
SG2.1 Provide single-player mode
SG2.2 Provide cooperative multiplayer mode
SG2.3 Provide competitive multiplayer mode
SG2.4 Provide tutorial mode
SG2.5 Provide spectator mode
SG3: Provide AI-assisted gameplay guidance
SG3.1 Provide contextual hints
SG3.2 Generate next optimal move suggestions
SG3.3 Evaluate session-level state for hints
SG3.4 Evaluate level difficulty
SG4: Support community-driven content creation
SG4.1 Provide level editor
SG4.2 Support level design and testing
SG4.3 Validate level solvability
SG4.4 Allow saving and sharing of custom levels
SG4.5 Support creativity in level creation
SG5: Support user identity and account management
SG5.1 Manage user accounts
SG5.2 Manage profiles and friend lists
SG5.3 Provide settings configuration
SG5.4 Store account and statistics data
SG6: Ensure fair and secure gameplay
SG6.1 Use server authority for game logic
SG6.2 Validate player actions
SG6.3 Use anti-cheat mechanisms
SG6.4 Provide cheating report mechanisms
SG6.5 Enforce fairness in matchmaking
SG7: Provide scalable infrastructure for multiplayer sessions
SG7.1 Support session organization and coordination
SG7.2 Support ranking-based matchmaking
SG7.3 Initialize and manage game sessions
SG7.4 Maintain consistent session state
SG7.5 Handle concurrent player interactions
SG8: Ensure high usability and accessibility
SG8.1 Provide ease of navigation
SG8.2 Provide accessibility settings
SG8.3 Support personalization options
SG8.4 Provide intuitive game mechanics
SG9: Deliver high performance and responsiveness
SG9.1 Ensure low latency interaction
SG9.2 Ensure responsive system behavior
SG9.3 Provide efficient synchronization
SG9.4 Support large numbers of concurrent users
SG10: Ensure reliable operation under failures
SG10.1 Provide reliable session handling
SG10.2 Support recovery from disconnects
SG10.3 Maintain consistent state management
SG11: Support long-term product success and player retention
SG11.1 Keep players engaged
SG11.2 Encourage positive community
SG11.3 Prevent player churn
SG11.4 Support monetization potential
SG11.5 Help the game spread
2.2. Stakeholder Goals¶
2.2.1. User Goals (Generic System User)¶
UG1: Access the system securely and reliably
UG2: Navigate the system intuitively
UG3: Manage personal account information and preferences
UG4: Configure gameplay, audiovisual, and accessibility settings
UG5: Experience a usable, accessible, and personalized interface
2.2.2. Player Goals (is-a User)¶
PG1: Play Sokoban in different gameplay modes
PG2: Learn the game through tutorials, observation, and assistance
PG3: Experience smooth, responsive, and balanced gameplay
PG4: Be appropriately challenged without frustration
PG5: Play fairly in competitive environments
PG6: Engage socially through cooperation, competition, and spectating
PG7: Have fun and remain engaged over repeated sessions
2.2.3. Level Designer Goals (is-a User)¶
LDG1: Create custom Sokoban levels
LDG2: Edit and refine created levels
LDG3: Ensure levels are solvable and balanced
LDG4: Test levels before publication
LDG5: Share levels with other players
LDG6: Express creativity with minimal technical barriers
2.2.4. Customer Goals — Hawki¶
CG1: Deliver a successful Sokoban system
CG2: Retain players and encourage repeated engagement
CG3: Prevent early player drop-off
CG4: Foster a positive and fair community
CG5: Enable sustainable monetization
CG6: Support organic growth through community and sharing
2.3. Goal Model¶
The following diagram provides an overview of the complete goal structure and illustrates refinement relationships between system and stakeholder goals.
Global Goal Model of the Distributed Sokoban System¶