Skip to content

Scenario: Managing A Game

Samuel C. Tyler edited this page May 2, 2021 · 4 revisions

From ticket #53:

A user should be able to create a wiki-like list of lists, in order to help them complete games. A user should be able to keep the following lists: Characters (people met), Quests, Items, Armor, Weapons, and Laurels (PS4 Trophies, Xbox Achievements, etc). We should use the Skyrim wiki to get the data for this. Each sublist should have different states and default to the states of its parent. For instance, a weapon can be undiscovered, discovered, in inventory, or in storage. When creating these lists, a user should be able to add more attributes about the items, such as damage and durability.

There should be a dynamic list that covers what the user has and what their attributes are for a specific character. The user should be able to maintain different characters, and different list states. This feature needs the ability to add named state sets.)

Introduction

This page lays out a scenario for QuestLists' usage and a core reason for creating this application. The intended readers are the consumers of this application, the content creators, and the developers of QuestLists. This software requirement specification will include an overview of this scenario, a list of features that should be implemented to be able to recreate this scenario, existing popular applications that already solve this problem, and how QuestLists differs from them, failure mitigation strategies, and potential roadblocks in feature implementation.

Overview

In this scenario, we want to create a compendium of actions, items, quests, secrets, and other notes about a particular game. If you are like me, you would like to be able to keep track of which quests you have completed, which ones you have not started, and the various progress in each of the quests you have started. You would also like to be able to see all items in the game and how to obtain each one. As a bonus, viewing a dependency tree of all items/quests/etc. in the game would be especially useful.

There are many wikis for games out there, but none have the ability to store game progress per user. QuestLists offers the wiki experience with games and game progress.

Users

Existing Tools

There are many existing tools that solve this type of problem. There are simple list managers that work well enough: Google Keep Notes, Todoist, Evernote, and a slew of others. There are also many applications specific to this task: BigOvenBigOven, AvocadoList, Our Groceries, Bring!, Listonic, Out of Milk, and many more.

Functionality (Featureset)

The core features of this project are as follows:

  • ✅ Creation of Lists
  • 🔨 Creation of Child Lists (sub lists)
  • 🔨 Ability to hide and disable list items
  • 🔨 Ability to re-enable list items that were previously hidden
  • ✨ Ability to create recipe lists (special view for lists)
  • ✨ Ability to share list items across lists
  • ✨ Ability to step through list items, in a wizard-like fashion (for preparing food)

Key:

  • ✅ completed
  • 🔨 Current Release (1.0)
  • ✨ Next Release (2.0)

Goals and Scopes

  • Users should be able to login and create a recipe
    • users should be able to choose a recipe view for editing recipes, via a selection box from the list view
    • the list should be structured such that the list items are ingredients, and the description is the method of preparation and other info
  • Users should be able to select a new view tailored for shopping, where they can check off these items
  • Users should be able to choose a view tailored for making the recipe, in a wizard-like fashion
    • the first page is the ingredients list, with states for whether the item has been prepared (ex: "3 eggs" item is in a "prepared" state)
    • each subsequent page is a step in the preparation method.
      • there needs to be special handling of MOP data to accomplish this

Deliverables

  • the source code.
  • the Scenario Requirements Specification (SRS) (this document)

Risk Management

Risks Identified

Risk Mitigation

Timeline Estimates

  • 3 weeks for each view: recipe edit, shopping list, kitchen wizard
  • 3 weeks for the ancillary items: selecting views, reading and writing the MOP data

Technical Process

We will be implementing this scenario using the Vue.js toolkit, with ancillary HTML, Javascript, and CSS. Tests will be created for each feature, but we will ost likely not be using TDD methodologies.