Skip to content

Releases: FrobozzWaxwing/Sweep_Weave

Version 0.1.5

07 Mar 02:53
Compare
Choose a tag to compare

Here be dragons...

I have added a new tab for the automated rehearsal system. This feature sits snugly in the "experimental" category; I have much work left to do before I will be satisfied with it, but I fear that much of that work will take a great deal of time. I wanted to share what I have put together so far. Hopefully authors will find it useful.

Since I have not updated the documentation to explain how to use the feature, here are some tips:

The automated rehearsal will run until you pause it or until it tries every possible path through your storyworld. If your storyworld contains loops such that the number of paths is indefinite, then it will presumably run for as long as you care to leave it running, though I have not actually tried running it on such a storyworld myself. Navigating to the rehearsal tab and pressing "play" will set it running; pressing "pause" will pause the rehearsal.

If you edit your storyworld after you have started a rehearsal, but before the rehearsal has finished, and if you want to have SweepWeave run through your edited storyworld, you will need to press "reset," and then "play." "Reset" causes the engine to copy the current version of your storyworld into the automated rehearsal system. Setting the system up this way lets you make changes to your storyworld while leaving a rehearsal running, which can be beneficial given that rehearsals can take a long time to run once your storyworld reaches a large enough size.

"Refresh" simply refreshes the Event Index and Cast Properties Index, showing the results of the rehearsal so far. The rehearsal screen will automatically be refreshed every 5 minutes.

The Event Index lists every encounter, option, and reaction in your storyworld, along with whether or not the event can be reached via any single path through your storyworld, and the number of paths yielding the event.

The Cast Properties Index shows the minimum and maximum values of every character trait and relationship that your storyworld actually uses. Variables that are part of your character model, but that your storyworld never makes use of, are ignored, here.

You can set the "speed" of your rehearsal to be any value from 1 to 1000. I recommend setting it to at least 250, but feel free to experiment with different values to see what leads the system to work the best on your computer. The number represents the number of "steps" that the engine takes per frame; once you pass a certain threshold, setting the speed any higher merely drops the frame rate, such that the rehearsal will not actually finish any faster, but where this threshold lies will depend on the computer that you are running SweepWeave on, along with, (I suspect,) what other programs you have running.

You can save a rehearsal report to a text file, as well. (Use the "save report" button, of course.) This will include some of the information that I think may be most useful, including the number of paths yielding each of the possible end points of your storyworld, the maximum and minimum possible values of the various character traits and relationships, and some helpful data regarding how fast the automated rehearsal system actually ended up running.

I encourage storyworld authors to experiment with this system as it currently exists, and to send me statistics so that I can learn more about how well the system is currently working. I have a number of notions about how to improve it, but will need time to do the work required.

Thank you all for your patience, your support, and your encouragement! Best of luck with your storyworld writing endeavors.

Adventure awaits!

Version 0.1.4

29 Dec 21:21
Compare
Choose a tag to compare

Version 0.1.3 ended up having a number of significant bugs. I wanted to fix them before the start of 2024, and I believe I have succeeded. I was fortunately able to add some minor feature improvements as well.

Thank you again to everyone for your ongoing support.

Bugfixes:

  • Loading an encounter from a tab other than the Encounters tab should now select the loaded encounter in the Encounters list on the Encounters tab.
  • The Graph View should now use the correct edit icon for the clarity theme when first opening SweepWeave.
  • The switch to exclude self-perceptions from character relationships, which was included in version 0.1.3, introduced a number of errors that showed up when deleting characters or properties. These errors appear to have been fixed successfully in the present version. Relatedly, the process of deleting bnumber pointers from scripts has been simplified so that the removed pointers are replaced with constants rather than different pointers. The script editor has also been changed to hide the bnumber pointer option when no bounded number properties are available to point to.

Optimizations:

  • The arguments of some function definitions have been edited to include variable types, when possible.

New or Changed Features:

  • The view menu now includes a toggle to show or hide encounter main text excerpts on the Graph View tab. Encounters have a new function for generating excerpts that stop at the end of a word instead of, potentially, in the middle.
  • The Graph View has also been updated so that all scripts associated with an encounter will be checked for references to other encounters, where before only boolean outputting scripts were being checked. The graphview should, therefore, now show all script links between encounters. Graph View nodes have also been changed to use the labels "Script Links" and "Next-Page Links" instead of "Prerequisites" and "Consequences."
  • A number of changes have been made to the spool editing screen. One can now add or remove multiple encounters to or from a spool at once. The addable encounters list will only display encounters that are not already on the current spool. Double-clicking an encounter from the list of encounters on the current spool will switch to the Encounters tab and load that encounter for editing. Finally, the encounters on the current spool will now be sorted by highest to lowest desirability at start of play, and their order can no longer be changed by the author via drag and drop.

