PDA

View Full Version : Story Template Discussion Thread



JimSocks
July 10th, 2021, 00:41
Hey everybody!

I figured it might be best to move the discussion about Story Templates out of the "paid creations" room and into here, since it's no longer a paid creation and now it's just part of Fantasy Grounds Retail.

That said, brand-new features for Story Templates are now live- including the ability to column-reference with Link Record results!
Also, I made a new comprehensive tutorial video for the Wiki, complete with quick navigation links in the video description so you can go straight to whatever you need to learn about.

Click HERE to go see the new video! (https://youtu.be/FKI3e6mHG3I)

JimSocks
July 10th, 2021, 00:41
--Reserved in case I need to put a "sticky" of sorts here later--

superteddy57
July 10th, 2021, 03:22
MOD: Moved to CoreRPG forum

JimSocks
July 10th, 2021, 06:05
MOD: Moved to CoreRPG forum

Lol.

Well, I tried to do good anyway. Looks like I missed the mark!

selrivan
July 14th, 2021, 23:16
This looks very interesting. I was running into some roadblocks on using the existing table functionality to do what I want. This looks like it will help out a lot. The video is very helpful in understanding the uses for this greatly enhanced functionality.

LordEntrails
July 15th, 2021, 00:45
Really powerful stuff here Jim, impressive!

A couple of questions I did not see answered in the video.
- Is their a way to escape control characters? For instance, the '(a)' in a story template. What if you actually wanted the "(a)" as you are doing a list or such ((a), (b), (c)...).
- How long are the values stored for? i.e. just the session aka stored in RAM, or stored in the campaign aka stored in the database. How would one handle a single story template that uses custom naming/callouts that is going to be used multiple times in a campaign or in a session? i.e. a Template that generates a building, but now you want to generate 10 different buildings with the same template...
- By chance might you be willing to share the campaign (or something like it) from your video? Seems like that would be very useful for learning all of this :)

JimSocks
July 15th, 2021, 05:30
Thanks!

Here’s the answers you seek:

1. No escape characters. If someone would like to make a lettered list, they should choose a different format. 2 Examples might be: a. Text b. Text c. Text or a) Text b) Text c) Text

2. The values are stored for the generation of a single story template, except for cross-template values, which are stored for the entire single session. So upon a /reload they are wiped clean too. Of course, the stories you generated will remain in your campaign records until you delete them manually.

2a. Cross-Template references that use the same custom name will over-write what was placed in that bucket last time it was used. This way, you can press generate on a template 100 times and it always gives you something new.

3. Well, that particular campaign is a piece of my current project which I hope to run a successful kickstarter for if I can gain Smitework’s approval to do so, so THAT one I won’t be putting out there for awhile. I could create a stand-alone module for training, but right now my bandwidth is really thin due to the first project.

All great questions! I hope these answers helped!

Zacchaeus
July 15th, 2021, 09:48
What I think is maybe needed here is some more information on how all these new features work. The videos are too long and interrupted by PowerPoint presentations which aren't helpful and the wiki documentation peters out after the initial bit and is very vague on how you deal with some of the more powerful stuff.. Maybe some short and to the point videos with simple examples of what can be done. I'm sure there's power in here but I can't get my head around anything other than the first bit. Here's a sample video which shows the basics of the multicolumn support which is the only bit of the new stuff that I was able to get a grip on. https://www.youtube.com/watch?v=I4I3N_iHAgA


Examples should use small, readily understood, tables instead of some colossal world building thing. I think maybe one of the problems I have is not so much using the templates but how to construct the tables in order to use the new functionality. The thing with templates has always been how to construct logical tables so that templates could use them.

So simple things like how to generate a unique name for an NPC based on their race and gender and how to construct the tables to facilitate that and how then to retain that information to be able to use the pronouns and the name, race and gender in a later text string. If we can get a handle on how that kind of thing can be done then I think that'll help our understanding of what can be done.

LordEntrails
July 15th, 2021, 17:31
Thanks for the answers Jim. Totally understand how to work around escape characters. As for storage of results, that how I thought it should work, just didn't know if that's how it does work :) Totally understand about bandwidth.

As for how to document this... I personally do not like videos, but understand that they take much less time to put together and publish than a well laid out pdf or wiki page with edited images etc. If I had the bandwidth, I would volunteer to do a campaign with samples of all of this. imo, that's the most useful resource for all of this since people can then copy what is known to work into their own campaign (from the example module) and then enhance it to their needs. But I won't ask someone else to do something I can do myself (if any of us had the time to do it).

