TaleSpire Dev Log 381
·How time flies when you're having fun!
It's been way too long since the last update on Symbiotes, so let's fix this today:
I've spent a lot of my time making more example Symbiotes and working on the ones I showed off in my last devlog. This includes polishing them so they're easier to understand for others and updating them to include new features that Baggers included in the API[0]. Together with those examples, I've also put some time into creating a handful of helper functions for Symbiotes to use.
Apart from that, I've also looked at some options for proper documentation for the Symbiotes API, including some automatically generated info for each feature as well as handwritten explanations. At this point, I want to express my deep dislike of JavaScript and its accompanying tooling, which more or less forced us to create semi-custom documentation tooling. Luckily this is less work than we initially feared it would be (Though it's also not done so let's see if Murphy agrees with our assessment).
With all that out of the way, here's a (non-exhaustive) list of Symbiotes to look at. Before that, the usual disclaimers though: Keep in mind that those Symbiotes are meant as examples and documentation for other people to make their own. Some of them may have enough merit to be used on their own, but most are only in a "proof of concept" stage and won't be "nice to use" for actual game sessions.
Unlike the last showcase, where almost nothing was actually implemented in-game, most features are now working within TaleSpire. It's obviously not completely done, and some of the implemented features are subject to internal changes, for which we need another API review session. Still, the progress Baggers has made on cranking out those API calls for me to use in these examples was simply awesome to witness:
As opposed to the last time I showed this Symbiote for rolling with advantage and disadvantage off, it actually works this time instead of having half its logic hardcoded! Still not finished though.
Similar to the dice roller example, the notes work now. Last time I only showed that it wanted to send messages by showing a browser console. This time the data rumbles through the pipes right over to the other client.
The embedded browser can, of course, also open PDFs - for when you want the rule book at your fingertips without having to alt-tab ;)
Symbiotes also can get creature information from various contexts - shown here is from the selection, but they can for example also load the initiative list or unique creatures.
While we won't have any functions for changing things on the board directly from Symbiotes for the first release, they can already read copied slabs and put new slabs into the hand for the user to place.
In the previous log, I've also shown this halfway working with the browser console; now, we can send the chat messages properly. It is not finished yet because targeting individual players doesn't work right now and it just sends to all players instead.
This next one will need a bit of explanation to be understandable:
What you see here is the Demiplane Nexus webpage being loaded in a Symbiote. The interesting part is that we can hover over and click on dice rolls on the website, and it gets pushed to TaleSpire properly. This is due to a site-agnostic extra tool we will provide that Symbiotes can turn on called "Dice Finder".
The idea is that it will be able to do a decent job of finding text that looks like dice rolls on any arbitrary web pages you may want to load as Symbiotes. It will never be as good as dedicated support written for specific pages, but it should allow a quick and painless way of getting a baseline of integration with web pages. It's worth noting that while the video only shows Demiplane, we are testing on 10 different websites to verify it works on all of them. The tldr is: "Can I get dice rolls from [some random website]?" "Most likely yes with the dice finder".
Disclaimer: This DevLog is from the perspective of one developer. It doesn't reflect everything going on with the team
[0]: In Baggers' last devlog, there's a fairly comprehensive list of all the things the API currently gives access to - he has definitely kept me on my toes to get example usages of most of them done!
NotAstroturf
NotAstroturf
·Luis
Luis
·lief_bombard
Userlief_bombard
User ·Luis
Luis
·doskious
doskious
·Luis
Luis
·You can however specify your own JS code to be injected after page load which can include tighter integration with TaleSpire via the API (or alternatively, you probably could make a Foundry addon since AFAIK they are also fairly capable, mind you though that I know almost nothing of how they work so I might be missing something there)
tldr: Think of this side view just being a normal, albeit narrow, browser (because it is) that you tell which page to load and that also contains tight integration with TaleSpire directly. So pretty much anything you can do in a normal browser can be done with a Symbiote, but also so much more with regards to interfacing with TS.
thefacknoonegives
Userthefacknoonegives
User ·I use Foundry for most (if not all) my online games, and having some kind of "official" integration between Foundry and TS does mean that people like me, who are not enough skilled in coding (especially in JS), could have most of their work on Foundry used in TS too!
I, for example, have like 5 worlds with homebrews, NPCs, lore and whatnot already ready on Foundry, and i would love to start using TS full time with Foundry integration on Symbiotes!
MartnPabloGaviln
MartnPabloGaviln
·The PDF thing and the web stuff is also amazing.
Gonna try with pathfinde webs ASAP.
Nice job!