Features and Requirements
Functional Requirements:
Level Generator
- Every mode will use a procedurally generated map, giving a unique experience each time the game is played.
- The player will just insert the number of boxes they wish to have on the map.
Single-player
- Players will be asked to select the number of crates they want to have on the map.
- Players will complete a level by placing the crate(s) onto target(s) on the map.
Multiplayer (Co-op)
- Players will be able to complete procedurally generated levels of Sokroban with a friend.
- The players will be put in a lobby where they can choose to host a game or join a friend's room.
- Once the first player has created a room and picked the amount of crates for the level, the other can join the same room.
- Once the other player joins, both players will be on the same generated map.
Multiplayer (VS)
- Players will be able to compete against a friend on who will solve the same procedurally generated level faster.
- The players will be put in a lobby where they can choose to host a game or join a friend's room.
- Once the first player has created a room, and enterred the number of boxes the other can join the same room.
- Once the other player joins, each player will have the same generated map and the screen will be splitted in half.
- The player that finishes the level the fastest wins the game.
Undo Option
- The player will have an option to undo every move they have performed since the beginning of the level.
Reset Level
- The player will have an option to reset the level while playing.
High Score
- A High Score is a feature that will keep the game engaging, and have a sense of competitiveness.
- The High Score feature will be based on the players performance while playing the game(Single Player/Multiplayer (VS)).
- The High Score feature will take the number of moves, amount of undos, amount or resets, and time that is taken to finish the level to calculate an appropriate score for the player.
Database Data
- Username and Password: The player will choose to either login with an account they have already created or create and account if they are a first time user.
- HighScores: The game will feature a leaderboard that will allow players to view the general high scores of players.
Nonfunctional Requirements:
Skins
- The players will have the choice to choose different skins for their character.
- This will be an additional menu option, that the player can access on the main menu.
Puzzle Complexity
- The player will be able to compete in pre-designed levels with multiple features such as holes, secret doors, and different kinds of walls.
- Holes will provide the player with another level of puzzle complexity, by making them have to put a box inside the whole in order to traverse the character around certain parts of the map.
- Secret doors will give the user the option to the character to move to a hidden part of the map.
- Different walls will be used to hide the hidden doors.
Story Mode
- As an addition to the single-player version of the game, the player will experience a story mode.
- Story mode will have pre-designed maps that give the option to the player to free the warehouse worker.
- The player will learn about the warehouse and how the worker got stuck, trying to make their way out.