Skip to content
thewanderer41 edited this page May 20, 2016 · 1 revision
  1. What do adventures consist of?
  2. Frontend frameworks and User Interfaces
  3. Backend Framework and Databases
  4. Entries and Moderation
  5. Design Process
  6. Bibliography

In order to catalogue adventures on the database, we need to determine what information is necessary to include in descriptions beyond titles, where to find and/or buy them, and what system or system edition they are made for.

#What do adventures consist of?

How many topics can they be split into, how many splits are necessary, and what adventure features are not necessary to list? What about encounters? Elaborate.

The 5th Edition Player’s Handbook [1] identifies three primary components to an adventure: Exploration, Social Interaction, and Combat. The 5th Dungeon Master’s Guide [2] enumerates various ways in which these components can be implemented (familiar Tropes, credible Threats, Surprises, appeal to various Player Types, useful Maps, Focus on the Present [Time period the game is set in and what is happening then]). While the execution of each of these components vary widely, adventures tend to follow a story-like plot arc with a beginning, middle, and end. Player Characters (PC) take the primary focus for this analysis as they are generally the driving force behind interactions within an adventure. Dungeon Masters (DM) may wish to search across components for criteria which will meet the needs of his or her adventurers.

PCs explore various Locations within an adventure, which can range from land to air to sea, but primarily transpires within Dungeons, Wilderness, and Settlements or other Urban Environments. The 5th Edition Dungeon Master’s Guide [2] has also outlined various extra-planar locales such as the Underdark or the layers of Celestia.

During Explorations, adventurers will often encounter hostile monsters resulting in Combat. Combat encounters will involve the PCs interacting with three broad categories of things. They will fight Creatures such as Elves, Orcs, or Dragons often using Objects or Items. Types of Items can include weapons, magical items, gold coins, or trinkets such as a rusty key. PCs may also encounter dangerous Situations which may take the form of an obstacle like a trap or a motivation like a missing princess.

A collection of Adventures may be combined to form a Storyline. For example, the Dungeons and Dragons 1st Edition Module - Queen of the Spiders (GDQ 1-7), was comprised of the modules Against the Giants (G1-3) [3], Descent into the Depths of the Earth (D1-2) [4], Vault of the Drow (D3) [5], and Queen of the Demonweb Pits (Q1) [6]. Likewise, the Tyranny of Dragons Storyline encompasses 5th edition Hoard of the Dragon Queen [7] and Rise of Tiamat [8] adventures.

The DMG [2] outlines two (but not limited to) broad Types of Adventures: Location based and Event based. These Types are given variety by changing style (such as Mysteries) or adding flavor with Twists, Intrigue, and Side Quests. The Conclusion of an Adventure may have multiple Outcomes, resulting from various Complications and Decisions.

If I was to breakdown an adventure using a Sly Flourish style approach, it consists of: Setting > Adventure Outline > Combat Encounters > NPCs > Flavor Text > Illustrated Player Aides > Maps > Calculated Loot > Calculated XP > Skill Challenges > Puzzles

Grant Ellis

It also becomes necessary to examine how the adventure components differ between editions of Dungeons and Dragons. While Wizards has provided a conversion guideline doc, we may very well need to identify the universal components as well as any edition specific variations.

#Frontend frameworks and User Interfaces

Elaborate on our options, describe them shortly. Follow up by logically discussing which options are best for us to use, but remember that we need to have people who can work with the things we end up choosing.

##User Stories into Use Cases

Design analysis for the Front-End begins with creating User Personas. User Personas will represent typical individuals we foresee possibly using the system, described broadly. Taking on the Persona, we then write up a story of how this individual would interact with the system, assuming only their knowledge of the system and their view. This will outline the imagined functionality of the system so that all Front-End developers have the same vision of how the system will interface with a user.

User Stories are a general description of how the developers and the client imagines a user will utilize the software. It is not specific enough to represent a step-wise implementation of the Front-End. This is where we use Use Cases. Use Cases are a step-wise breakdown of how individual features are turned into client implementation and actions. The Use Case breaks down actions more closely into the way a developer may describe a system’s action in common English.

##Too many Technologies

