Author Topic: Hypothetical : New gamebook platform requirements  (Read 17908 times)

Villain Mastermind

  • Newbie
  • *
  • Posts: 34
    • View Profile
    • The Lair
Hypothetical : New gamebook platform requirements
« on: September 14, 2013, 11:49:37 AM »
A gamebook is a work of fiction that allows the reader to participate in the story by making effective choices. The narrative branches along various paths through the use of numbered paragraphs or pages. (From Wikipedia)

Please excuse any typos... This post was written in a bit of a rush...

Hypothetically... If someone was to make an alternative to Twee/Twine, what would the minimum requirements be for a working alpha?

My idea is to expand upon the precedent set by Twee/Twine and start sketching out a design. I have a couple of models kicking around in my head and I've been leisurely playing with them for months, but I want to get some suggestions from the community.

At this stage, I am merely looking for requirements at the "application-level"... specifically, what the end-user should be able to do and/or experience with the program. And just to clarify, the "end-user" (we can use the acronym, EU) in this case is the reader/player.

To keep this from devolving into a list of "it would be cool if x did y", I have a simple form I suggest for responses:
  • Feature/requirement
  • Description/clarification
  • Percieved priority (Chrome, Very Low, Low, Medium, High, Very High, Critical)
As an example, here is the first two requirements that cover the basic definition of a "Gamebook" -
  • Requirement: EU should be able to view text and/or images that convey a narrative
  • Description: The text and/or images would by default be displayed in a format remenicent to a page in a book
  • Priority: Critical
And the next one -
  • Requirement:  EU should be able to make choices and/or interact with the narrative
  • Descripion: The EU should be able to effect the narrative through various means, thus determining the path of the narrative to an extent determined by the author
  • Priority: Critical
That is about as "high-level" as it gets...

"Wish list" items are fine, but keep in mind that the requirements are for the creation of the desired experience in the reader/player.
« Last Edit: September 14, 2013, 03:43:02 PM by Vhillain Mastermind »
Good minions do not participate in douche-baggery.

All Hail, Villain Mastermind!

Chris

  • Administrator
  • Full Member
  • *****
  • Posts: 201
  • The Admin
    • View Profile
    • Adventure Cow
Re: Hypothetical : New gamebook platform requirements
« Reply #1 on: September 20, 2013, 12:51:47 AM »
My instinctive response is 1) Choices, 2) Inventory, 3) Logic

We should pass this on to more people - perhaps I'll send out an email!

HarmlessTrouble

  • Newbie
  • *
  • Posts: 1
    • View Profile
Re: Hypothetical : New gamebook platform requirements
« Reply #2 on: September 22, 2013, 08:14:48 PM »
Lightweight core.  But robust API for more specific requirements.

Requirement: Extensible through API.
Description:
API for both the authoring tools and story engine.
Want to make a dungeon crawler? grab the quest tools.
Find the verb?  grab the parser module.
Old media / CYOA?  Pick a format generator.
Feature doesn't exist? Write it!
Priority: High

Which language should the Api use? meh... What's trending right now?  Python?

Villain Mastermind

  • Newbie
  • *
  • Posts: 34
    • View Profile
    • The Lair
Re: Hypothetical : New gamebook platform requirements
« Reply #3 on: September 28, 2013, 09:10:34 AM »
Off to a good start... A little confusion as to which set of project stakeholders I wanted to gather requirements from, but I was going to ask for Dev-centric requirements next anyway.

No matter... Maybe I should have just asked for requirements for the Devs in the first place. Alls well that ends well...

Currently, I am researching software/API's similar to what I have in mind to take a survey of how they tackled various problems.
Good minions do not participate in douche-baggery.

All Hail, Villain Mastermind!

Chris

  • Administrator
  • Full Member
  • *****
  • Posts: 201
  • The Admin
    • View Profile
    • Adventure Cow
Re: Hypothetical : New gamebook platform requirements
« Reply #4 on: September 30, 2013, 03:04:12 PM »
Well it's a good idea to define some stakeholders here:

  • Writers (probably want something easy to write with, with easy ways to manage standard gamebook logic/inventory/choices, as well as publishing options)
  • Programmers (probably want something extensible and easy to modify)
  • Readers (probably want something that looks good)

