Greetings! This morning we pushed an exciting update to the Roll20 system: A New Light! Updated Dynamic Lighting is the new system for Dynamic Lighting and Advanced Fog of War. It features a stronger framework for future feature enhancements, is more performative, and has been updated for more current computing technologies. As this is a feature for Plus and Pro subscribers, if you'd like to try it out for yourself, please consider upgrading your account . Free Plus Pro Updated Dynamic Lighting This system is still being actively developed! We're excited about this new update and hope you'll try it out, give us your feedback, and help us make it even better. Parallel Systems While we continue development on Updated Dynamic Lighting and support for licensed products, both the Legacy system and the Updated will exist in parallel. However, when you switch from one to another, the revealed areas are not transferred over. So, for example, if you and your crew have been crawling through a dungeon with Advanced Fog of War on, and you decide to switch to the new Dynamic Lighting with Explorer Mode, your players won't see anything they had previously explored. Players can fix that by moving their tokens around to re-reveal the area. Similarly, if you switch to Explorer Mode and then decide to hop back over to the Legacy system, anything you had revealed in the Updated system will be hidden. If you then switch back to the the new Dynamic Lighting, the revealed areas that you had revealed will still be there. The Dynamic Lighting layer, where you can add barriers that block light and movement, continues to function for both systems, and you do not need to change anything on that layer. Why the new name? The old system was a mashup of three systems: Dynamic Lighting, Fog of War, and Advanced Fog of War. The new system will be simply named Updated Dynamic Lighting. The feature previously called Advanced Fog of War, where players reveal areas as they move through them, is now a setting called Explorer Mode. The old system is now called "Legacy Dynamic Lighting." What are the system requirements? Updated Dynamic Lighting uses WebGL, which is available in most computer systems and is supported by all the web browsers that Roll20 supports (Chrome and Firefox). The Legacy Dynamic Lighting has always used WebGL, so the change here is that Explorer Mode (previously Advanced Fog of War) now runs on the same system. WebGL leverages the power of your computer's graphics processor to make rendering much faster and smoother. 99.9% of Roll20 users already have WebGL enabled on their systems, and you can check whether it works for you simply by clicking this link . Because it's the same system that Legacy Dynamic Lighting always used, if you were able to use that feature before, you will be able to use it now. Updated Dynamic Lighting leverages Hardware Acceleration, so if you have that turned off, the system will not perform as well. You can find your Hardware Acceleration in your browser's hardware settings. If you're a streamer, you can use separate browsers to stream the windowed version, or broadcast the entire monitor view. We are committed to developing solutions for streamers who would like to capture the window effectively, and will not be deprecating Legacy Dynamic Lighting until after those solutions are in place. If your system does not support WebGL , you will not be able to access the Updated Dynamic Lighting or its features. We want to make sure you're aware of this now, because the old system will be eventually be deprecated and removed from Roll20. We believe this change will be worthwhile not only because it makes the lighting system work for more people, but also because it opens up potential for new lighting features down the road that are even more robust (and frequently requested by our user base). That said, this change is not happening immediately, and we will make sure that our users have ample time to try the Updated system and prepare for the Legacy system to go away. During the testing phase, we'll accomplish this using the parallel systems mentioned above. Please note that, while many web browsers support WebGL, Chrome and Firefox are the only browsers supported with this release. In addition, Updated Dynamic Lighting has not been tested on Table on Tablet. How do I use it? Open your game or create a new one. Navigate to a page that has Dynamic Lighting barriers in place, or create a map with Dynamic Lighting barriers, as explained here . For Explorer Mode: When you are logged in as the GM of a game, moving tokens will reveal the area for that token for the players who are assigned to it. However, the area will not be revealed for the GM even if the GM is explicitly named as assigned to the token, because the GM can always see everything, including what the players reveal. As a result, the token will not "remember' what was revealed for it if you rejoin as a player and have control over that token. If you are a co-GM playing a game, remember to login as a player if your campaign uses Updated Dynamic Lighting to avoid this issue. Set Up the Page or Map Open the Page Settings. You'll see there's a new "Dynamic Lighting" tab in the settings. Click the Dynamic Lighting toggle to turn on the Updated Dynamic Lighting system. If you had the Legacy Dynamic Lighting, Fog of War, or Advanced Fog of War enabled in the Page Details tab, turning on the new Dynamic Lighting will automatically disable those. Turning on Explorer Mode will allow the players to see a grayscale "history" of where they've previously been. Toggling this off means they will only see what their token can see, based on the token's vision and available lighting. Turning on Daylight Mode means the whole page has Bright Light. This is the Updated version of what used to be labeled "Global Illumination" and works the same way: all tokens with vision will be able to see. It's perfect for when you want to set up Dynamic Lighting barriers (like the walls of a house) but don't want to create individual light sources (like torches) to reveal bits and pieces of it. Set Up the Tokens Now that you have the Dynamic Lighting options enabled, set up your tokens. Double-click the token or right-click it and select Edit from the context menu. The Token Settings dialog box will pop up. There's a tab for Updated Dynamic Lighting. If you want this token to be able to see, turn on Vision. When a token has Vision, it can see all the way to the edge of the lit area, unless blocked by a Dynamic Lighting barrier. So, if your whole map is lit, any character with vision can see all the way to the edge of the map. But what if your map isn't lit? Turn on Night Vision and your token can see in darkness, up to however many feet you specify. Set the token's light settings for Bright Light and Low Light. Note that, unlike the light settings for Legacy Dynamic Lighting, where the low light starts somewhere in the main light settings, the two values here are added together. So a token with 5 of Bright Light and 10 of Low Light would have 5 and 10 put into those fields, respectively, and the total light displayed would be 15. Bright Light on its own has a feathered "edge" starting at 1/2 of a grid cell before the edge of the Bright Light. Low Light gradually fades out starting at its origin (the center of the token). When you have Bright Light and Low Light on, the Low Light starts fading where the Bright Light would (1/2 of a grid cell width before the edge of the Bright Light). Make sure that you also set the token's "Controlled By" field (under the "Basic" tab) if you want your players to be able to move this token and see what it sees. Negative numbers in the vision distances results in either the token's square being illuminated only, or no illumination at all. Note: The Updated Dynamic Lighting does not use the Legacy light and sight settings (the "Advanced" tab in Token Settings). For now, you will need to change settings on all your tokens. You can have both set at the same time; you do not need to remove your token's Sight from the Advanced tab in order to give it Vision in the Updated Dynamic Lighting tab. Is There a Guide to Common Settings? There is a guide to some common settings available in the Help Center ! API Support Updated Dynamic Lighting has API support at launch. Here are the details: Token Settings: has_bright_light_vision - Turns on Vision for the token . Use the booleans true to turn on or false to turn off. There is currently no available range to set for Vision. has_night_vision - Turns on Night Vision for the token . Use the booleans true to turn on or false to turn off. You are able to set the range for this value using the next value. night_vision_distance - Sets the range of night vision for the token . This is an integer. emits_bright_light - Turns on bright light emitting from a token . This would be useful for a bonfire or a source with a lot of light. Use the booleans true to turn on or false to turn off. bright_light_distance - Sets the range of the amount of bright light emitting from a token . This is an integer. emits_low_light - Turns on low light emitting from a token . This would be useful for a torch or a source with a low amount of light. Use the booleans true to turn on or false to turn off. low_light_distance - Sets the range of the amount of low light emitting from a token . This is an integer. When setting this value, you must include any Bright Light Distance you have set. The reason for this is because Low Light Distance is calculated from the center of the token . So if you have set Bright Light Distance to 10 , and you would like an additional 10 feet of Low Light Distance, the value of low_light_distance must be 20. Page Settings : dynamic_lighting_enabled - Turns on the Updated Dynamic Lighting for the Page . Use true to turn on or false to turn off. daylight_mode_enabled - Assumes that dynamic_lighting_enabled is enabled. This should not be turned on if dynamic_lighting_enabled is not turned on. Use the booleans true to turn on or false to turn off. Adds Light to the whole Page , good for a sunny day or well-lit room, or for GMs who don’t want to place light sources. Previously called “Global Illumination.” explorer_mode - Assumes that dynamic_lighting_enabled is enabled. This should not be turned on if dynamic_lighting_enabled is not turned on. Use the strings ”basic” to turn on or ”off” to turn off. Reveals areas of the Map Layer that players have explored. Does not reveal areas that were revealed when Explorer Mode is disabled. Previously called “ Advanced Fog of War .” Examples: on("change:graphic", function(obj) {
obj.set({
has_bright_light_vision: true,
emits_bright_light: true,
bright_light_distance: 10
});
}); This will add the above values to a token in two instances: upon adding a new token to the VTT <a href="https://gyazo.com/7813e2b37a6c0c31439e045c64349af0" rel="nofollow">https://gyazo.com/7813e2b37a6c0c31439e045c64349af0</a> As you can see in this gif, a new image is dragged onto the VTT from the user ’s Recent Uploads , there are NO default settings set for the campaign, so the API is effecting the new token so it has the three new settings. moving a token that already exists on the VTT , with or without token settings already set. <a href="https://gyazo.com/2961f62bbfb4dfdadb25a014091d9864" rel="nofollow">https://gyazo.com/2961f62bbfb4dfdadb25a014091d9864</a> As you can see in this gif, a current image exists on the VTT with no settings set. Once that image is moved, the new settings are added. <a href="https://gyazo.com/52a4c86cb01f76ca1b1e6365a992e4e6" rel="nofollow">https://gyazo.com/52a4c86cb01f76ca1b1e6365a992e4e6</a> As you can see in this gif, a current image exists on the VTT with some token settings already set (the Bright Light Distance is set to 30 ). Once it is moved, the Bright Light Distance is changed to 10. HOWEVER, using on(“change is dangerous because if you update the token settings for a specific token , that triggers a change event, which will trigger this API. So, if you have something like this in your API script, your token settings will always stay this way for every token , unless you add some conditional statements so it works the way you want. on("change:graphic", function(obj) {
obj.set({
has_bright_light_vision: true,
emits_bright_light: true,
bright_light_distance: 10,
emits_low_light: true,
low_light_distance: 25
});
}); This example will set Vision to any token that has changed (moved, updated, added to the VTT , etc). The token will also emit 10 feet of Bright Light Distance, as well as 15 feet of Low Light Distance. Notice how low_light_distance is set to 25 . That is because the value of low_light_distance must be the sum of bright_light_distance and however much you would like the token to emit Low Light Distance - in this case it is 15 . We Want to Hear from You! This update is still in active development and will continue to be so until it reaches feature parity with Legacy Dynamic Lighting. To reach that end, we're asking you to try it out and report any issues to the official feedback thread in the Bug Forum . There's a running list of Known Issues there, as well as a template for reporting any bugs you find. Check it Out The next community roundtable is April 23 at 5 PM PDT. Find out more and submit your questions here ! The most recent community roundtable was Thursday, March 19. Catch the video here ! Looking for previous release notes? Read the full list on the helpdesk , or check out the most recent note here.