2022-02-27T14:56:15.671560282LibreOffice/7.3.1.3$Linux_X86_64 LibreOffice_project/30$Build-32022-03-13T22:01:54.524481726PT2H8M22S38 0 0 46383 36844 view1 12 23 2 2 1 1 3 0 5 0 1 0 100 60 true false User Stories 1203 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 800 174 148 322 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.97% 1.25% 3.9751552795031 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.97% 5.00% 0.993788819875776 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.48% 4.63% 0.537183145878798 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.97% 1.63% 3.05781175346393 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.97% 2.25% 2.20841959972395 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.28% 3.13% 1.68944099378882 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.59% 2.88% 1.94436943019174 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.97% 2.50% 1.98757763975155 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.80% 1.63% 1.72001911132346 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.28% 3.00% 1.75983436853002 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.42% 8.75% 0.390417036379769 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.97% 3.75% 1.32505175983437 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.97% 8.13% 0.611562350692785 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.66% 8.75% 0.532386867790595 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 4.04% 9.63% 0.419456320077438 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.59% 3.13% 1.7888198757764 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.28% 2.50% 2.11180124223602 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.97% 2.50% 1.98757763975155 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.59% 6.63% 0.843782960271886 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.66% 6.00% 0.77639751552795 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.80% 5.88% 0.475749966961808 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.80% 6.50% 0.430004777830865 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