Are you building something?

Villain Mastermind

  • Newbie
  • *
  • Posts: 34
    • View Profile
    • The Lair
Re: Hypothetical : New gamebook platform requirements
« Reply #5 on: October 12, 2013, 07:57:26 AM »
I'm in the initial design stages, more or less.
My dayjob being a corporate slave and minor related life-events have been delaying progress, not to mention time spent researching and throwing out overly-complicated designs. The simpler the system, the easier it will be to learn, use, mantain, and modify to the user's needs.
Gonna use the "Chaos Model" for this particular project... I found it in one of my research missions and instantly fell in love with the idea.
I'll post more as my life permits.
Good minions do not participate in douche-baggery.

All Hail, Villain Mastermind!

Villain Mastermind

  • Newbie
  • *
  • Posts: 34
    • View Profile
    • The Lair
Re: Hypothetical : New gamebook platform requirements
« Reply #6 on: October 21, 2013, 09:15:37 PM »
After dreaming up several dozen different ideas and plans, I've settled on one that does exactly what I want in a way that isn't a tangled mess. Actually, it is so simple that I'm almost ashamed and humbled that it didn't occur to me sooner.

Web components! The only way to achieve what I want without a horrendous mess of divs and javascript hacks.

But there is a catch...

The technology is quite literally experimental, which makes prototyping a giant pain in the ass. The latest versions of Chrome Canary have the needed features after tweaking the application flags, but it still acts a bit oddly. There are polyfills and shims, but they are ugly as hell, but I may have to suck it up and use them even to get a proof-of-concept prototype up and running.

Oh, well... *sigh*

I originally started coding it in TypeScript, but the web component angle was such a delicious alternative that I dropped it on the spot.
Good minions do not participate in douche-baggery.

All Hail, Villain Mastermind!

Villain Mastermind

  • Newbie
  • *
  • Posts: 34
    • View Profile
    • The Lair
Re: Hypothetical : New gamebook platform requirements
« Reply #7 on: October 22, 2013, 03:39:56 PM »
Here is an extremely brief overview of my favorite permutation of the web-components idea:

PixelBook - The root element of the application
  • Displays the designated "Page" element
  • Acts as the primary controller, handling the specifics of basic functions like "Page Turning" and most other logic
  • Stores various elements invisibly in storage-divs walled off from the user by hiding them in element's "Shadow DOM" (e.g. Page, ?VarData?, Pix, and Passage/Snippet elements not residing in a Page element)
  • Contains and manages a "Log" component that can be displayed for debugging purposes
Log - A normally hidden element that is activated when the application is running in debug-mode so it can store various "LogEntry" elements

LogEntry - Text messages that record debuging data like events, state changes, and error messages

Page - Primary display container for templated application content

Passage - A semantic extension of the "p" element (?additional funtionality?)... Can either exist directly in a Page element or be stored invisibly in the root element for dynamic insertion
 
Snippet - Serves a function analogous to the Passage element, but extends the "span" method instead for containing short chunks of inline text... Can also exist directly in a Page or be stored for dynamic insertion
I have about a dozen different ideas about how to implement variables... Still batting around the best way to do it. Suggestions and brainstorming is appreciated

Pix - An extension of the "img" element with addional functionality?
 
Tbox - A special extension to the "div" element for additional layout options along with extra functionality like a type-writer effect... Would be useful for "Visual Novel" applications or ones that need that old-school feel.  (Might make that also available on passages)
I dunno... Still playing around with different schemes.
 
Suggestions and/or Ideas, anyone?

* A Note on the state of the available polyfills *
X-Tags appears to be a partial implementation at best
Polymer requires a web-server, so a purely client-side web-app (which is exactly what I want at this stage) is impossible to build with it
« Last Edit: October 23, 2013, 09:18:40 AM by Vhillain Mastermind »
Good minions do not participate in douche-baggery.

All Hail, Villain Mastermind!

Chris

  • Administrator
  • Full Member
  • *****
  • Posts: 201
  • The Admin
    • View Profile
    • Adventure Cow
