Created Technical Scope (markdown)

RPG Research 2019-11-07 12:32:00 -08:00
parent 17ce93fa2d
commit 34816ac0ec

342
Technical-Scope.md Normal file

@ -0,0 +1,342 @@
THIS IS JUST A ROUGH COPY-PASTE FROM THE GOOGLEDOCS DRAFT, WE NEED TO CLEAN THIS UP.
OVERVIEW
This section provides a more detailed technical scope for each phase of the project, always referencing
the business scope and executive summary as a guideline. All parameters within this document should
be in line with business scope. This document does not provide all of the low-level detail necessary for
completion which is found in the Technical Specification Documents (TSD).
PROJECT BACKGROUND AND DESCRIPTION
This project came about because of multiple client requests over the decades to provide an ERPG solo and multiplayer
experience similar to the TRPG experience. This was further developed when Hawke worked with some specific clients
but was set aside when the client was incapacitated by a brain injury. The demand, however, for ERPGs that can be
tweaked to meet specific measurable goals for different populations to achieve their recreational, entertainment,
educational, professional, and therapeutic needs.
PROJECT SCOPE
The triangle of resources between time, quality, and expenses (man hours and other costs). While this project does not
have a set timeline, we do want to use project best practices to try to keep the momentum going.
Regarding quality, we are concerned about functional quality but not so much aesthetic quality. The user interface,
animation, and graphics dont need to be high end, just functional enough to meet the goals. We do want code quality to
be high: bug-free, well-tested, stable, not a resource hog, and cross-platform with easy to maintain code.
Regarding time, though no set timeline, we will set regular monthly goals to strive for and periodic roadmap milestones.
Regarding manpower and finances, this is a volunteer-based project. We may open it up to the general public under open
source licensing for additional help. We may be using someone elses open source framework if we can find one that
matches. We currently have about half a dozen people on staff interested in helping with the development and testing,
which will be listing in the project management documents and updated by the PM monthly. The current project director is
Valerie Krepel with guidance from Hawke Robinson.
PHASE 1: NWN MOD1
HIGH-LEVEL REQUIREMENTS
● Using the Aurora toolset, create a module that on average lasts a minimum of 30 minutes of adventure,
maximum of 90 minutes for non-adaptive populations.
● Emphasizes socializing and problem-solving over combat over solution to the adventure.
● Supports both solo and multiplayer.
● Supports perpetual server-hosting.
● Spacing out of intelligent NPCs so that DM can use DM client to interact with players in real time (try to avoid
more than one NPC in an area to facilitate this).
● Make sure we are careful about accessibility and inclusiveness to the best of our abilities within the Aurora
toolset and NWN platform constraints. (Reference accessibility on RPG website)
2
● First level adventure.
● Start primarily in English language, but if possible to leave hooks open for other languages, do.
● Target Audience: Ages 5 to 105+
● Purely for recreational goals, not educational, professional, or therapeutic for this module.
● Participant satisfaction scale goal: 7 or higher.
● Try to rely on as few additional third party libraries or resources as possible. Try to use as close to the original
toolset as possible for maximum compatibility.
● Design in a modular fashion so we can slowly add and extend to it over time. It can be played in its earlier
stages and will continue to extend.
● Set creatures that normally might be hostile to lowest hostility level possible.
DELIVERABLES
● One Aurora toolset-built Neverwinter Nights module that provides a minimum of 30 minutes regular speed play,
maximum 90 minutes.
● Compatible with Neverwinter Nights Enhanced Edition and all the platforms supported therein.
● Family-friendly content
● The module content we will not release publicly for safety reasons until we are sure it is appropriate to do so, if
ever
● Include a simple demo for general public testing
AFFECTED PARTIES
ERPG Dev Team
NWN Trainees
AFFECTED BUSINESS PROCESSES OR SYSTEMS
RPG Research ERPG Division
SPECIFIC EXCLUSIONS FROM SCOPE
ERPG Dev Team
NWN trainees and Game Masters
IMPLEMENTATION PLAN
● One copy NWN full bundle for PM to install. Create RPG Research account for this. Will use RPG Research
funds. - Done
● Server to host module that is publicly accessible but access controlled, find out if NWN 1.69 linux dedicated
server is compatible with NWN:EE clients or not.
● Create high-level story, plot, and character design, then in Twine create the branching story logic
● Design docs about what locations and features we want to use before we create it broken into modular pieces
so we can assign different squares to different developers
● Aurora Toolset for all relevant developers
● Internet access
● Bi-weekly check-in meetings as coordinated by PM
● Post volunteer job position on website and Indeed for PM that reports to Project Director
● List of people who signed up to be part of this project and their roles and committed hours per week that they
have offered
3
● Shared hosted PM software - Hawke and Niklas
● Central repository for documentation - Hawke / Niklas
● Set up GitHub project specific account, may need project specific email - Hawke / Niklas
● Create technical specifications document: wikified?
PHASE 2: ILMAR
HIGH-LEVEL REQUIREMENTS
● Use Twine for branching development http://twinery.org/
● Evaluate what tools to be used: dev platform framework, server
● Internet/LAN accessible
● Ability for player to host game on own computer
● Open source text-based framework
● Create a module that on average lasts a minimum of 30 minutes of adventure, maximum of 90 minutes for non-
adaptive populations.
● Emphasizes socializing and problem-solving over combat over solution to the adventure.
● Supports both solo and multiplayer.
● Supports perpetual server-hosting.
● Make sure we are careful about accessibility and inclusiveness to the best of our abilities.
● First level adventure.
● Start primarily in English language, but if possible to leave hooks open for other languages, do.
● Target Audience: Ages 5 to 105+
● Targeting educational and therapeutic goals
● Participant satisfaction scale goal: 7 or higher.
● Try to rely on as few additional third party libraries or resources as possible.
● Design in a modular fashion so we can slowly add and extend to it over time. It can be played in its earlier
stages and will continue to extend.
● For this project, there is no going back in terms of player selections: once a choice is made it cannot be undone.
DELIVERABLES
● Can be played either solo or multiplayer
● Text-based collaborative with a rudimentary action/combat system
● 3 choice maximum per branch
● Minimum of 30 minutes gameplay, maximum 90 minutes gameplay without disability
● Content should be abstracted from framework (modular stories)
● Needs scoring system to track measurable goals
● Has actual character development option, either pre-gens or create from scratch
● Is accessible over the internet
● Ability to print report (web version, email report, and paper printable)
● Real-time monitoring of players progress
● Chat facility (text and voice) options
● Very clean and simple UI
● Recorded choice mapping (visual representation of the path taken)
● User feedback feature
● Allow modules to have multiple paths to success rather than only one
● Try to onboard 10-20 developers (for an average of 6 hours a week availability)
● Have a future feature wishlist to prevent scope creep
● Family-friendly content
● The module content we will not release publicly for safety reasons until we are sure it is appropriate to do so, if
ever
● Include a simple demo for general public testing
4
AFFECTED PARTIES
ERPG Development Team
Research Team
AFFECTED BUSINESS PROCESSES OR SYSTEMS
ERPG Training
Research
SPECIFIC EXCLUSIONS FROM SCOPE
● For this version, dont worry about gradients of success and failure, just about whether or not it does work.
● Dont worry about MMORPG features, just a small group of players
IMPLEMENTATION PLAN
● Create the module in Twine
● Research text-based open source frameworks
● Bring branches from Twine into open source framework that meets needed requirements
● Set up PM software
● Develop technical specifications doc(s)
● Set up code repository
● Release for community testing
● Have a dedicated server running 24/7 or as much as possible
● Host weekly check-in meetings
● Setup Github account - Hawke
● Setup OpenProject.org server on delldev - Niklas
● Keep weekly update thread current on Google Groups
● Code must be well-commented
● Must be documentation for each part of the code (in code comments is not sufficient documentation!)
● Take an object-oriented design approach
● Research UML as possibility in smaller code sections
● Use GitHub for bug-tracking
● Design QA process and communicate it - Valerie
● Create technical specifications document: wikified?
PHASE 3: VAINA
HIGH-LEVEL REQUIREMENTS
● Open source IV+ framework
● Create a module that on average lasts a minimum of 30 minutes of adventure, maximum of 90 minutes for non-
adaptive populations.
● Internet/LAN accessible
● Ability for player to host game on own computer
● Emphasizes socializing and problem-solving over combat over solution to the adventure.
● Supports both solo and multiplayer.
5
● Supports perpetual server-hosting.
● Make sure we are careful about accessibility and inclusiveness to the best of our abilities.
● First level adventure.
● Start primarily in English language, but if possible to leave hooks open for other languages, do.
● Target Audience: Ages 5 to 105+
● Targeting educational and therapeutic goals
● Participant satisfaction scale goal: 7 or higher.
● Try to rely on as few additional third party libraries or resources as possible.
● Design in a modular fashion so we can slowly add and extend to it over time. It can be played in its earlier
stages and will continue to extend.
● Able to store and play upon invocation any movie clip
● Now may have a nicer designed UI/UX
● Needs to work on Linux, Windows, Mac, and Android (whether as a client or web-based, whichever works best)
● For this project, there is no going back in terms of player selections: once a choice is made it cannot be undone
DELIVERABLES
● Have a future feature wishlist to prevent scope creep
● Need collection of video clips that fit each option in game (need people to act out the clips, recording equipment,
and a location)
● Working game across platforms with the functionality of phase 2 represented in GUI
● Basic limited access report for the players
● Family-friendly content
● The module content we will not release publicly for safety reasons until we are sure it is appropriate to do so, if
ever
● Include a simple demo for general public testing
● Captioning for videos
AFFECTED PARTIES
RPG Research
General Public
AFFECTED BUSINESS PROCESSES OR SYSTEMS
All ERPG Division
SPECIFIC EXCLUSIONS FROM SCOPE
● Be careful of FERPA, HIPPA, and other user considerations for data
IMPLEMENTATION PLAN
● Much of this implementation plan will depend on how Phase 2 goes and may have to be updated depending on
what we learn
● Create video scripts
● Create basic storyboarding/blocking
6
● Record the videos
● Edit the videos
● Put the videos in appropriate file format and location for access
● Create technical specifications document: wikified?
● UI/UX/GUI design
Research Notes (started by Hawke)
Development Language?
Development tools
Supported Development Platforms (which operating system can development be done under, as opposed
to what platform the developed code can be run on): ???
?
Unreal Engine https://en.wikipedia.org/wiki/Unreal_Engine
7
Supported Dev Platforms: ???
Supported End-user Platforms: Microsoft Windows, macOS, Linux, SteamOS, HTML5, iOS, Android,
Nintendo Switch, PlayStation 4, Xbox One, Magic Leap One, HTC Vive, Oculus Rift, PlayStation VR,
Google Daydream, OSVR, Samsung Gear VR, HoloLens 2.
Reality Support (AR, VR, etc.): Yes (see details on which)
Development IDEs:
Github integration: ???
UML support:
Unit test tools:
LIcense: Commercial for commercial projects (source available) - SHOW STOPPER
Applicability to our design goals:
Pros & Cons Summary:
libGDX - https://en.wikipedia.org/wiki/LibGDX
Supported Dev Platforms: ???
Supported End-user Platforms: Windows, Linux, Mac OS, Android, iOS, Blackberry, Web Browsers, &
WebGL
Programming language(s): Primarily Java with some C & C++ performance tweaks.
Reality Support (AR, VR, etc.): ???
Development IDEs:
Github integration: ???
UML support:
Unit test tools:
License: opensource Apache 2.0 - Verify this is acceptable license for our goals.
Applicability to our design goals:
Pros & Cons Summary:
Dev Tool/platform:
8
Programming Language(s):
Supported Development Platforms (which operating system can development be done under, as opposed
to what platform the developed code can be run on): ???
Unity
Development platforms: ???
End-user Supported Platforms: iOS,[35] Android,[35] Tizen,[36] Windows,[35] Universal Windows
Platform,[37] Mac,[6] Linux,[38] WebGL,[34] PlayStation 4,[35] PlayStation Vita,[39] Xbox One,[6]
3DS,[40] Oculus Rift,[35] Google Cardboard,[41] Steam VR,[42] PlayStation VR,[43] Gear VR,[34]
Windows Mixed Reality,[44] Daydream,[45] Android TV,[46] Samsung Smart TV,[47] tvOS,[48] Nintendo
Switch,[35] Fire OS,[46] Facebook Gameroom,[45] Apple's ARKit,[49] Google's ARCore,[50] Vuforia,[50]
and Magic Leap.[51]:
Programming Language: C# to C++ to JavaScript.
License: Proprietary software (SHOWSTOPPER)
RPG Maker MV
Development Platforms: ???
end-user suported platforms: PC-8801, MSX2, PC-9801, Super Famicom, Microsoft Windows, Sega
Saturn, PlayStation, Game Boy Color, PlayStation 2, Game Boy Advance, Nintendo DS, Nintendo 3DS,
Linux, Nintendo Switch, PlayStation 4, MacOS
License: Commercial $80+
9
GoDot
LIcense: Opensource - MIT License (does this fit our license requirements?)
Dev Platforms supported: Windows, MacOS, LInux
End-user platforms supported: Linux, macOS, Windows, FreeBSD[7], OpenBSD / DragonFly BSD,[8]
Android, iOS, BlackBerry 10 and HTML5.[9] There is also Windows Runtime (WinRT) and Universal
Windows Platform (UWP) support.[10]
Programming language: C, C++
Question: What Project Management Methodology are we going to use? Which supporting tools?
Hybrid
Agile
Scrum
Scrumban
Lean
eXtreme (XP)
10
Waterfall
PRINCE2
PMIs PMBOK
PERT (Program Evaluation and Review Technique)
Adaptive Project Framework
Kanban
Critical path Method (CPM)
Critical Chain (CCPM)
Integrated (IPM)
Rational Unified Process
PRiSM
Integrated Development Environments:
Eclipse
Netbeans
Visual Studio
11
Greenfoot: https://en.wikipedia.org/wiki/Greenfoot