2022-02-27T14:56:15.671560282LibreOffice/7.3.2.2$Linux_X86_64 LibreOffice_project/30$Build-22022-04-25T13:54:57.087569254PT2H15M22S40 0 0 46383 40502 view1 5 27 2 2 1 1 3 0 1 0 18 0 100 60 true false User Stories 2483 0 100 60 false true true true 12632256 true true true true false false false 1270 1270 1 1 true false true true true 0 true true false true false en US 12632256 true true false false true true false 3 false Generic Printer false pAH+/0dlbmVyaWMgUHJpbnRlcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU0dFTlBSVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAMAxQAAAAAAAAAIAFZUAAAkbQAASm9iRGF0YSAxCnByaW50ZXI9R2VuZXJpYyBQcmludGVyCm9yaWVudGF0aW9uPVBvcnRyYWl0CmNvcGllcz0xCmNvbGxhdGU9ZmFsc2UKbWFyZ2luYWRqdXN0bWVudD0wLDAsMCwwCmNvbG9yZGVwdGg9MjQKcHNsZXZlbD0wCnBkZmRldmljZT0xCmNvbG9yZGV2aWNlPTAKUFBEQ29udGV4dERhdGEKUGFnZVNpemU6TGV0dGVyAER1cGxleDpOb25lAAASAENPTVBBVF9EVVBMRVhfTU9ERQ8ARHVwbGV4TW9kZTo6T2Zm false 1270 1270 1 1 true false true true true true 7 true Sheet1 % ??? Page 1 ???(???) 00/00/0000, 00:00:00 Page 1/ 99 Short Title Theme User Story Clarifications Test or Conditions of Satisfaction Kano Category Story Points Relative Benefit Relative Penalty Total Value Value % Cost % Priority Main Epic User Story Epic As a player, I would like to play the game Four-Line Dropper, so that I can have fun. Mandatory 845 182 151 333 100.00% 1 Choose game type Front-End Interface As a player, I would like to choose to play against the AI, or another Player over the network, or another Player locally, so that I can choose the type of game to play. The player should be presented with a menu to select the game type. When networking hasn’t yet been implemented, “local-mulitplayer” or “against the AI” are the only options available. The game type should be selectable. Player is queued for play against another player, or starts a game against an AI, or starts a game in “Local-Multiplayer” mode. Mandatory 10 8 16 4.80% 1.18% 4.06006006006006 Game start Front-End Interface As a player, I would like to know when the game has started, so that I know to start playing the game. The game should start once the current Player has been paired with another player, or immediately after choosing to play against an AI or local Player. If pairing has not yet ocurred, it should be obvious that pairing is still pending. Mandatory 40 8 16 4.80% 4.73% 1.01501501501502 Player pairing cancellation Front-End Interface As a player, I would like to abort playing against another Player and play against an AI, so that I don’t have to keep waiting for the game to start. The player should be able to remove themselves from the pairing process and immediately start a game against an AI. Exciter 37 6 2 8 2.40% 4.38% 0.548656764872981 Visible “whose turn it is” Front-End Interface As a player, I would like to see who’s turn it is, so that I can wait for my turn and play when it is my turn. It should be obvious whose turn it is during gameplay. Mandatory 13 7 9 16 4.80% 1.54% 3.12312312312312 Column availability Front-End Interface As a player, I would like to know which columns of the game board are available to place tokens, so that I can pick a column to place a token. It should be obvious which columns can accept a dropped token. Mandatory 18 8 16 4.80% 2.13% 2.25558892225559 Token placing Front-End Interface As a player, I would like to place a token in an available column of my choosing, so that I could finish my turn. An available column is a column in the game board that is not full. A player should be able to place a token into an available column. Mandatory 25 9 8 17 5.11% 2.96% 1.72552552552553 Visible game board Front-End Interface As a player, I would like to see the game board, so that I can see the current state of the game and plan accordingly. The game board is 7 tokens wide and 8 tokens tall. The size of the board and all tokens on the board should be visible. Mandatory 23 9 18 5.41% 2.72% 1.98589894242068 Final game results Front-End Interface As a player, I would like to see if the game is over, so that I can know if the game is over and if I have won or not. It should be obvious if the game has ended and who the winner is in that case. Mandatory 20 8 16 4.80% 2.37% 2.03003003003003 End game options Front-End Interface As a player, I would like to choose to play again if the game has ended, so that I can continue playing. The player should be able to return to the very first state of the game to start over. Exciter 13 6 3 9 2.70% 1.54% 1.75675675675676 Website URL and availability Front-End Interface As a player, I would like to know the URL of the website for Four-Line Dropper, so that I can visit the website and play the game. A webserver should serve the game’s front-end and the URL of the webserver should be given to Players. Linear 24 9 8 17 5.11% 2.84% 1.79742242242242 AI implementation Back-End Implementation As a player, I would like to play against the AI, so that I can play “singleplayer mode”. AI is expected to be “Utility-AI” based. The AI should be implemented such that a full game of Four-Line Dropper can be played with it. Exciter 70 7 4 11 3.30% 8.28% 0.398755898755899 Game logic turn implementation Back-End Implementation As a player, I would like to play the game expecting that the game knows whose turn it is, so that the game can progress. The game should keep track of whose turn it is. Mandatory 30 8 16 4.80% 3.55% 1.35335335335335 Game logic record token drop implementation Back-End Implementation As a player, I would like to play the game expecting that my moves are recorded, so that the game keeps track of everyone’s moves. The game should be able to record and keep track of tokens placed by Player(s) and/or AI. Mandatory 65 8 16 4.80% 7.69% 0.624624624624625 Game logic win/lose/draw state detection Back-End Implementation As a player, I would like to play the game expecting that the game knows when it has ended, so that the game works as expected. Win/Lose if a player has 4 in a row/column/diagonal or a draw if no more tokens can be placed. The game should be able to detect end-game state. Mandatory 70 8 7 15 4.50% 8.28% 0.543758043758044 Multiplayer pairing Networking As a player, I would like to be able to pair with another Player, so that I can play a multiplayer game. The front-end should be able to communicate with the back-end server to enqueue a Player to pair against another Player. Exciter 77 8 5 13 3.90% 9.11% 0.428415428415428 Multiplayer game start Networking As a player, I would like to know when the game has started a multiplayer game, so that I can play a multiplayer game. The back-end should communicate to the front-end(s) that the game has started and whose turn it is. This will occur after a Player has been paired. Mandatory 25 9 18 5.41% 2.96% 1.82702702702703 Multiplayer game whose turn it is Networking As a player, I would like to play a multiplayer game knowing whose turn it is, so that the game can progress. The back-end should communicate whose turn it is to the front-end(s). Mandatory 20 9 8 17 5.11% 2.37% 2.15690690690691 Multiplayer record turn action Networking As a player, I would like to play a multiplayer game knowing that the game keeps track of each Player’s turn, so that the game can progress. The front-end and back-end should communicate a Player’s decision on their turn to be stored in the back-end. Mandatory 20 8 16 4.80% 2.37% 2.03003003003003 Multiplayer game board state Networking As a player, I would like to play a multiplayer game knowing the board’s state, so that I can accurately know the board’s state. The back-end should communicate the state of the game board to the front-end(s). Linear 53 9 18 5.41% 6.27% 0.861805201427843 Multiplayer end-game state Networking As a player, I would like to know if a multiplayer game has ended, so that I can see the results. The back-end should communicate to the front-end(s) that the game has ended and who the winner/loser is or if it has ended in a draw. Linear 48 8 7 15 4.50% 5.68% 0.792980480480481 In-game emotes Extra As a player, I would like to communicate with the other player with the available in-game emotes, so that I can have some banter with the opponent. The front-end should be able to send user-selected emotes to the back-end, to be communicated to the other player’s front-end. Exciter 47 7 2 9 2.70% 5.56% 0.485911443358252 In-game column emotes Extra As a player, I would like to communicate with the other player with the available in-game emotes to highlight a specific column, so that I can have some banter with the opponent. The front-end should be able to send user-selected emotes on a specific column to the back-end, to be communicated to the other player’s front-end. Exciter 52 7 2 9 2.70% 6.15% 0.439189189189189 Reactivity Constraint As a player, I expect the UI to be responsive, so that I will have no issues using the UI to play the game. The front-end should be reasonably responsive enough to not hinder game-play. Mandatory Multiplayer Phrase Pairing Networking As a player, I would like to be able to pair with another Player I know, by setting up a common phrase that will match me with the Player I know, so that I can play a game with the Player I know. Set up a “room code” system where Players can specify a “phrase” or “code word” that will only pair them with other Players that use the same “phrase”. The back-end should be able to pair Players with identical “phrases” or “code words”. The front-end should allow the Player to set a “phrase” or “code word”. Exciter 45 8 3 11 3.30% 5.33% 0.620286953620287 Refactoring and Code Improvement Constraint As I developer, I expect the code to be improved when improvements can be made to improve code quality and prevent technical debt. The front-end and back-end code should be reasonably maintained, with fixes and/or refactorings where possible. Mandatory