Technical Scope - RPG-Research/bcirpg GitHub Wiki
Development Phases:
Phase 1
Developer training, prototype story development, and prototype story testing to train developers, using NWN Aurora Toolset.
Phase 2
Part 1: Create Project Ilmatar toolset, minimum viable product (MVP).
Part 2: Create text-only, multi-user, online, turn-based adventure using this Project Ilmatar Toolset MVP, based on the Phase 1 storyline and geography.
Part 3: Verify accessibility input controls working correctly, support screenreaders and other accessibility tools, especially with Brain-Computer Interface (BCI) controls.
Part 4: Iterate through extending the toolset to be more complete for 1.0 needs, then expand the adventure features with the toolset, and continue to verify I/O with BCI.
Phase 3:
Part 1: Add audio and graphics functions to the Project Ilmatar Toolset.
Part 2: Add audio and graphics to the existing prototype story (in the style of Dirk the Daring based on choices). Verify still works as online, multiplayer, turn-based.
Part 3: Verify still works with accessibility equipment, especially BCI.
Phase 4:
Add real-time GM function to the toolset, allowing the "GM", educator, or therapist, to intervene in the game real time within the game, with all the powers that a GM should have in a TRPG.
Phase 5:
Part 1: Add physical world capabilities to the toolset so that a GM/Educator/Facilitator/Therapist can use the real-time tools as an interface with robotic equipment to roll dice, move miniatures, etc.
Part 2: Enable these robotic controls to work over Brain-Computer Interfaces (BCI), so players can roll physical dice, move miniatures, update character sheet, etc. using BCI.
UPDATE 20200823
Stage 1: NWN Mod1 on NeverwinterNights Aurora Platform ESMA (electronic solo or multiplayer adventure) RPG
Stage 2: Ilmar text only branching ETSMA (electronic text-based solo / multiplayer adventure) RPG
Stage 3: Vaina (pronounced: Vah-een-ah) activated live action film or animation based on Stage 2βs result, interactive video plus (IV+)
Platform that allows solo and multiplayer adventures
Built AGPL License that mandates attribution and does allow commercial use with permission.
Development tools must allow this kind of opensource use and attribution.
Tools we're using for development (this will be updated as we research and experiment):
- Github
- Godot
- Aurora Toolset
- Visual Studio Code
- Twinery 2
- Use some kind of version control (GitHub)
- Public download use
- Run on as many platforms as possible (starting with PC)
- Explicitly support Brain Computer Interface Devices
Purpose is to make accessible from the beginning, toolset that is easy to create adventures for specific targeted goals in recreation, entertainment, education, and therapy, Internal staff training and use by general public for other providers wanting to build on our work.
Phase 1
A completely working interactive NWN server-hosted multiplayer module that meets a specific checklist of goals as detailed in the technical scope
Phase 2
- Create a GUI toolset from scratch for creating these adventures. We use the Aurora Toolset for ideas, but we want this to be our own original toolset. This toolset has built-in design consideration to be compatible with BCI.
- Support multiple genres (mad-libs variable approach).
- Everything turn based.
- A complete adventure with a beginning, middle, and end.
- A text-based ERPG.
- Text-based combat system.
- Text-based action resolution system.
- We will create at least one NPC interactive solo adventure module.
- We will create at least one multiplayer interactive group adventure module.
- No PVP
- Runs cross-platform and online.
- Works for both solo and multiplayer.
- Can be hosted on a server by the player without any dependency on us to host it.
- Chat between own group, not a large public chat.
- Accessibility goals:
- BCI Support.
- Text to speech (including screen reader support).
- Color Blindness friendly mode/high contrast.
- Large font mode for Visually Impaired.
- Dyslexic friendly font (only use sans fonts). Wider kerning and font with low confusion level for dyslexia.
- Audio cues for the blind.
Toolset goals:
- Designing to be extensible and modular knowing that we will be adding features with each iteration.
- Has a reasonably intuitive graphical user interface. Doesnβt have to be pretty at this stage but needs to be effective.
- Creates text based menu options, handles branching logic
- Supports multiple genres.
- Will not develop:
- Our own chat server.
- Audio or video chat (we can recommend they use Jitsi or another third party).
Phase 3
- Easy drag and drop GUI to import media and attach media to events.
- As per Phase 2 but with either activated live action video (perhaps with help from ZOE) or animations bringing Phase 2 to visual life.
- Add enhancements to toolset to add audio / video components.
- Dynamic action options created by the players.
- Accessibility goals:
- Large amounts of visual feedback for the Deaf and Hard of Hearing.
OLDER DRAFT 20190930: 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