Echo Hollow

Gender-Bending Interactive Stories! :D

User Tools

Site Tools



Howdy. Welcome to the SmutBook documentation.

SmutBook is a free and open-source library for Sugarcube 2 (a story format for Twine/Twee), intended to help prospective authors with the technical implementation of Transformation Games.

However, even if TF games aren't your thing, much of the library is also quite useful for any Twine/Twee game. The inventory and apparel system, and the low-level persistence system, etc.

Too often, we see potential authors having to reinvent the wheel time and time again (vis-a-vis inventory, apparel, and transformation mechanics). They end up burning out on these technical details before they can complete their story, resulting in many dead-end projects. It is my hope that this library can help alleviate that problem, so that we can all bring many more delicious TF-pr0n games into the world. :D

SmutBook is released under the 4-clause BSD license.

This library is intended to be used with the Tweego compiler, not with the Twine GUI application. The GUI Twine application's library inclusion mechanics are too primitive to be able to include all of the needed types of data that SmutBook requires to work properly. Don't let that get you down though! Tweego is very very easy to use once you get it set up, and far easier to use than the graphical Twine utilities once you get used to it. In the Tutorial, we'll guide you through setting up Tweego and a skeleton game project, so that you can get started easily.

The current implementation provides:

  • Some prototype methods added to some built-in JS types, to assist with prose-generation (capitalization, serial-comma listing, etc).
  • Various useful macros and widgets that extend the functionality of Sugarcube 2.
  • A defaults/delta persistence layer, running on top of Sugarcube's persistence/history system, to help economize that precious local storage space while keeping almost all object properties dynamic. The rest of the library is built on top of this persistence layer.
  • A general inventory system.
  • A clothing/apparel/jewelry system, built on top of the general inventory system.
  • A grammar library and macro collection that allows one piece of text to be written so that it can display the correct pronoun references and verb tenses regardless of the current viewpoint character or gender of the subject or other nouns. (“He has blond hair.”/“She has blonde hair.”/“You have blond hair.”)
  • A general implementation of “transformable body parts”, which can be linked to each other, intended to model the various physical and mental states of a character in a slow-TF story. (Currently incomplete and disabled.)
  • An extensible PC/NPC class, built on the above inventory, apparel, and transformation systems.

If you're just getting started, try out the Tutorial. Once you've gotten your legs, read the documentation for the Macro Library and the JavaScript API, and then you ought to be all set!

smutbook/start.txt · Last modified: 2024/06/20 10:35 by lee