Mapping stock images to variables
I think it could make sense to make the use of these stock graphics easier, as the current syntax is a bit long-winded and there is no handy way to automatically list the current contents of the Campaign Logger image bank.
One way to do that would be add an additional mapping layer between the image URLs and the user. That could be done by initializing a set of global variables that contain the path to the image files stored on the Campaign Logger server. It might also make sense to enable declaring these variables per image library type, as it may not make sense to declare every variable if for example playing card images are used.
My current image collection falls into the following categories:
- card: card faces (for card-based systems)
- icon: abstract icons for stat blocks (indicating points of interest, elements to be filled in, high values, etc.)
- item: symbolic item icons (like coin images for price level indicators)
- location: generic landscape images (not sure how useful this would be)
- map: mapping symbols (gazetteer log entries or map generation)
- meta: off-game symbols related to rules (various dice, pencil, etc)
- ornament: beautification elements for log or generator content to match a genre (like Victorian swashes and other dividers)
- portrait: generic character portraits (again of dubious usefulness, as achieving satisfactory coverage is a pipe dream really)
(Anything else coming to mind?)
The image bank initialization generator could set also the default image size per each image bank, so that it would be easier to change the scaling later on. Perhaps it could even set several alternative sizes per image bank (like small, medium, large) and then set one of them as the default, making changes even easier. It would make sense to make this setting image bank specific, as it is probably desirable to set the small size for a die image different than for a portrait image.
In generator use, these image banks could then be initialized by calling for example:
Code:
{lib:init-imagebank#icon}
Or, for the omnivorous, why not:
This would initialize global variables that would, when used in text, be replaced with the related inline image. Like this:
Code:
Price level: {g:img-coin}{g:img-coin}{g:img-coin}
(image simulated with incroyable Illustrator skillz)
It may be good to use the
img- prefix in the variable names, or what do you think?
{g:coin} would be easier on the fingers and eyes, but the user could need a text-based variable named like that.
Also: a related feature request pops up: should the logs be able to utilize global variables as well?