Version 0.1.3.

15 Dec 23:06
Compare
Choose a tag to compare

I believe this update greatly improves the look and feel of compiled storyworlds, changing the interface to make it more readable. A darkmode option has been added, as has a font size setting, both of which players can change from the menu of a storyworld.

Four new pieces of metadata have been added which authors can change via the Settings tab of the editor: about text, meta description, language, and rating. Players can access the about text of a compiled storyworld from its menu. For those storyworld authors who have their own websites or Patreon pages, a storyworld's about text may be a good place to include links to them. The other three additions can help authors give search engines more information about a game.

An option in the file menu of the editor has been added to allow one to export the text of a storyworld's encounters to a txt file. I added this to try to make it easier for authors to check the spelling and grammar of all of the text in a storyworld. Ideally the SweepWeave editor itself would include a spell checker, but that will take more time to figure out how to implement.

New storyworlds will no longer include self-perceptions in character relationships. Hopefully this simplifies the character model a little bit and helps to make development a little easier.

A bug in spool deletion was fixed so that spool references are deleted from scripts, and effects that affect a deleted spool are themselves deleted.

The changes in this release are relatively straightforward ones, I think, compared to many of the past versions, but I am still glad that the improvements have been made and that I have reached a point where I can share them.

Happy holidays, everyone.

Version 0.1.2.

15 Jul 03:25
Compare
Choose a tag to compare

I've had quite a lot of work that I've wanted to get done on this project since returning from NarraScope, and I'm happy to finally be able to share a new version of the software. I've fixed a couple of bugs and incorporated a lot of the feedback that I've received over the past several months. (Thank you to everyone who has shared ideas and feature requests!)

Looking through my changelog, I have actually accomplished more than it felt like while still in the midst of work. Storyworlds are still structured as they were in the previous two releases, but I think that I have succeeded in improving the interface for the storyworld editor, and I've attempted to optimize the code and improve storyworld performance a little bit as well.

Here's a summary of the changes made:

  • Version number updated to 0.1.2 in GUI.gd and export settings.

Optimizations:

  • Reworked encounter selection functions in encounter_engine.html and in rehearsal class within editor in order to speed up performance.

  • Changed new_storyworld function in GUI.gd so that the encounter tab's _on_AddButton_pressed() function is no longer called and the encounter tab can now be refreshed once, rather than twice, when creating a new storyworld.

Feature changes:

  • Edited clarity theme to remove some black outlines from various interface elements, and made other minor theme changes to both themes.

  • Removed circles from add, delete, up arrow, and down arrow icons. Added check mark, bullseye, eye, hand, and sort icons. Edited clarity and lapis lazuli themes and various scripts to implement icon changes. Reorganized files a bit, creating a new, dedicated folder for icons.

  • Changed encounter sorting system and interface. A toggle button has been added to replace the menu options for sorting in reverse order, and the button switches between alphabetical and numerical symbols based on which sorting algorithm is selected. Algorithms have also been added to allow sorting by spools or characters connected to an encounter. One can now click on the column titles on the storyworld overview screen to sort encounters.

  • Edited documentation to credit Bootstrap Icons and Skoll at game-icons.net for various images used with SweepWeave.

  • Edited scripting interface to place script title in window title instead of in a label right below the window title. This saves a small amount of screen space.

  • Changed data_to_string function in BNumberPointer to no longer display the initial value of the variable.

  • Added a new scene for a simplified scripting interface to replace the version that was built into the encounter tab. Relatedly, the encounter tab now features quick scripting interfaces for both encounter and reaction desirability scripts. Both can be shown or hidden via the view menu; the interface for encounter desirability is hidden by default.

  • Added script edit options to the context menus of option, reaction, and effect lists on the encounter editing screen.

Bugfixes:

  • Saving a project under a new filename will now change the current save path on the Settings tab.

  • Fixed bug on script edit screen wherein typing a new value into a spinbox, then selecting a different script element, could change the newly selected element rather than the element that was being edited.

Thank you all, again, for your ongoing support.

~ Sasha Fenn

Version 0.1.1.

08 Jun 07:12
Compare
Choose a tag to compare

Greetings, storyworld authors.

