tweecode / twine

UI for creating hypertext stories
http://twinery.org
655 stars 97 forks source link

Philip Sutton's tentative, very big picture architectural ideas for Twine (and Twee) #15

Open Philip-Sutton opened 12 years ago

Philip-Sutton commented 12 years ago

Here are my current (18 March 2012), very tentative thoughts re Twine / Twee development:

  1. There's quite a bit of work in maintaining two programs (Twine and Twee). Maybe the programs could be merged and the merged program (maybe a Twine 2) could offer both sets of functionality by running the uncompiled version in a programming development environment (in the same way that currently the uncompiled Twee run on Python) to give access to the full Twee potential, and by having a compiled version of the program to provide the Twine functions?
  2. To take advantage of the trend to blend the roles of author and reader/player (being developed for example by Inkle), maybe the reading/playing and authoring interfaces could be integrated - with the whole system running on a person's browser of choice and much/most of the programming being run via JavaScript/Java applets.
  3. The current Twine and then the Twine 2 could be modified/designed to allow Twine stories to interact (regardless of their location) and to encourage collaboration between authors and users (readers/gamers). We could think of Twine2 as being designed on a peer-to-peer model augmented by connections to web hosting/the cloud - rather than assuming the Twine will fully migrate off the users computer.
  4. Incremental development and multidirectional enhancement of Twine2 could be encouraged by the development of an active plug-in development program and through the assemply of user developed templates for story layout or for scripting solutions.

There would need to be a lot of discussion in the Twine/Twee community before there was any move in any of these directions. After discussion it might turn out that other directions are more productive.

Stormrose commented 12 years ago

PROPOSAL 1a: Merge the official repositories PROPOSAL 1b: Investigate platforms (ANT, makefile etc.) for use as a build/test system. PROPOSAL 2: Watch for technology availability that support make read/write collaborative story writing. PROPOSAL 3: Deep-Interlinking stories is delayed until Twine3 PROPOSAL 4: First Twine plugin driven by developer interest. That appears to be Undum format exporter.

DISCUSSION

  1. If done smartly, the extra overhead for the cmdline Twee program is not much. It basically just reuses class .py files that Twine needs with a fairly simple wrapper. It just appears to be a lot of extra work because the files are duplicated. Perhaps unnecessarily. Having a look at these repositories Tweecode/* I think they could be merged into a single one. A decent build system can then output the Twine / Twee executables and incorporate the "Templates" (aka targets). Thoughts? PROPOSAL 1a: Merge the official repositories PROPOSAL 1b: Investigate platforms (ANT, makefile etc.) for use as a build/test system.
  2. Read/Write storybooks is an interesting concept. Without a server hosted solution or a special reader app this becomes a problem until wide-spread support of the HTML5 File-Writer API. I suggest we improve what we have now and keep an eye as technology develops. PROPOSAL 2: Watch for technology availability that support make read/write collaborative story writing.
  3. I like this idea - definitely a think-big Interactive Fiction idea. I'm not sure the world is ready for it just yet! What we need is: 1) simple deeplinking into story passages 2) the ability to transfer variables and state from one story to another linked story 3) a method to play variables from the start of a story towards the linked destination passage. This is exciting thinking right here. PROPOSE 3: Deep-Interlinking stories is delayed until Twine3
  4. I would support a plugin system for not just Twine, but Twee and stories. Twine/Twee does have rudimentary plugin support and the "Targets" (AKA Templates) system does support (it appears you can just copy in a new target to the right directory and go). A good candidate for plugins might be the export system: there appears to be some interest in outputting to Undum format so that could be a good start. PROPOSE 4: First Twine plugin driven by developer interest. That appears to be Undum format exporter.
HarmlessTrouble commented 10 years ago

Bump for updates on proposals?