Skip to content

Scenario: Managing A Game

Samuel C. Tyler edited this page May 25, 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

This scenario addresses the needs of Gamers, Fitness Enthusiasts, those interested in self-help, and anyone else who has gamified anything in life.

Existing Tools

There are many list managers available, both free and paid, but none have wiki-like functionality. There are also many wiki applications, but none have the ability to store lists and progress per user.

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 list items with descriptions
  • 🔨/✨ Ability to add a wiki-like list of all lists, with page text
  • ✨ Ability to share list items across lists
  • ✨ Ability to add dependencies via attributes on lists and list items (create a basic language for dependencies, including cycle detection and resolution)
  • ✨ Ability to view a dependency tree and add/edit items in this view. This is basically just another view for lists.
  • ✨ abililty to switch between views on a list, and have a default view for lists.
  • ✨ ability to store changes (edits) of lists, so users can see who and what has changed.
  • ✨ Ability to render markdown in views
  • ✨ Ability to show status ("at-a-glance") progress of sub-lists.
  • ✨ Ability to add goal markers to sublists, and view those goal markers on a single page, with progress. ("badges" or "trophies")
  • ✨ Ability to add tags to lists and list items, and add goal markers based on those tags.

Key:

  • ✅ completed
  • 🔨 "" (1.0)
  • ✨ "Game" Milestone

Goals and Scopes

  • Users should be able to login and create a new Game list
    • users should see a wizard-like interface for creating a new list
  • Users should be able to create lengthy descriptions in a wiki-like fashion.
  • Users should be able to view a changelog of edits to a list description.

Deliverables

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

Risk Management

Risks Identified

Risk Mitigation

Timeline Estimates

  • 3 weeks for each view: dependency graph, wiki view
  • 6 weeks for cloud function which creates changelog.
  • 6 months for the dependency language

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 most likely not be using TDD methodologies.