In this release, I wanted to fix all of the bugs that I knew about and make some minor changes to SweepWeave's interface to get ready for NarraScope. For those interested, I'll be giving a presentation at NarraScope this year, discussing SweepWeave and storyworld design. The talk should be available to watch for free on YouTube some time after the conference.

Changelog:

  • Updated version number to 0.1.1.
  • Fixed a bug in the load functions for storyworlds made in versions 0.0.07 through 0.0.15. Personality model now loads correctly.
  • Fixed a bug on the encounter editing screen. Sorting encounters elsewhere in the editor will no longer break the encounter selection menu on the encounters tab. Selecting an encounter should now load the correct encounter.
  • Fixed bugs with encounter duplicate and delete buttons on Encounters tab.
  • Added .x86_64 files, (Linux executable files,) to .gitignore.
  • Changed Clarity theme to make it easier to tell the difference between active and inactive tabs.
  • Set encounter list on Encounters tab to be visible by default.
  • Changed drag and drop lists to display more text.

Version 0.1.0. Launch of public betatest.

08 Apr 07:20
Compare
Choose a tag to compare

Welcome to the public betatest of SweepWeave, an open source tool for writing interactive fiction.

SweepWeave is based on design work by Chris Crawford and Sasha Fenn, and has been coded and implemented by Sasha Fenn. The storyworld editor was written in the Godot game engine. Storyworlds can be exported as standalone html pages, which can be played in a web browser.

Both Windows and Linux versions are available, at this time. To run SweepWeave on Linux, you will need to manually change the permissions of the executable file, (the .x86_64 file,) after downloading it so that you can run the program.

A version for Mac is not currently available. However, if you download Godot for Mac, and then download the sourcecode for SweepWeave, you may be able to open said sourcecode within the Godot editor and run SweepWeave that way.

Thank you for giving SweepWeave a try, and for all of your support!

Thanks also to Sasha Fenn's patrons over on Patreon, whose aid and encouragement has been invaluable. Thanks especially to:

Chris Conley
Jóhannes Ævarsson
Felipe Vega
Pixel Brownie Software
Craig Maloney

Changelog:

  • Fixed a display bug when refreshing the list of properties associated with a character on the character editing screen.
  • Selecting a property on the property creation screen will now load the property for editing; double-clicking is no longer needed. However, only one property can be selected at a time, now.
  • Fixed a bug involving authored properties that applied to specific characters rather than the entire cast.
  • Changed lapis lazuli theme to use custom close icons for popup windows.
  • Changed titles of Personality Model and Graph View tabs to have spaces between the words.
  • Updated README.txt file.
  • Changed patron lists in editor.
  • Added tooltips to add, delete, move, and edit buttons on various screens in editor.
  • Made minor changes to how property creation screen looks, to bring it more in line with how other screens look.
  • Fixed a bug on the settings screen so that it will now correctly display the save path.
  • Updated download link on updates screen.
  • Updated project load functions and incremented version number from 0.0.38 to 0.1.0.

v0.0.38

27 Mar 23:37
Compare
Choose a tag to compare

Version 0.0.38 of SweepWeave is now available.

I plan to release a public beta version of SweepWeave within the next two weeks. This latest version is a release candidate.

Here's a change log:

  • Changed interpreter to use customized popup dialog in place of window confirm calls.
  • Fixed a bug wherein characters were not being saved and reloaded properly when saving a game.
  • Fixed a bug wherein saving a game when "the end" screen had been reached, then reloading, was loading the most recent encounter instead of the end. Both issues should now be solved.
  • Implemented greatly improved interface for drag-and-drop lists that have built in context menus. The lists for options, reactions, and effects now all use this interface. Different context menus are shown depending on whether the author right-clicked on an item or in the empty space of the list.
  • Added edit button to playscreen so that an encounter reached during playtesting can be loaded more quickly and easily.
  • Set compiler to remove console.log calls from interpreter when exporting storyworld in release mode. Exporting in debug mode will leave them in.
  • Added new option to help menu to let authors check for updates to SweepWeave.
  • Changed default relationship model to use depth 1 properties for pTraits.
  • Disabled IFID reset option. (I had intended to disable this before the previous version, but forgot.)
  • Changed how spool list is saved, such that order of spools is saved while maintaining ability to merge json files together.
  • Changed overview table to alternate between two different colors each row.
  • Removed saved game journal entry feature in interpreter.
  • Removed some unused code from interpreter and editor.
  • Updated gui theming for popup windows.
  • Popup windows in editor will now be centered upon popup.