With Version 11 comfortably being maintained in the Stable release channel, we have begun our prioritization and planning for Version 12 of Foundry Virtual Tabletop. We're very excited to share our plans for our next round of software improvements with the community! With a program containing as many features as we have, choosing priorities is always a difficult task as there are so many good ideas in our roadmap, and V12 is no exception.
Version 12 of Foundry VTT will prioritize a variety of exciting features including the Patreon-voted Event Triggers system, a host of architectural improvements to the underlying software, the experimental stage of the UI overhaul for our Game interface, and a number of improvements to our Game Canvas related to elevation, lighting, detection modes, and much more! Community developers or those more advanced users wishing to follow along as we plan out and roadmap our intended changes can check out our GitHub Project for V12.
These changes only represent provisional plans and final implementation may change significantly during the coming months.
Patreon Vote Winner
This Patreon poll was inarguably the closest vote we've ever seen! Event Triggers pulled ahead in the end, winning out over the Terrain and Cover feature by a single vote. We want to thank you all for your patronage and for helping to prioritize the software and we hope you'll look forward to the next poll in Version 13.
We know some of you may be disappointed about Terrain and Cover not winning, so we hope that we can offer you some small consolation: Event Triggers will be designed in a way that lays the groundwork to support for Terrain and Cover in the future, allowing community developers to begin implementing support for it now.
Scene Regions and Event Triggers
Related Github Issues: 151, 9722,
Event Triggers will allow users to define scripted events that occur dynamically when Tokens interact with a certain area of a Scene. Have a pressure-plate trap trigger a boulder showing up at the end of the hallway, provide functional teleporters for your bridge crew, or have all the lights go out when your party wakes that terrifying eldritch abomination.
- Scene Regions - Before we can design Event Triggers, we must first create an underlying framework for defining specific regions of a Scene. Scene regions will allow an API for defining of specific subsets of a Scene that developers can build on to provide Event Triggers, environmental special effects, changes to support Terrain and Cover, and much more.
- Event Triggers - Building on the underlying Scene Region framework, Event Triggers will allow users to define a specific area of the scene which will have its own triggering logic and scripted functionality when activated. This feature will include some out-of-the-box presets, but also support for macros and other scripted events to allow a maximum degree of customization.
- Trigger Interaction Controls - Optional Controls for Event Triggers will allow players to move up or down stairs, trigger specific scene changes such as toggling tile visibility, or otherwise cause events to occur when the players click a button rather than automatically when entering a Scene Region.
Canvas Objects and Vision Improvements
Related Github Issues: 9683, 9779, 9783 9787
The Game Canvas is one of the most significant portions of Foundry VTT, given that most users spend the majority of their time interacting with it in some way or another. Secretfire and dev7355608 have some fantastic plans that should benefit our Community Developers
- Global Illumination Redesign - A revisit to the way our scenes use Global Illumination, this will allow a richer configuration to finetune the appearance of Global Illumination, extending controls similar to other light sources.
- Standardized Elevation and Sorting - Extending some of the work we did in V10 and V11, this feature will provide API-level standards for the elevation and sort fields of all Canvas Documents. Additionally, it will feature UX improvements to how the canvas handles shuffling objects that occupy the same space, making it easier to get at that dead goblin all your players are standing on top of, or to be sure your drawings and tiles are in the correct order.
- Improved Detection Modes - A wide variety of changes and improvements building on our existing Detection Mode system to add support for additional types of detection and senses, including impercise senses, conditional detection based on certain Conditions, prioritization of detection modes, and more!
- Token Animations - A scalable, shader-based application of special effect animations to tokens. While API-only at this stage this will be the first steps in providing dynamic animations for cases where a token grows in size, teleports, or has its texture changed.
UI Redesign Phase 2
Related Github Issues: 5441, 9778
We began our UI overhaul with the changes to the setup screen in V11, but undertaking a revitalization of the UX and UI inside an active Game World is a monumental task! V12 is expected to deliver the first stage of a UX and UI redesign of the game view of our interface.
- Application V2 - A revisit to our HTML rendering, proving a more modern and flexible approach to rendered Applications. This will not replace HandleBars, but is intended to provide an alternate path that includes more advanced options for those who wish to use them.
- Game View UI Redesign - A revitalization of the UX and UI for the Game view interface. This reimagining of our UI will provide a modernization of the software in the interest of making user interaction more streamlined, intuitive, and modern. The new UI experience is expected to be an opt-in experimental feature throughout V12, but will become an opt-out feature in v13 before it is cemented as the permanent new UI in V14.
Other Architectural Improvements
Related Github Issues: 8573, 9776, 9788 9772
As always, we will be making some improvements to the underlying libraries, frameworks, and architecture that compose the core software! While these are too numerous to mention there are a few highlights we'd love to share:
- Dice Rolling V3 - Changes to our Dice Rolling API and its underlying functions, concluding the deprecation period for synchronous roll evaluation, implementing a new approach to formula parsing, and providing support for manual or Bluetooth-provided roll results.
- ProseMirror Editor - A broad-stroke series of improvements to the ProseMirror rich text editor, including more support for dynamic blocks, inline nodes, improved HTML editing, and more!
- Websocket - Changes to socket update buffering, refactoring of our WebSocket approach to shift away from the use of
socket.io
in favour of native browser WebSockets, and other WebSocket performance optimizations. - Database Optimization - A series of targeted changes that capitalize on work done for our database restructure in v11, including further improvements for loading functions, migrations, and additional stored data.
Our development team will be diverging for a short period to work on features for Version 11.5 before we dive deeply into development on V12. We hope that this preview spotlight gives people an idea of our priorities and that everyone will be as excited about the features of V12 as we are!