Difference between revisions of "Library Campaign"
From Roll20 Wiki
Andreas J. (Talk | contribs) m |
m (→The Aaron's Bookmaklet) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | ''Trick {{fpl|6354288/ originally written}} by [[Keith]]'' | + | {{revdate}}''Trick {{fpl|6354288/ originally written}} by [[Keith]]'' |
− | + | '''Library Campaigns''' (or '''Archive Campaign''') is a useful trick to mitigate the problem that larger [[Campaign|games]] can run slowly, or simply have so many pages and [[characters]] that finding what you need is difficult. [[GMs]] are given the option to archive these, so that they are out of the way, but what is not immediately obvious is that archived characters and pages are still loaded into memory at run time. | |
− | The Roll20 engine keeps all characters and maps associated with a campaign available at all times. | + | The Roll20 engine keeps all characters and maps associated with a campaign available at all times. Archiving a character or page using the camapign tool simply hides it from your {{Journal}}-tab or the [[Page Toolbar]] respectively, and doing so doesn't improve performance. You could delete unused characters and pages, but then you would have to go to the trouble of remaking them. |
=Library/Archive Campaign= | =Library/Archive Campaign= | ||
− | {{ | + | {{notebox| This trick requires the game is created with a {{Pro}} account, and access to the [[Transmogrifier]] tool.}} |
The answer is to make a '''Library''' or '''Archive Campaign'''. Begin with making a copy of your existing game. This will ensure that you have the latest, most up to date copies of all assets (with the exception of scripts and macros, but you are not likely to need access to these, since the Library Campaign is not intended for actual play). Once this is done--and verified--you can delete any non-active characters from your main campaign. | The answer is to make a '''Library''' or '''Archive Campaign'''. Begin with making a copy of your existing game. This will ensure that you have the latest, most up to date copies of all assets (with the exception of scripts and macros, but you are not likely to need access to these, since the Library Campaign is not intended for actual play). Once this is done--and verified--you can delete any non-active characters from your main campaign. | ||
Line 15: | Line 15: | ||
Also, let's say your big bad has leveled up, but you won't be needing him for a couple of months. Transmogrify him into the library campaign, and safely delete the copy in your main campaign. | Also, let's say your big bad has leveled up, but you won't be needing him for a couple of months. Transmogrify him into the library campaign, and safely delete the copy in your main campaign. | ||
+ | ==Inventory your Campaign== | ||
+ | * {{fpl|10675897/ Script:Campaign Survey}} - helps you inventory the size of your campaign, by listing how many pages/characters/handouts/graphics/etc you have. | ||
+ | |||
+ | This will make it more clear which maps have most graphics, making it easier to decide which needs to be moved. | ||
+ | |||
+ | See the tips on [[Optimize Roll20 Performance#Optimize Campaign]] to get a better idea on what might impact performance most. | ||
==Why not use the Character Vault?== | ==Why not use the Character Vault?== | ||
− | The [[Character Vault]] is essential for transferring your character between games. As | + | The [[Character Vault]] is essential for transferring your character between games. As a library however, it has a couple of drawbacks. First, every time you save a character to the vault, it is a new copy, a snapshot of the character as it exists at that point. If you do this enough, it can lead to multiple copies, confusion and wasted space. More importantly, a character is saved with its current sheet. Most of the time this is not an issue, however, as sheets improve, there comes a point when it can no longer safely update to the current sheet when brought back in. Too many changes have accumulated, leading to a potentially broken sheet. |
A Library campaign can be updated with the latest sheet whenever you update the main campaign, or at least with every major iteration of the sheet. This allows them to safely upgrade as the sheet designer intended. | A Library campaign can be updated with the latest sheet whenever you update the main campaign, or at least with every major iteration of the sheet. This allows them to safely upgrade as the sheet designer intended. | ||
==Macros and Scripts== | ==Macros and Scripts== | ||
− | Although I do not recommend actually working in your library campaign (it can cause confusion as to which version is more recent), you may wish to test out [[API Scripts]] or [[macros]] without spamming your main campaign chat or littering it with potential spoilers. In this case, you may want your macros and scripts | + | Although I do not recommend actually working in your library campaign (it can cause confusion as to which version is more recent), you may wish to test out [[API Scripts]] or [[macros]] without spamming your main campaign chat or littering it with potential spoilers. In this case, you may want your macros and scripts. |
− | ===The Aaron's | + | If you use a [[Macro Character Sheet]], moving your macros is easy. You did it during set up, and your current macro sheet can be transmogrified to the Library Campaign at any time. Scripts can be a bit more of a hassle. They do not copy over when you set up a new campaign, and if you want more than just the bare minimum, it can be a chore to re-assemble them. |
+ | |||
+ | ===The Aaron's Bookmarklet=== | ||
In this case, I recommend using [[The Aaron]]'s {{fpl|2995136/ bookmarklet}} for concatenating the scripts and moving them into the new campaign as one big uber-script (though this won't work in Firefox). Whenever you need to do updates to scripts, you can delete this uber script and repeat the operation in order to get the latest version of all scripts. In practice, you probably do not need most scripts since you will not be working in this campaign in all likelihood, just using it for storage. | In this case, I recommend using [[The Aaron]]'s {{fpl|2995136/ bookmarklet}} for concatenating the scripts and moving them into the new campaign as one big uber-script (though this won't work in Firefox). Whenever you need to do updates to scripts, you can delete this uber script and repeat the operation in order to get the latest version of all scripts. In practice, you probably do not need most scripts since you will not be working in this campaign in all likelihood, just using it for storage. | ||
You can use this Javascript Bookmarklet to build a text area with all the scripts concatenated: | You can use this Javascript Bookmarklet to build a text area with all the scripts concatenated: | ||
− | <pre | + | <pre data-language="javascript"> |
javascript:$('<textarea></textarea>').attr({id: 'TheAaronAllScripts'}).css({width:'100%',height: '30em'}).text($('.script .editor').map(function(idx,e){return e.env.editor.getValue();}).toArray().join("\n/* ############################### */;\n\n")).appendTo('body'); | javascript:$('<textarea></textarea>').attr({id: 'TheAaronAllScripts'}).css({width:'100%',height: '30em'}).text($('.script .editor').map(function(idx,e){return e.env.editor.getValue();}).toArray().join("\n/* ############################### */;\n\n")).appendTo('body'); | ||
</pre> | </pre> | ||
Line 33: | Line 41: | ||
==Final note== | ==Final note== | ||
− | '''Characters''' and '''Pages''' are the biggest reason to make a Library Campaign, as they do not reduce game load when using the normal archive function. If your goal is just to reduce visual clutter, remember that the library campaign can also hold [[ | + | '''[[Characters]]''' and '''[[Pages]]''' are the biggest reason to make a Library Campaign, as they do not reduce game load when using the normal archive function. If your goal is just to reduce visual clutter, remember that the library campaign can also hold [[Handout|Handouts]], [[Rollable Tables]], and {{Jukebox}} playlists. |
+ | |||
+ | [[Handouts]] & [[Rollable Tables]] dont take much space-{{source|https://app.roll20.net/forum/permalink/10675944/}} | ||
=See Also= | =See Also= | ||
Line 47: | Line 57: | ||
* [[:Category:Tips]] | * [[:Category:Tips]] | ||
* [[:Category:Guides]] | * [[:Category:Guides]] | ||
− | + | ||
− | + | ||
[[Category:Tips]] | [[Category:Tips]] | ||
[[Category:Game Management]] | [[Category:Game Management]] |
Latest revision as of 00:22, 19 May 2023
Page Updated: 2023-05-19 |
Library Campaigns (or Archive Campaign) is a useful trick to mitigate the problem that larger games can run slowly, or simply have so many pages and characters that finding what you need is difficult. GMs are given the option to archive these, so that they are out of the way, but what is not immediately obvious is that archived characters and pages are still loaded into memory at run time.
The Roll20 engine keeps all characters and maps associated with a campaign available at all times. Archiving a character or page using the camapign tool simply hides it from your N Journal-tab or the Page Toolbar respectively, and doing so doesn't improve performance. You could delete unused characters and pages, but then you would have to go to the trouble of remaking them.
Contents |
[edit] Library/Archive Campaign
This trick requires the game is created with a Pro info account, and access to the Transmogrifier tool. |
The answer is to make a Library or Archive Campaign. Begin with making a copy of your existing game. This will ensure that you have the latest, most up to date copies of all assets (with the exception of scripts and macros, but you are not likely to need access to these, since the Library Campaign is not intended for actual play). Once this is done--and verified--you can delete any non-active characters from your main campaign.
Going forward, let's say you create a detailed bugbear band, where each is a separate character sheet with special abilities. When you are done with that adventure arc, use the Transmogrifier them into the Library campaign, and delete them from the main campaign. Again, archiving does nothing to reduce character or page load.
Also, let's say your big bad has leveled up, but you won't be needing him for a couple of months. Transmogrify him into the library campaign, and safely delete the copy in your main campaign.
[edit] Inventory your Campaign
- Script:Campaign Survey(Forum) - helps you inventory the size of your campaign, by listing how many pages/characters/handouts/graphics/etc you have.
This will make it more clear which maps have most graphics, making it easier to decide which needs to be moved.
See the tips on Optimize Roll20 Performance#Optimize Campaign to get a better idea on what might impact performance most.
[edit] Why not use the Character Vault?
The Character Vault is essential for transferring your character between games. As a library however, it has a couple of drawbacks. First, every time you save a character to the vault, it is a new copy, a snapshot of the character as it exists at that point. If you do this enough, it can lead to multiple copies, confusion and wasted space. More importantly, a character is saved with its current sheet. Most of the time this is not an issue, however, as sheets improve, there comes a point when it can no longer safely update to the current sheet when brought back in. Too many changes have accumulated, leading to a potentially broken sheet. A Library campaign can be updated with the latest sheet whenever you update the main campaign, or at least with every major iteration of the sheet. This allows them to safely upgrade as the sheet designer intended.
[edit] Macros and Scripts
Although I do not recommend actually working in your library campaign (it can cause confusion as to which version is more recent), you may wish to test out API Scripts or macros without spamming your main campaign chat or littering it with potential spoilers. In this case, you may want your macros and scripts.
If you use a Macro Character Sheet, moving your macros is easy. You did it during set up, and your current macro sheet can be transmogrified to the Library Campaign at any time. Scripts can be a bit more of a hassle. They do not copy over when you set up a new campaign, and if you want more than just the bare minimum, it can be a chore to re-assemble them.
[edit] The Aaron's Bookmarklet
In this case, I recommend using The Aaron's bookmarklet(Forum) for concatenating the scripts and moving them into the new campaign as one big uber-script (though this won't work in Firefox). Whenever you need to do updates to scripts, you can delete this uber script and repeat the operation in order to get the latest version of all scripts. In practice, you probably do not need most scripts since you will not be working in this campaign in all likelihood, just using it for storage.
You can use this Javascript Bookmarklet to build a text area with all the scripts concatenated:
javascript:$('<textarea></textarea>').attr({id: 'TheAaronAllScripts'}).css({width:'100%',height: '30em'}).text($('.script .editor').map(function(idx,e){return e.env.editor.getValue();}).toArray().join("\n/* ############################### */;\n\n")).appendTo('body');
The above you can copy and put in a bookmark in Chrome. ForFirefox , you need a link to right click and add bookmark, so far as I know.
[edit] Final note
Characters and Pages are the biggest reason to make a Library Campaign, as they do not reduce game load when using the normal archive function. If your goal is just to reduce visual clutter, remember that the library campaign can also hold Handouts, Rollable Tables, and u Jukebox playlists.
Handouts & Rollable Tables dont take much space-