Dwarf Fortress Roundtable - Ep. 36: In which Dwarf Fortress Storyteller Creator Ralph Talks Programming
Episode Date: August 30, 2020Today we deep-dive into a new tool designed to make visualization mods easy to create. Ralph joins the gang to tell us all about Dwarf Fortress Storyteller. It's an API that makes it easy to access D...F Legends data and present that to the user. Dwarf Fortress Storyteller HomepageDF Storyteller Gitlab RepoDF Storyteller Image GalleryA link to Ross' RPG Avarice, and our episode that talks about itImages from Bay12GamesDF Talk Episode 25 Support Dwarf Fortress Roundtable on Patreon Musical Attribution - Thanks so much to Kevin MacLeod for making his awesome music available to content creators! Skye Cuillin by Kevin MacLeodLink: https://incompetech.filmmusic.io/song/4371-skye-cuillinLicense: http://creativecommons.org/licenses/by/4.0/ Folk Round by Kevin MacLeodLink: https://incompetech.filmmusic.io/song/3770-folk-roundLicense: http://creativecommons.org/licenses/by/4.0/
Transcript
Discussion (0)
What's the password?
Sorry, I missed that.
Swordfish.
Oh, wonderful.
Thank you.
And your mother's maiden name.
I keep forgetting that, too.
It would be Johnson.
Great, thanks.
And I was going to send you a birthday gift this year.
Could you remember?
Welcome to Dwarfortures Roundtable, the podcast for all things, Dwarfee.
I'm Jonathan.
I'm Roland.
I'm Tony.
And we are joined today by Ralph, who's the creator of Dwarf Fortress Storyteller.
Welcome to Dwarfurtress Roundtable, Ralph.
Hello.
Thanks for having.
So, hey, guys.
Ola.
We have a full house today, which has been a while since we've had that happen.
Mm-hmm.
So have you guys had a chance to play Dwarfortress the last couple weeks?
Well, I have very minimally been dabbling and doing all sorts of excitement.
things with Adventure Mode and in Fort Mode and Old Worlds.
Roland, you said that you introduced a new person to Dwarfortress, right?
Yes.
I actually got somebody to at least want to play Dwarfurtress after talking about
adventure mode.
Actually, about one day after we did that adventure mode thing, you remember that?
You remember that?
Like, the next day, Monday, I talked in school about Adventure Mode.
and she was very, very interested in that
mostly because I said that you can pet animals
so she's going to try
other than that
I also played some
DF myself
but it seems that my
current civilization died
and now I have to make a dwarven breathing program
to get anywhere
so my fort is just running
in the background in hopes of
like getting someone pregnant
I'm stuck at 24
and I want
at least 80
we'll see
cool cool
yeah I
I've been doing a fortress myself
and I built a brand new world
that I have named
Jonathan's permanent long-term
LTS world
so that I will just
catchy to use that hopefully
what's that?
Catchy
Yeah.
Catch your name.
It's good branding.
It's a world's long term, or the fortress long term?
That's the world long term.
Yeah, the fortress, I suspect, will crash and burn before too long because my fortresses typically do.
But I've made a point again to name my important dwarves so that if things start going bad and I retire the fortress,
I can keep an eye out to watch them migrate into my next fortress.
you have been doing a lot of development work Ralph
have you had a chance the last little bit
to play to play some Door Fortress and just play
it's been a while since I actually played
and then I played adventure mode because I was
researching for a D&D campaign I'm running
so I was walking around the town
that my campaign is going in and looking for
what quests and stuff the civilians give out
and for the rest I've mostly been looking at legend files
I've exported some of my old forts
that were still in like the previous version of a dwarf fortress
and they seem to not have died before I didn't want to play
and start of the new fortress.
So you've been playing dwarf fortress for quite some time, Ralph, right?
Yeah, I think like same as everyone, like played for a little while
then stopped and do some other stuff
and then I came back to it later.
That's, I don't know, like Mola five years ago.
So now, then I, when I started it, I can't imagine how I started it.
Like, I think someone recommended it to me or I found it somewhere.
I don't know.
Everybody, it seems, I don't know that there has been anybody that I have talked to
or that we've had on here who said, yeah, I picked up to a Fortress,
and I loved it immediately, and I started playing, and I've been playing ever since.
everyone, it seems, does at least one false start with it.
Am I right, guys?
Have we had anyone on here who didn't say that?
I think everybody has...
I think everyone does, yeah.
There's always the false start.
Yep.
No, for almost certain that's the case.
Well, that's a nice little segue into the pictures
that the Dwar Fortress Development people have posted to Steam,
and they've also posted it to the Bay 12 games site.
They've shown, they've added some Embark menu improvements that they're displaying.
So with the user interface improvements, hopefully that start playing, you know, find it impenetrable,
and then start playing again after a few months.
Maybe that will, that cycle will stop.
We can hope.
So Ralph, did you see the screenshots?
Yeah, like there are a lot of.
like different type of backpacks and stuff that I saw in there.
But wouldn't it be easier if you just have like backpacks and then like first of different types
before you have like this backpack is made from a yak?
This is, this one is made from a reindeer.
Like the scroll bar is not that large, but isn't like you have first the types and then the materials?
That's a really good point.
I ran into something like that whenever I was using the meth launcher.
Whenever you go to choose a pet and embark, you go to pick a dog,
and there are so many kinds of dogs that it's like five pages of dog breeds
that you have to pick from.
Oh, that's the MF one.
Yeah, you could have like Alsatians, and yeah, I mean, he went deep in that.
Powered to him for being one heck of a detail-oriented dude.
But it does make it quite inconvenient when you're sitting in the menu trying to find, you know, a donkey.
Yeah, and let's be honest, if I embark on a mission,
Like, I don't care if my backpack is made from turkey leather or wolf letter.
What?
How can you sit there and say that?
Well, all I can say is exquisite cat leather is all I care about.
The finest cat leather in the land, that's what I want.
I usually just go for leopard leather.
Ooh, a man of culture, I see.
I just want my shoes to be made from cat.
And this isn't necessarily going to be the last...
version of it, hopefully.
But, yeah, that is a good point.
I spend a lot of time just using,
or a lot of the times when I play,
I just use the, you know,
like the easy-peasy start or whatever.
I don't, or I've created my own that I sometimes use.
So I don't, I'm not that picky about how my starting and barks work.
I don't even, like, as long as you've got some of the basics,
it doesn't matter.
You can just kind of go with it.
It's,
You know, I don't, I'm saying, I don't think I'll spend a lot of time on that particular screen, to be honest.
Ralph, what do you think of the previous, the graphics style that they're doing for the monsters and the landscapes?
Oh, I really like it. I really like it. I really like the whole Steam release with all the graphics, especially the map. I love maps.
So I really like how the map looks now. It's going to look with Steam release.
I really like what Meph and May Day are doing with those sprites.
They are so cool.
I just think the details there in that pixelated way.
I like the fact that they've kind of unified and got a style gone.
I'm stoked.
I think it's going to be cool.
And I also will take it to one more place,
which is if they get modding sorted out to be relatively straightforward,
as in you don't need like a master's degree or anything in computer science
to be able to mod the game,
I bet you the mods on Steam are going to blow up like they have with Space Door Fortress.
Rimworld?
Yep.
I don't know.
Have you looked into modeling?
Yeah, it's not too hard.
Yeah, I mean, I don't think it's too hard.
I don't think you need a master's day of computer science to figure out how to do.
You're absolutely right.
That was a hyperbolic way of describing it.
But I do think it's, you know, I think it's more cumbersome.
and then, you know, I look in the shop and I can click and add things.
You know what I mean?
Like, it requires you to edit text files, which can be a little scary for some people, I think.
Yeah, if you just go to the, like, the Steam page, and you have, like,
oh, these are the Beatles from Crook Smash, and then just adds.
That's much easier.
Right, exactly.
Oh, that would be cool.
A tile set based on Krug Smash's artistic drawings.
It'd have to be a very high resolution.
I wonder what size tile set.
The biggest I've ever seen, I think, is 64 pixels.
I wonder what the largest the game would be able to support would be.
Like full screen as one tile?
Well, no, not necessarily, but with 4K monitors,
you can certainly have a 128 pixel tile for a...
Yeah, 128 pixel image for a single tile
with a lot of good detail in it.
Does the viewports change?
the frame rate, like, by a lot.
Like, you get framed at earlier when you have, like, big screens, or isn't that affected?
I don't think...
Tony, you play on a 4K monitor, right?
I do play on a 4K monitor, yep.
But I use the 32-by-32 tile sets.
They look good.
Yeah, but does the game run slower on your 4K monitor than on the full screen?
I mean, I don't start having speed problems until I hit about 100.
90 people and a 4, 200 people, then it starts kind of chugging along.
But I'm pretty good.
I can, yeah, I don't see any problems.
It doesn't seem to have any sort of impact.
So I don't think it's doing any sort of GPU or any sort of high tax anything.
I think this is a normal CPU stuff is still, I think that becomes a problem before the graphics would.
I think that's what I'm trying to say.
Let's hope it's not on this team release either.
A little problem because there are like 15 layers for every dwarf.
that has a render, so I imagine there was, like, much more going on.
Yes.
Yeah, once it got loaded, though, if then they should just, most likely just be there.
Even a 16-frame animation at 32, at 32 pixels isn't going to take up a whole lot of RAM, wouldn't think.
Well, in any case.
I don't know the details of how it's implemented.
Yeah, I don't either.
Soon we will know everything.
well I'm not even so sure about that
I think that they may end up keeping the
how they implemented the tile set
maybe they'll be fairly open with that
or as open as they can be
because it's not actual game content
it's not gameplay
it's display mechanics
but yeah there's a lot of secret sauce
and Royal Fortress that they are
guarding
that's fine because I think that we've talked about this before
I really don't mind games
being closed source for various reasons
but one of the biggest ones is
NetHack is an example of
something that you have
that people can go into and all of the
secrets are just there
to be known so I appreciate
a lot of the
a lot of the secrets yeah I think it's probably
good on two fronts one
like you don't want to over promise and then under
deliver because then people are just kind of like
oh you know what I mean and
so I think there's some of that I think
he probably has huge aspirations
for what he wants to do.
But at the end of the day,
it's sort of like,
how much can I get done
before I need to actually put out a release?
Because otherwise,
I think he'd never release anything.
So I suspect that's some of what's going on.
But also, I think it's just like maybe he doesn't even know
what's going to make the release.
Or, you know,
it's like he might have spent six weeks working on something,
but it didn't quite come together like he wanted.
So I suspect it's much more of a,
I would say, a true agile,
software development, as in he just sort of works on what he feels like working on that day.
And I think that's awesome until the steam thing started happening.
Yeah, and I bet you as soon as the steam thing, as soon as Steam release one happens,
I bet you things kind of return back to the way that they were.
I think he's just trying to get the steam thing done.
And then he can be like, okay, now I'm going to go back to this.
It's probably going to like take a small break first because I can imagine that the steam thing is really stressful at the moment.
you bet i'm sure
that that dude is probably just
you know not sleeping
he's really trying to i can you can tell
just by this you know the pace at which they're sending out updates
that they're definitely like he's definitely putting a lot into this right now
yeah ralph do you have a feel for when you think he's going to release the uh
steam release uh well i cannot look under the hoods what they have implemented or what they
have not done but like i like this is pure guessing yeah the screens that he
published he said they were already implemented
into the game so that means like
most of like the core
work is already done
like they have screens they have
the graphics on the actual
mapped like the actual
tiles done
so most of the hard work is done
now is just like a lot of like
all the different sprites all the different
edge cases
like of course things like the
military screen and stuff like that
they have to
think about how to rework that
and how it will actually look.
So I think there are still
quite a lot of things to do, to be honest.
That military screen is going to be tough
because there is so much detail
in that that you really
can't gloss over, just the way
that the squads work
and equipping the squads and things.
Unless they just do a pretty
representation of
the current actual interface,
I would suspect that
they're not going to be able to change the
they'll be able to change the visuals,
but probably not the functionality
of the military,
at least until he makes changes
to the way the military works in general.
I think they will probably
overhaul it all at once,
because it's sometimes more difficult
if you do it in two stages
than just doing all at once.
Maybe we'll have a full-fledged military screen
that's much nicer.
But then again, I've not seen anything
about legends or adventure modes,
just yet so narrows also some
things that still
have to be worked out, I imagine.
Yeah, I think the
military stuff is going to be
really confusing for people
when, if they're not familiar with
it, and that's okay, you know, whatever,
people figure things out pretty quickly, but
I
feel like that could, I mean,
I get confused and I feel
like I'm still too dumb to get archers working
properly. All I can get them to do is hawks
or crossbows of people. I want to ask
that guy who gave us the details on the archers to be on sometime soon, because I think his name's Byron,
because his write-up for the archers was really nice, so he would be interesting to talk to
about his procedures, and beforehand I'd like to see if I can implement his procedures,
because I would like to have archers that actually arch.
I usually just close my gates, have like a wall with arches on top, and then it cannot run out
and hits the creatures, and then it will actually shoot.
And it seemed to work fine on my ends.
Yeah, this Byron person indicated, though,
that if you train them correctly,
then that is something that you won't even have to worry about,
that they will work the way you would expect them to work
and not try to run out and bash them over the head with their crossbow.
I think that the biggest thing is you want to make sure that your archers
at their highest skill level is with archery and not with, say, a mace,
because then they will go out and try to use the crossbow as a mace.
Oh, right.
It is a recurring theme on this podcast to get lost in the minutia of archery.
There's just so much there.
Hey, did you notice that they put out another Dwar Fortress Talk episode?
I did.
I saw in the Reddit comments, they're back.
it's going to be a regular thing now.
So that's cool.
I like to imagine that he came on onto our show,
realized that he really liked talking about it
and then went ahead and went back to his own thing.
Probably not true, but I like to imagine that, yeah.
I think it probably helps have that encouragement.
I think it probably did help.
While we talk about it from the players' point of view,
we can't even begin to talk about the development side, really.
I mean, we talk about what they tell us, but we can't get into his head, of course.
Nope.
Yeah, like, looking into development is really interesting sometimes,
like seeing how it works under the hood.
And that seems to be a lot.
Anybody else have any development, at least dual fortress development?
We're going to talk all about dual fortress storyteller development here in a moment.
But do anyone have anything else they'd like to add or bring up about the dual fortress development?
reports and progress
all right
I will take these silence as a
indication that we should move on
okay
this segment has been brought to you
by Eurist's mosquito brain flower
because they aren't mosquito brain biscuits
without mosquito brain flour
the most important thing about fortress keeping is
remembering to seal the ocean plug before fall
So Ralph, you have developed a utility called Dwar Fortress Storyteller
and would you just tell us a bit about it.
What's it for?
Who's going to like this?
Well, I hope a lot of people are going to like it.
I didn't mean it quite the way that came out there.
Yeah, so yeah, who's your target audience for this?
it's basically something that you put
like it's replacing
it's something that works
in between dwarf fortress and a visualizer
so in the past you have like
a legends viewer and legend browser
and there are some other ones
but those are the two most popular
but when
when the fack or dwarf fortress
has an update like
the XML that it exports
changes a little bit, so there are some bugs in there.
And visualizers have
problems with how the changes happen, so they have to be
updated to work with the new versions, and that sometimes
takes a while because they are not, well, maintained anymore
or, like, heavily maintained.
So that's basically the problem I wanted to solve
because, well, not having a legend viewer is
annoying and I really want to look at all my legends and there are way more interesting stuff
in there than you might imagine. So this is basically something that reads all the XML files,
all the Legends files and creates a small API that you can use to request a list of all the
historical figures or a list of all the events that happened or you only want to look at, I don't
know the artifacts that are created in your world and see what their descriptions are.
So you can very easily look at those things.
I probably should have prefaced this segment by telling people that this is going to be developer heavy.
And for those of you who aren't programmers, an API is a set of commands that you can send to one
program to let it interact with another program.
It's probably the best way to put it.
Yeah, indeed.
ask a simple question like give me a list of all the all the artifacts in this world and then it will just return like a file with all the artifacts and you have like different commands for different things so yeah so yeah I think it stands for application programming interface or something close to that yeah so this is an HTTP API is that right yeah a restful API is usually describe us that there is also a GraphQL
API, but that's not fully implemented
at the moment. Oh, that'd be cool.
That makes like requesting
relations between data
a little bit easier, but
it's not fully implemented.
But that's promising.
I'll just put it that way.
Does Restful imply that you can actually write
to it as well? Is there,
can you actually use your
Door Fortress storyteller
to tweak what's
in the Legends data?
Technically, yes.
but we're not there yet. We're only in read-only mode. So you import a legends and you cannot
change it. You can of course change the database. So when it imports a world, it stores it in a local
database and you basically ask questions into the database. So that means that whenever you
have your visualizers open and you already have your world imported, it uses like basically
no memory and no processing power. So it doesn't actually have to like,
look through everything.
When you request something,
it's very quick to respond back to you.
And sorry if I'm too technical.
No, that's fine.
Just hold me back.
So what I'm wondering is, like,
can I just leave it open the whole time?
Or is it something that's like,
does it make a, does it make a cache of the,
you know, is it reading live?
Or is it, does it make a,
does it do what it needs to do offline?
Yeah, everything works.
offline so the API is basically runs from your server but you have like two
stages in 12 photos sorry to tell you first tell it I want to import a world and these
are the legends file that you just pointed to the legends files and it will
basically look through all the files and see what is there and save it to a
database and the database is just by default if you use SQL lights it just sort
it into a file, Postgres is a little bit, just a different program, different database.
It doesn't really matter for now.
But it basically, like, stores everything locally, so it can very easily search back into that file.
And then you, like, it finishes with importing, and then you tell it, oh, okay, I now want to, like,
view World Five, for example, because you can import multiple worlds at once if you want to.
And you can say, like, I want to view World Five.
and then the API will start up
it will start up in like
three seconds, maybe not even two seconds
and then you can just like
ask questions like what are all the
artifacts, what are all the
regions in the world which
villages exist or something like that
does it have its own export routine
I know that you can use DF hacks
to export the Legends data
so that I can't remember which one it is
either Legends browser or
Legends viewer one of the
to need you to do the DFHack Legends Export before you can use it.
Do you use that same mechanism?
Yeah, we use the exact same.
The Export Legends command in DFHack.
So you can use that to, like, export everything from dwarf fortress itself
and also from, like, DFFC custom things.
What data format does that file that it exports sit in?
Is it an XML file?
Yeah, it's an XML file, both from DFHack and the dwarf Authorses both XML files.
so we basically take those two files and look through them
and because like the DFHack file that it generates adds more data
that is already in the dwarf fortress files
so in the dwarf photo files it will just say like oh this is
these are all the historical figures and these are the names
and this is a data born and the FHack for example will say like
oh they were in this conflict and this happened to that person as well
and here are some extra info about the race of the person and stuff like that.
So the DFFHack file is basically adds more information,
but Dwarfwaters storyteller is written that you can like do anything basically with it.
So you can only give it the Dwarfodress file, you can only give it the DFHack file,
you can give them both, you can even give it the images and it will import all the images
and it will look through for all the other files.
And it will also combine them all into the same thing.
So if you ask for all the historical figures, it will give everything it found in the 12 Fortress files, but also in the DFHack files.
So we use the exact same mechanism.
You've made this API, this Dwarfurtress Storyteller, available to other developers, other modders,
so that it will make it easier for them to create utilities that can make Legends access be more user-friendly for Dual Fortress players.
Do I have that characterized correctly?
Yes, exactly correct.
So I wanted to create a way for other people that are a little bit more design focused than I am
to be able to just have like, I don't know, a graph of all the events that happened in the past.
And you can very easily like request a data engine just put it in a nice graph.
And I think I have some visuals that we can maybe put in.
the show notes. Absolutely. Yeah.
And also in
the latest updates that hopefully
will come out before the podcast goes live
but it probably should.
That has like a built-in
viewer. It's an example
and there are some more examples that I put
on GitLab
to like give people an introduction
of how they can create it.
And you don't have to be technically savvy
in order to do it. I added
a lot of comments and documentation.
so it should be easy for people to get started
and maybe modify the existing examples.
Can you let people know, and I'm trying to look it up here as we talk,
but you may have it off the top of your head.
Can you let people know what the address is to the repo on GitLab?
Well, just search for the DF Storyteller in GitLab
or just go to df storyteller.com.
I also bought a domain name for it.
And there you have links to, like, where you can download it,
where you can find the GitLab on there.
There's also a guide we created that basically steps you through
how to install it, how to set everything up,
how to export a legends from Dwarf fortress and DFX,
and how to add new visualizers.
I forever have been looking to get into modding and utilities and development around
World Fortress, and I've never actually stepped into it.
This seems like it would be a good way to do it.
It's really not that difficult.
I create most of the graphics I created, or I created it on like three hours or something
like that.
I like requested a data and mostly it's styling and what data you want to view.
You can view the documentation of the.
API also online so it's just a website but it's also like everything is baked
into the executable so once you download it you can have your local API you can
just easily request the data you don't even have to like well you basically open the
documentation click a button that says try try now or just say try and it basically
request the data for you and you can view how it looks and also on the side it says like
oh this field for example the name of the historical figure in all lower caps sounds easy enough
to get started with i hope it is if it isn't i failed in my job so how long have you been
working on this project uh for way too long to honest uh i think i've started this in february
so it's six months now so it's been your covid baby right sorry
So it has been your COVID baby.
Yeah, basically, yeah.
It just happens that I started with D&D and D&D session that was based around the Dwar
Fortress World, so I did a lot of digging through the Legends files for that.
We had a guest on about a year ago who actually created an RPG around Dwar Fortress.
It's pretty neat.
Yeah, it's the same I did here.
My players, well, we're currently on holiday break because everybody had to go on holidays.
But after, in a few weeks, hopefully we'll start again.
And we will continue because they were trying to overthrow the government.
It was made of goblins, and they didn't like it in their human civilization.
And that's also why I started on Dwarf Water Storyteller,
because I wanted to view more data in the legends.
And it got out of hands real quick.
That actually answered the question that was going to become next.
It was going to be what particular event first inspired you to embark on a project like this and create it.
So it was a side effect of a D&D session, huh?
Well, a D&D campaign.
So there were a lot of missions.
that I created in there and were still playing in it.
And it's a lot of fun to have, like,
because all the players I play with have never played Dwarf Hortress.
And so I put them in the Dwarf Fortress world,
and it's really fun to see them, like, explore everything.
And because all the legends viewers that are used up until now
to create that,
because Dv's A Fortress Storyteller wasn't created back then,
or wasn't finished.
It was fun to look around and see, like, oh, this person is a very good liar.
So when they spoke to that person in D&D, he was also a good liar.
So it's really fun to, like, look through everything.
We're currently looking for more people to create visualizers,
because currently you can download Dwarfotter Storyteller,
but there's not really that much to look at at the moment.
amid the UI is command line, and Windows is not really great for command line utilities.
Linux and Mac are way better at that, but hopefully someone will create like a graphical
user interface for 440 Star-Teller, so you can more easily start it and don't have to
figure out how PowerShell or command prompt works.
Yeah, I think that you're the people who are going to use it, possibly, I don't know, that may be an overgeneralization,
but I think that people who would think to use a tool like this API to create a new interface for Legends mode,
they're probably going to be fairly comfortable on the command line in any case.
Yeah, they probably don't have a problem with the command line.
And also the commands are really not that complicated.
you have to basically know how to import
and how to start the server
and those are two commands
you have to know but that's basically
it's just that
for less technically savvy people
it's a bit more complicated
just to know what you want to do and how to actually
get there
a lot of debugging
but I hope that
when new visualizers come out
they can just include
door photo storyteller
what's their visualizer
and they just make a button that you click
and then you can import a world and a little
button that you click and then you can start it
and view it. So they basically
use it under the hoods
but don't have to like use it directly.
Are you the only contributor
to the Door Fortress Storyteller repo?
At the moment
not the only one.
There are two people who contributed.
One that has a spelling mistake
on the read me file and another one
already looked into the code quite a lot
and you already fixed a lot
of linting errors and other
problems in the code.
And you developed this
in Rust, is that correct?
Yep. It's a very wonderful
programming language. If you
ever, if you're into programming
I would highly
I would highly recommend learning Rust
the programming language.
The code for DTF storyteller
is also very separated
so it's not that
difficult, I hope, to get started when you look at the code. But just as a separate thing,
you can, it's a lot of fun. The rest is a lot of fun. I'm most comfortable whenever I pick up
a new language. I seem to do better if it's a C-style language, because that's what I'm
most comfortable with. Is it a C-style, if you will, language, or is it closer to something like
Python or...
Oh, no, it's very similar to C.
Okay.
There's some little quirks.
You have to, like, know that are different from C++C, or C.
But it's mostly very similar.
You will be very comfortable starting with rest.
So if you know C, then you probably won't have problems picking up the language.
It's, well, I wouldn't say marketed, but it's mainly marketed as a C
replacement. So C++ or C replacement. It's
developed by Mozilla, the company that creates Firefox.
And now the program language is like open source, so it's
separate from Mozilla. But they started it. And
it has a lot of benefits that you wouldn't imagine
it has from the start. For example,
there are a lot of like tiny things like compiling your code. You don't have to
like figure out how make files work
and stuff like that.
It basically handles that all the other hoods.
And it's very easy to install new packages.
When it compels,
it includes all the dependencies
inside the binary, so you don't have to like
deal with, oh, it works on my machine, but it doesn't work on their
computer because they don't have this in this library
installed.
So it's very nice.
Yeah, I could actually sit here and go deeply
into the dev
because my next question
was going to be
is it interpreted
but then I realized
that this isn't a
development podcast
it's compiled
okay
so a lot of this may end up
getting cut out
and will be available
only to the
to the people
who get the
bonus content
on Patreon
so
but
if you're into development
rule
you should check that out
so let's see
there was something
else was wanting to bring up
back
so Roland
and
Tony got very quieter.
Yeah, you know...
Let's let you get on with it.
It's mostly because I honestly have no idea
what you guys were just talking about.
You could have conversed in Chinese.
So I'm just going to ask all over again
because I don't know what you gave as an answer.
so as far as I got was
you have
something that makes a lot of graphs
I have something that makes it very easy
to make lots of graphs
so it is more based on
graphics and graphs and like
no it's not limited to that at all
you can have like
to just give an example
you're comfortable with like
Legends browser or Legends viewer
like you've seen those
you can recreate those
with
for the storyteller
you can very easily like
oh I want the title bar
I want the name of my world
I mean you just ask the API
what is the name of my world
okay and then you fill that in
and say like oh I want this here
I want the list of all the civilization
I have in my world, and then it will just give you a list of all the civilization, and you put them in a list.
Then you say, like, oh, but I want also a pie chart, like, I think Legends fewer has it,
has, like, a pie chart of how many goblins or humans living in your world.
And then you ask the API for, like, oh, give me a count on how many humans or goblins there are in this world,
and then just gives you accounts.
There are like 5,000 humans, 2,000 goblins in this world.
And when you actually create a graph,
then it's very easily just like put in the numbers
and combine it with the values.
So it's very easy to create something like that.
Okay, so I as a user am able to like customize how this program looks to me.
Yeah.
So that's going to be cool.
I mean, I think you're going to probably, hopefully, start seeing people do some really cool things
and then the non-techie folks can kind of just download and use those, right?
Is that sort of what I'm...
Yeah, cool.
Yeah, so I'm just putting some pictures in the Discord.
I think there will be in the show notes afterwards.
So here you can see some plots.
This is the utility I wrote to, well, for myself to check.
if everything is working. So this is just a timeline of what happens in a particular world.
So there are two different worlds. One has 1,000 years and the other one has like 100 years or 125 years.
And it just shows how many events happened, how many historical figures got born, how many died, how many relationships changed.
You can see spikes in the data. And when you see like a spike in the amount of people that died,
oh, there's probably something that happens around that time.
And then you can look into that more.
So, Ralph, correct me if I'm wrong.
But Roland, I think that this project is not going to be as much interest to people
who only like to play Dwarf Fortress,
but it will be of extreme interest to people who are interested in making mods for it.
Yeah, I hope that it is a catalyst to creating lots of visuals around Dwar Fortress.
Anything that keeps me from having to parse XML myself, I like.
We give it back to you in Jason format.
I think Jason is a little bit nicer than XML.
And in JavaScript, it's very easy to, like, parse it again
because it always returns valid Jason.
Did that answer your question, though, Roland?
Yes, I think so, even though the last part was a bit too much again, but yet.
it's hard also
I really want to urge you
to put the last picture
somewhere in the show notes
because now it actually shows
that there's more than just grass
you can like customize things
and you can see
it's good
you know it's good
before I was like oh okay we have grass
but this is more like
I can see
yeah with your permission Rob
I probably use that as the
as the featured image
for the show.
And one last question.
Sometimes you kept referring to
like we
when you spoke about the development.
Did you do that on your own
or had you help?
Let's just say it was 99.9% my own
and it was
in the last few weeks
some people helped with a few things.
And I also
Some people that work that's debugged it a little bit, so thanks for those people as well.
That's very cool.
But if you want to contribute to the code, the code is on GitLab.
Give it a try.
The most important thing about fortress keeping is relaxing.
Just sitting back, letting your fortress roll the way it wants to roll,
and picking up the body parts when the chips fall.
where they may.
We last week started recording our first video series.
It is a, the idea is that we're going to do an adventure mode play-through with me
driving the character and Roland and Tony giving me advice on what to do next.
So we've got the first hour or so of content recorded, and I have,
begun editing it, and I hope by the time
this particular episode is
released, I hope to have the first
episode of that, the first video
up on YouTube on the
DF Roundtable channel
on YouTube, so be sure to
check that out if you haven't.
We mentioned that last week on our episode,
on our last episode that is,
and we've gotten quite a few
actual subscribers to the Door Fortress
Roundtable YouTube channel, so
that's interesting.
I was just about to say everybody should
subscribe to.
in a YouTube channel.
Although right now
there's only one video
and that was
an early live stream
of the episode.
But yeah, that will be changing
hopefully by the time
you receive this podcast
in your feeds,
you will have new episodes.
Sorry, you will have new videos
out there to look at
and watch me stumble around a world
as a adventure mode character.
We can see
all the interesting ways
Jonathan is going to die
All right
I think that this
might be a good time for us to wrap up
I know that we all have things that we need to do
you folks over there in Europe probably need to be
going to sleep soon
It's hot for a lot
It's good so
We'll get to bed
Anyone don't stay up all late sleep is good for you
It's restful
The pun
That only a few people are going to
to get.
Wait, that was a joke?
Yeah, Restful is a programming term.
It's got to do with how, with APIs and requesting information from web servers.
How dare you?
Capital R-E-S-T, lowercase full.
Shall we do it?
Yeah, yeah.
So everyone, thanks for tuning in.
Thanks so much, Ralph, for joining us.
What was the pleasure?
Yeah, thank you.
you so much. I'm really looking forward
to playing around with this thing. It's going to be great.
Is there a way for people to get hold of you, Ralph,
to see what you're doing?
Check out a 12-Fotter Storyteller. There's a link to the Discord,
and I'm on there quite a lot.
So you can contact me
through there. Otherwise, just
check out the code, create some nice visuals,
and if you're not a programmer, it's not
that difficult. It's a good way to get started
about programming, I think, as well,
because JavaScript's on itself
is not that difficult. And
If you have questions, just feel free to ask.
I would gladly help you.
Okay, great.
All right.
So with that, we're going to, in this episode of Dwarfortress Roundtable,
and everyone have a great week.
Yep.
See our roles.
Bye, bye.
Bye, bye.
This has been Dwarfortress Roundtable, the podcast for all things dwarfy.
You can find all our past episodes at DFRoundtable.com.
Please stop by and leave a comment or suggestion in the comment.
section for this episode. While you're there, you can subscribe to Dwell Fortress Roundtable
or find us in the podcast service of your choice. Music for this episode is from
Filmmusic.io. Skycullen and Folk Round are both by Kevin McLeod. You can find more music from
Kevin McLeod at Incompetec.com. Please consider donating to the creators of Dwarfortress at
Bay12 Games.com. If you'd like to help support Dwell Fortress Roundtable, you can find us on Patreon.
on. Links to all of these are in the show notes.