JimSocks
July 15th, 2021, 22:29
That’s good feedback, but also really disappointing! The video, FG examples, PowerPoint, and post-production took a lot of effort... not a quick process.

I understand the video is long, but it’s very simple and quick to use the time code links in the video description to jump exactly to a particular topic. I suppose I could split the long video into 14 separate video chunks, but then it kinda spreads the knowledge to the wind so to speak? Also, splitting the video isn’t a quick process- with each video needing its own tags, upload time, edit time, and splash card graphics. I mean in a way, because you can easily either scrub the video and watch the table of contents slides go by, or use the time code links, it’s like a bunch of mini-videos already though... just under one roof?

As to the examples in the video, I thought I used very straightforward and simple examples? Was there a particular one that was hard to understand?

Using the PowerPoint let’s me illustrate the syntax in a larger, easier to see format, and let’s me show how the techniques function quickly, then I jump into FG for some simple in-use examples. I’m not sure how I could cover those concepts better or faster without the help of the slide presentations.

As for the best way to build tables, I really have only changed one aspect, which the video you linked already demonstrates well: now multi-column tables are a big benefit when you need relational data. Ok I take that back, I have changed two things- the second is using auto capitalization for entries that may need to be capitalized contextually.

Do you have a specific concept from the video that misses the mark or fails to teach a concept?

I’m also willing to help you understand here on the forums, if there’s something you just can’t get a grasp on.

Zacchaeus
July 15th, 2021, 23:46
Yes, I’m aware of how long it takes to do a video and I wasn’t disparaging your one but for me an instructional or tutorial video needs to be maximum 10-15 minutes long and only cover one subject or feature.

As I said in my original post I got stuck on trying to produce a unique name for an NPC based on race and gender since that seemed to be the next thing that I could make a video on myself. But I could not get that to work because I couldn’t figure out how to create the right tables. I see the technical bits on the wiki but translating that into a practical thing was beyond me. Right now I don’t have time to get into it again but I’ll give your video another look in the future; I didn’t even see time stamps and gave up when it started ion the PowerPoint thing.

There’s clearly a lot of power in this and I like story templates and as a developer I want to use them when I can to enhance the user experience (although I use par5e and it’s not been updated to take advantage of the new stuff as yet).

JimSocks
July 16th, 2021, 01:22
Thanks for the detailed feedback- It’s very helpful.

As for your use-case, there is more than one way to accomplish this goal.

1. You can create one table that has a row for each race and gender, and use column referencing to get your name. This is the easiest method, but doesn’t help if your race needs to be decided by something externally.

2. If your race is being decided somewhere else (let’s say you have another template that is deciding the main race of a settlement is going to be Elf, and now in a new template you want an Elven NPC because of that fact). So in your original template, we’ll have you using {:City Race:Race} to call the race. In this case, let’s assume you have three possible races: Elf, Human, and Dwarf, and the City Race table just has those three results. You could then make three separate tables, one for each race name (Called Elf Name, Human Name, and Dwarf Name) and in your second template you could call them like this: [:{Race} Name:NPC Name]. This would first replace the data you stored in {Race}, and then roll on the table [Elf Name] and store the result inside “NPC Name”. Thereafter, you can also reference it by using <NPC Name> if you wanted.

3. Let’s say that the roll to decide race is happening externally to the name table as above, but within the SAME template instead. Here you would roll for the race with something like [:City Race:Race] and then the name could be conjured either using [:<Race> Name:NPC Name], [<Race> Name], or even [#Race|1# Name] if your race was held in column 1 of your City NPC table.

Hope that helps, but if not I can try again!

Zacchaeus
July 16th, 2021, 01:40
What I was trying to do was use the ability to call a table using a value generated from another table. So I had a table which generated a race and another which generated a gender and then use those results to roll the name. So if I got male dwarf I would roll on the male dwarf first name table and then roll on a generic dwarf surname table. I wanted to demonstrate that you could call a table by generating the name of the table from other rolls since that seemed to be the next thing on the wiki after the stuff I demonstrated in my first video. Whilst I got part of that to work I couldn’t follow it all the way through. I’d need to look at it again in more detail but as I say I don’t have the time to do that right now. I’ll pick it up again in a few weeks.

Fracz
December 5th, 2021, 18:37
Hi, where i can suggest some changes to this feature???
I think it coul be very useful have custom naming on tables, to call tables based on prior columns.

The first line is the final result.
The second line is the the tabale calls with custom naming.
The third is the actual line to roll.


50207