From c80fd1c7731d74368d9fec90971a47e5402355c8 Mon Sep 17 00:00:00 2001 From: Alex Fischer <183024988+SuperGamer001@users.noreply.github.com> Date: Wed, 25 Feb 2026 16:29:51 -0800 Subject: [PATCH 1/2] Rough Draft 1 --- Interlinked/game.json | 10 ++++- docs/design/commonality-variability.md | 58 ++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 docs/design/commonality-variability.md diff --git a/Interlinked/game.json b/Interlinked/game.json index 6ea17f5..ce8d104 100644 --- a/Interlinked/game.json +++ b/Interlinked/game.json @@ -1,3 +1,11 @@ { - "games": [] + "games": [ + { + "name": "Super Smash Bros", + "description": "Test entry for update script", + "tags": ["fighting", "test"], + "folderName": "super-smash-bros", + "repo": "https://github.com/ToastedToast00/Super-Smash-Bros" + } + ] } \ No newline at end of file diff --git a/docs/design/commonality-variability.md b/docs/design/commonality-variability.md new file mode 100644 index 0000000..468c8b5 --- /dev/null +++ b/docs/design/commonality-variability.md @@ -0,0 +1,58 @@ +# Commonality and Variability Analysis + +## Commonalities +- User must register on the site to access friends. +- Users will have friends. +- Users can complete achievements and receive rewards. +- +- +- + +## Variabilities +- Game catalogue + - Why it may change: Games will be constantly added, updated, and removed. + - How it is isolated: Only certain users with certain privileges will add, update, and remove games. + +- Contact Support + - Why it may change: As the platform grows, we may get a better support system that allows a user to get a support ticket. + - How it is isolated: We would make our own support service. + +- Amount of achievements + - Why it may change: Developers can add content that will also contain achievements players can earn rewards. + - How it is isolated: + +- Editing the List of Avatars + - Why it may change: We'll continuously add, delete, or update more avatars as more games roll in. + - How it is isolated: We'll have a system that allows us to perform this action. + +- User Permission/Role Policies + - Why it may change: New roles sch as admin/moderator as well as developer may be added, permissions may shift as platform grows + - How it is isolated: A permissionPolicy object to define role capabilities + +- + - Why it may change: + - How it is isolated: + + + + +# Commonality and Variability Analysis + +## Commonalities +- A Game consists of Frames. +- A Frame records Rolls. +- A Player participates in a Game. +- A total score is computed. + +## Variabilities +- Scoring rules + - Why it may change: + The system may support standard 10-pin, candlepin, or practice scoring. + - How it is isolated: + Game depends on a ScoringStrategy interface rather than a concrete scoring class. + +- Game format (number of frames) + - Why it may change: + Casual or youth modes may use fewer frames. + - How it is isolated: + A GameConfiguration object defines frame count and rule parameters. \ No newline at end of file From a54193a3d1cc1887d0a7cd99a149c1d0fd0d13b7 Mon Sep 17 00:00:00 2001 From: Alex Fischer <183024988+SuperGamer001@users.noreply.github.com> Date: Mon, 2 Mar 2026 15:38:53 -0800 Subject: [PATCH 2/2] Finished MD file --- docs/design/commonality-variability.md | 46 ++++++++------------------ 1 file changed, 13 insertions(+), 33 deletions(-) diff --git a/docs/design/commonality-variability.md b/docs/design/commonality-variability.md index 468c8b5..c91b48d 100644 --- a/docs/design/commonality-variability.md +++ b/docs/design/commonality-variability.md @@ -1,12 +1,12 @@ # Commonality and Variability Analysis ## Commonalities -- User must register on the site to access friends. -- Users will have friends. +- User must register on the site to access certain features. +- Users can form friendships with other users. - Users can complete achievements and receive rewards. -- -- -- +- The user is a central actor for the site. +- The user is able to search for games using the built-in search engine. +- An achievement belongs to a game and has completion criteria. ## Variabilities - Game catalogue @@ -19,40 +19,20 @@ - Amount of achievements - Why it may change: Developers can add content that will also contain achievements players can earn rewards. - - How it is isolated: + - How it is isolated: Modify the achievement system in that specific game (presumably `achievement.js`). - Editing the List of Avatars - Why it may change: We'll continuously add, delete, or update more avatars as more games roll in. - - How it is isolated: We'll have a system that allows us to perform this action. + - How it is isolated: We'll have a dedicated service for admins that allows us to perform this action. - User Permission/Role Policies - Why it may change: New roles sch as admin/moderator as well as developer may be added, permissions may shift as platform grows - How it is isolated: A permissionPolicy object to define role capabilities -- - - Why it may change: - - How it is isolated: +- Website Themes + - Why it may change: Sometimes the coloring may be off, or we'll add more themes. + - How it is isolated: Have a new .theme.css file for each theme. - - - -# Commonality and Variability Analysis - -## Commonalities -- A Game consists of Frames. -- A Frame records Rolls. -- A Player participates in a Game. -- A total score is computed. - -## Variabilities -- Scoring rules - - Why it may change: - The system may support standard 10-pin, candlepin, or practice scoring. - - How it is isolated: - Game depends on a ScoringStrategy interface rather than a concrete scoring class. - -- Game format (number of frames) - - Why it may change: - Casual or youth modes may use fewer frames. - - How it is isolated: - A GameConfiguration object defines frame count and rule parameters. \ No newline at end of file +- Functionality of the Search Engine + - Why it may change: As the library grows, there will be a more robust way to find results. + - How it is isolated: We optimize the code to use better O Notation for searches. \ No newline at end of file