Re: Hypothetical : New gamebook platform requirements
« Reply #8 on: October 23, 2013, 12:21:26 PM »
Speaking from experience, the best way to come up with an architecture for a gamebook platform is to use that architecture to build a gamebook.  ;)

Villain Mastermind

  • Newbie
  • *
  • Posts: 34
    • View Profile
    • The Lair
Re: Hypothetical : New gamebook platform requirements
« Reply #9 on: October 24, 2013, 08:56:50 AM »
That is essentially the plan...  :P

Build the final product (Digital Gamebook) first and then basic tools (an IDE) to produce said product. While I'm going to build the game-book components first, the planning is being done with the IDE and the development-process in mind.

There was some things I wanted to do that couldn't be easily accomplished in Twine/Twee without extensive modifications, so I started thinking about what would be needed to get what I needed done for these projects with the minimum amount of fuss. There are hundred different ways to go about it and many excellent sources of inspiration which I've been drawing from, but the challenge is making the structure as simple as possible without being "dumbed down". A clean interface, easy to understand code/markup, and an intuitive application structure is the goal.

Twine/Twee shows that a simple tool can inspire people to express themselves creatively that otherwise would be too intimidated to even try... Even if I fail horribly, maybe another brave soul will build upon the spiritual foundation of Twine and my ideas to create something even better.

What I am trying to glean from the community is their requirements for an MVP (Minimum Viable Product). That being said, I have no problem with wish-list features. Getting them sooner rather later is a boon because you can add design/api hooks for their inclusion at earlier stages in the process.
« Last Edit: October 24, 2013, 12:36:51 PM by Vhillain Mastermind »
Good minions do not participate in douche-baggery.

All Hail, Villain Mastermind!

Chris

  • Administrator
  • Full Member
  • *****
  • Posts: 201
  • The Admin
    • View Profile
    • Adventure Cow
Re: Hypothetical : New gamebook platform requirements
« Reply #10 on: October 25, 2013, 04:36:26 PM »
I should mention that we've had to do this to build DestinyQuest using some Twine components. I'm not sure I've mentioned that in this forum though!

Villain Mastermind

  • Newbie
  • *
  • Posts: 34
    • View Profile
    • The Lair
Re: Hypothetical : New gamebook platform requirements
« Reply #11 on: June 29, 2014, 02:11:23 PM »
To try and drag myself out of my rut and finally get something done, I've started a video series dedicated to the "PixelBook Project": http://www.youtube.com/watch?v=l5XHAi7iEAg

Any feedback, support, etc would be appreciated.
Good minions do not participate in douche-baggery.

All Hail, Villain Mastermind!

Villain Mastermind

  • Newbie
  • *
  • Posts: 34
    • View Profile
    • The Lair
Re: Hypothetical : New gamebook platform requirements
« Reply #12 on: September 04, 2014, 09:25:14 AM »
Was unpleasantly and suddenly surprised to find out that "PixelBook" is already trademarked and had to proactively take my video down to avoid any IP craziness. Kinda sad about it... I really liked that name.

Oh, well... It happens...

Can't get past the prototype stage, keep hitting walls and starting over. But that is just the learning/design process: Create, review, scrap and start again. Sounds boring, but it is actually pretty fun. I learn something new every cycle.

I'm in awe of people that can just pump out software over a weekend. Don't know how they do it. I maybe have a few hours a month of solitude at most a week to work in peace. Still, just gotta keep going.

To all of you that feel that you never have enough time to code/write/draw/etc, don't let it drag you down. Keep chugging along, brothers and sisters! There are plenty of other people that know how you feel.
Good minions do not participate in douche-baggery.

All Hail, Villain Mastermind!

Chris

  • Administrator
  • Full Member
  • *****
  • Posts: 201
  • The Admin
    • View Profile
    • Adventure Cow
Re: Hypothetical : New gamebook platform requirements
« Reply #13 on: October 09, 2014, 11:35:36 AM »
Coding is hard work! A weekend project gets you a weekend's worth of work. Grass, the core engine for DestinyQuest Infinite, took years, so don't let it get you down that it takes a while.

How's your coding? Would you be interested in helping us take the project open source?