Adventure v2.4.0
Adventure v2.4.0 introduces the much-anticipated Inventory System, adding considerable depth to the existing suite of tools available to creators. In addition, we've integrated a number of quality-of-life features, and upgraded the MWDK dependency to 3.X.
The Inventory System
The Adventure widget you know and love is already a potent decision tree engine that enables flexible, dynamic experiences based on making choices and exploring their consequences. What if those decisions could be augmented further? What if a user could be granted items based on the nodes they visit or as the result of certain interactions, and future choices gated or modified by those items? The inventory system facilitates all of this and more:
Define Items
Create any number of items that can be given and taken from users over the course of their journey. Items can represent physical goods or status effects, like emotional state, currency, reputation, and more. Items can also be marked silent to make them invisible to the user, but able to facilitate game state under the hood.
Give and Take
Any time a user visits a node, items can be given to them or removed from their inventory. Advanced conditional settings can be applied to control the quantity of items taken or received, or to only apply them on the first visit.
Choices and Conditions
Gate certain choices behind item requirements. Require none, any, or a certain range of items. Answers can additionally be hidden if item requirements are not met.
A Bird's Eye View
Enhancements to the decision tree visualization let you easily assess inventory system transactions and requirements.
An Entirely Optional Layer
The inventory system is entirely opt-in. Existing Adventure widgets will continue to function as they have all along. New features are only enabled when you create your first item.
Additional Enhancements
Improved Node Authoring UI
We've made changes to node authoring windows in several places to take better advantage of larger screen sizes.
Fuzzy String Detection for Short Answers
By default, short answer response matching is less strict, ignoring characters like white space and symbols, as well as capitalization. You can opt-in to strict matching if desired for individual answers.
Custom Labels for Nodes
Have a lot of nodes and lose track of things? You can apply custom labels to them to better navigate the tree at a glance. These labels are entirely for the creator's benefit and have no effect on the player experience.
More to Come
We'll be back in the new year with some additional updates, including contextual question content and a new score screen!
What's Changed
Full Changelog: v2.3.2...v2.4.0
Special Thanks
A special shout-out to @cayb0rg for their incredible work on this feature, going above and beyond the original requirements to deliver a massive update to a massively complicated codebase, and to @SimonRothUCF for his work creating the suite of icons for the inventory system.