From the discussion in the Discord, it seems that there is no shortage of front-end technologies that we can leverage and the real question may be, what do we want it to do?

##HTML5 (Base Markup)

5th and Current version of the HTML Standard

##[Tentative]AngularJS (JavaScript Framework) Framework that extends basic HTML to interact with attributes and data [9]

##[Tentative]React (JavaScript Library - User Interfaces)

JavaScript Library used by Facebook and Instagram to create their user interfaces [10]

##InvisionApp (Design Collaboration)

https://www.invisionapp.com/

##Library OPACs (Online Public Access Catalogue)

to see the type of features that we would want to include. Sliders for publication years, check marks for editions, format published in (whether they are going to have to buy it off of Amazon, or is there the option to by a pdf?), clickable main entry points (oh, I like this Author, all I have to do is click on their name and everything linked to that name is now on one page!), that sort of thing.

(Discord chat, May 17th 2016)

#Backend Framework and Databases

Elaborate on our options, describe them shortly. Follow up by logically discussing which options are best for us to use, but remember that we need to have people who can work with the things we end up choosing.

##Python 3 (language)

Python is the most popular programming language among those who answered the poll created on the subreddit.[11] According to Wikipedia, a scientifically poor source but a source nonetheless, this language is more efficient (in terms of lines of code written) than C++ and Java.[12] Furthermore, we seem to have a lot of people who know it.

##Docker (Development Platform)

Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in.

[13]

This would be combined with the Python language, and seems to be the general consensus of the Backend discussion from the Discord chat as of May 18th, 2016. Further info about the Docker platform can be found in source 13.

##Django (Web Framework)

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Developed by a fast-moving online-news operation, Django was designed to handle two challenges: the intensive deadlines of a newsroom and the stringent requirements of the experienced Web developers who wrote it.

[14]

The Django framework is written in Python and has been chosen by general consensus to be used as the framework tool to manage the project on the Discord chat as of May 18th, 2016. Further information about the framework can be found in source 14.

#Entries and Moderation

How do we manage fleshing out the website? Maybe a bit of research is in order? Know any experts we can ask?

#Design Process

What way do we want to design this? Describe the dream, turn it into a feasible concept, then figure out necessary compromises to convert it to a website? Create a prototype and change it until it fits the dream? Other ideas?

##Repository

The GitHub Organization

##Documentation

This Wiki

##Work Tracking

Trello

#Bibliography [1] Wizards RPG Team. Player’s Handbook. 5th Edition ed. Wizards of the Coast, 2014. Print.

[2] Wizards RPG Team. Dungeon Master’s Guide. 5th Edition ed. Wizards of the Coast, 2014. Print.

[3] Gygax, Gary. Against the Giants. Advanced Dungeons & Dragons ed. TSR, 1981. Print.

[4] Gygax, Gary. Descent into the Depths of the Earth. Advanced Dungeons & Dragons ed. Wizards of the Coast, 1980. Print.

[5] Gygax, Gary. Vault of the Drow. 9021 ed. TSR, 1978. Print.

[6] Sutherland III, D., Gygax, G. Queen of the Demonweb Pits. Advanced Dungeons & Dragons ed. Wizards of the Coast, 1980. Print.

[7] Wizards RPG Team. Hoard of the Dragon Queen. 5th Edition ed. Wizards of the Coast, 2014. Print.

[8] Wizards RPG Team. Rise of Tiamat. 5th Edition ed. Wizards of the Coast, 2014. Print.

[9] “AngularJS Introduction”. W3Schools. http://www.w3schools.com/angular/angular_intro.asp retrieved May 20th, 2016.

[10] “Why React”. Facebook, Inc. https://facebook.github.io/react/docs/why-react.html retrieved May 20th, 2016.

[11] Programming language poll: https://www.reddit.com/r/AdventureLookup/comments/4joma9/poll_what_language_should_we_use_for_the_backend/ retrieved May 18th 2016.

[12] Python language, basic info: https://en.wikipedia.org/wiki/Python_(programming_language) retireved May 18th 2016.

[13] What is Docker: https://www.docker.com/what-docker retrieved May 18th, 2016.

[14] Meet Django: https://www.djangoproject.com/ retrieved May 20th, 2016.

Clone this wiki locally