From 34816ac0ec6a060112784419153720718ea85cf5 Mon Sep 17 00:00:00 2001 From: RPG Research <3338987+rpgresearch@users.noreply.github.com> Date: Thu, 7 Nov 2019 12:32:00 -0800 Subject: [PATCH] Created Technical Scope (markdown) --- Technical-Scope.md | 342 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 342 insertions(+) create mode 100644 Technical-Scope.md diff --git a/Technical-Scope.md b/Technical-Scope.md new file mode 100644 index 0000000..55cd2c7 --- /dev/null +++ b/Technical-Scope.md @@ -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 don’t 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 else’s 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, don’t worry about gradients of success and failure, just about whether or not it does work. +● Don’t 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 +PMI’s 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 \ No newline at end of file