View Single Post
  #25  
Unread 11-03-2017, 08:38 PM
Garan's Avatar
Garan Garan is offline
The Undying
Interface Author - Click to view interfaces
 
Join Date: Oct 2010
Posts: 340
Quote:
Originally Posted by Thurallor
What distribution model did you decide upon for the stories? I think it's important to make it as easy as possible. Preferably not requiring users to unzip an archive into a certain place and type in its path.

The easiest I can think of, as I mentioned above, would be to distribute each story as a separate plugin (called, for example, "StoryLine - <story name>") so that they all appear as separate items in Plugin Compendium, and installing a new story is trivial. As a benefit, each story includes all the Lua code necessary to "run" it, so the user doesn't have to worry about updating the "player" plugin separately from the stories.

Another alternative would be to include all the stories in a single plugin that you maintain, such that when a new story is published, you update that plugin and people can update it with Plugin Compendium to see the new stories. Then you would have to oversee everything, like lunarwtr does for Plugin Compendium.
I haven't decided yet. I agree that it should be as simple as possible since the idea is to get average people who may not be technically savvy to create stories. I don't care for packaging the player with the story, keeping the data and the player separate is beneficial for maintenance and updates plus the player is a fairly complex plugin in its own right. I do like the idea of distributing just a simple stub plugin, basically a wrapper around the data, just enough to allow importing it into the player - note, importing and saving the definition as a .plugindata file is helpful for things like tracking statuses and editing/copying but a stub would make it easy to import since available plugins can be searched programmatically so there'd be no need for the user to type in a path. Unfortunately, creating a plugin file as well as a .plugincompendium file may be beyond the capability of many. I've run into quite a few that don't know how to create a zip file

Initially, I am leaning toward something as simple as copy and paste. Allow the plugin to generate a text version of the definition that can be displayed for the user to copy and post anywhere. Other readers could then copy and paste it back into their client for import. Most users can handle copy and paste and parsing the text version could be fairly simple. One benefit of this mechanism is that it could be expanded to work with private chat channels so that the story definition could be sent via repetitive chat messages in-game - for a short enough story. One drawback is that it eliminates the ability to include images.

I'm definitely against the idea of a central repository that I would maintain - too many ways that can go wrong, for instance, I could get run over by a bus at which time everyone would be out of luck.

I'm not in favor of an external executable tool, but that would make packaging stories for publication much simpler.

Lots of pros and cons for all the methods so I'm still considering options.

FWIW, I've been wrestling with the issues of data Import/Export since ver 1.0 of IRV back in 2011. Due to limitations in the API I've never found a solution simpler than copy/paste

Last edited by Garan : 11-03-2017 at 09:45 PM.
Reply With Quote