summaryrefslogtreecommitdiff
path: root/doc/ProductBacklog.md
blob: 59b5e11259cca13b2c918fbe03de3d86b02848f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
---
title: Team 6 - Leaguer
author: [ Nathaniel Foy, Guntas Grewal, Tomer Kimia, Andrew Murrell, Luke Shumaker, Davis Webb ]
---

Problem Statement
-----------------

In team-based tournament sports, often individual contributions are
overshadowed by the binary end result: win or lose.  This
winner-takes-all mentality may unfairly pair players in later stages
of the tournament based on the team's score rather than their own in
early stages.


Background
----------

Generally, new team based competitions have been managed
electronically using archaic methods.  The winning team advances and
the losing team is defeated.  In the real world there are many
examples of individual review (as in football) and handicaps (as in
golf).  Our goal is to create software that allows teams to compete
and review their peers to more accurately represent modern team
competitions.  Our domain is online competition management and
e-sports.  The targeted audience is defined on two levels, on a broad
level it is for any individual wishing to manage a competitive event,
on a niche level it is for individuals looking to manage and
participate in team competitions (like League of Legends).

All existing solutions that we found were limited by the binary
win/lose.  Several open-souce options exist, which we could possibly
extend.

The most prominent of these is "XDojo". It has not been modified in
roughly two years, but has been used for several national
tournaments.  Unfortunately, the documentation is not in English.
Because of this, evaluating it for possible adaptation is at the very
least, a spike.

Another current offering is "OMGT" (Open Manager for Game
Tournaments).  It seems to be reasonably well developed and stable,
though the install process is mostly undocumented, and while probably
not very complex, we haven't figured it out yet.

The third current open source offering looked at was "tournamentmngr",
which seems to be unstable/incomplete.  It is written in C#, which
gets in the way of our "easy to install" requirement.

System Model
------------

![](./SystemModel.png)\ 

Requirements
------------

 - Essential functional requirements
    - As a host, I would like to create a new tournament.
    - As a host, I would like to set some of the parameters of a
      tournamet, such as number of players per team, whether
      spectators ar allowed, and game type.
    - As a player, I would like to register for a tournament.
    - As a host, I would like to assign members to team, or have the
      option to randomly assign teams.
    - As a player, I would like to rate my peers, and would like to be
      reviewed by my peers.
    - As a player, or spectator, I would like to see the standings of
      all players.
    - As a host, or a player, I would like my win/rating history to be
      stored so that I can have the same profile throughout many
      tournaments.
 - Essential non-functional requirements
    - As a host, player, or spectator I would like the Project Leaguer
      interface to be simple and easy to use.
    - As a host, player, or spectator I would like the Project Leaguer
      server to be secure and to operate quickly.
 - Non-essential functional requirements
    - As a host, I would like to be able to send public alerts to
      players and spectators.
    - As a player, I would like to be able to exchange private
      messages with a host.
    - As a player or spectator I would like access to Advanced 
      Tournament Search facilities.
 - Non-essential non-functional requirements
    - As a player or spectator I would like to utilize an Interactive Menu.
    - As a spectator, I would like to be able to watch matches on "Twitch".
    - As a player, or a spectator, I would like to be able to access
      the service on a mobile device.