Dwarf Fortress Roundtable - Ep. 97: DF Hack Corner with Myk from the DF Hack Team
Episode Date: February 12, 2024Hey everybody - Great show with one of the leaders of the DF Hack dev team. We discuss the newest release of DF Hack and lots of other things, including some silliness (as usual). Hope you enjoy lis...tening as much as we enjoyed making it! DF Hack Docs Link to join the DF Hack Discord Server
Transcript
Discussion (0)
Welcome to Dwarf Fortress Roundtable, the podcast for all things Dwarfee.
My name's Jonathan.
I'm Roland.
I'm Tony.
And I'm Mike.
We are welcoming Mike in from the D.F. Hack team.
Welcome to Dwarfortress Roundtable, Mike.
Thank you very much.
It is an absolute honor to be here.
I'm very happy to have the opportunity to talk to everyone.
And I've always loved this.
podcast. Well, thank you for joining. The honor is ours. You just had a big release this week,
right? Of DFA. Yes, 50.11-R5, which is quite a large number for releases we can get in for a single
Door Fortress version. A lot happening with that release. It's twice the size of normal release,
largely because many contributors had extra time during the holidays. And so we had an influx
of contributions. And of course, I had a little more time myself and got in a lot of good coding time.
So a lot is happening in this release, a lot more than it usually does.
And it's been a fantastic achievement to get it out, stable, and have everyone start playing with it.
How is the DF hack team administrated?
Do you have, like, a team leader, or how do you guys set up?
Lithazor is the DFHack lead, and he has the deepest knowledge of the technology and the longest tenure on the team.
But he's also quite busy.
So I have taken over a lot of the administrative functions, like release planning and a lot of the coding and community management.
So he is the leader, and I take up a lot of the responsibilities that he doesn't have time for.
So you said that there was a lot of a lot more contributors this time than typically you have.
Is that the contributors, like number in the tens or the hundreds?
It is all over the place.
We always have a steady conversation.
going on the D.F. Heck Discord about ideas that people have. And I helped get them oriented
and walk them to the code. And then they start up PRs and pull requests on GitHub. And we do some
code reviews and talk about it. There's normally, I would say, three or four people actively
working on things. And then there's also a large number of pull requests that have been sitting in the
backlog for a while. And every once in a while, the authors will come back and work on them and we'll
talk about them and after maybe six months or so, they'll be in good shape and we can get them
merged and pushed out. So there's not a huge number of people, but there's certainly plenty
enough to contribute quality code and plenty of people to keep me busy talking. Yeah, if any of you
out there listening are contributors to DFHack and we screw something up about your program,
please let us know. I've talked a lot. Do either you, Roland Tony, have any
questions before we start looking at features?
No.
No, let's dive right in.
Let's dig in.
Okay, so let's see here.
So we were talking about, in a recent episode of D.F. Roundtable, about bridging two continents
together, and there's been some discussion on the Discord about the shapes that you
can have your embark location.
So it looks like this embark anywhere might be pertinent to that.
So what does embark anywhere?
Yes, that's one of the marquee items of this release,
where you essentially get to ignore all the warnings
that DF gives you about where it's not wise to embark
and embark there anyway.
So you can start connecting continents
by just embarking out in the middle of the ocean
and having your embark area adjacent to one that joins the shore,
and you can then have a series of embarkes
across any distance required to join the continents together.
If you embarked in the ocean, then the game isn't going to give you any land.
Therefore, your dwarfs are just going to drown.
It's funny.
It's hilarious to watch it.
So you need to start paused and do something about that.
Yeah, really quickly retire the fort because they go down.
It's tango down.
It's kind of funny if you're cruel.
If the ocean is frozen, then you do have some time to dig through the ice and get situated in the bedrock.
Oh, I see.
So like a dwarf fortress without an entrance?
Yes.
I mean, you could likely build some flooring over to the edge and then build a bridge to connect to the very edge on the surface.
And I bet that would work for allowing caravans and immigrants in and invaders.
Oh, actually, maybe not invaders.
because they won't have an actual path to the embark site.
Yeah, so you probably won't get anything, will you?
Because they can't actually path to it across the world.
Welcome to the Dwarven Fortress of Atlantis.
Yes.
The island city.
So when you do something like that, you might also be doing things that the program doesn't expect you to do.
So you could certainly probably cause some unexpected conditions when you do things like embark in the middle of the ocean where they don't.
never playing you to do.
Absolutely.
And yeah.
That's called the fun zone.
We don't really know how the game will behave in all these situations.
That is part of the fun of fighting out.
Maybe when the boat's release comes out, you can embark on a barge or something.
That would be awesome.
Oh, you mean in like 30 years?
Yeah, in 2040.
I'm excited.
So besides drowning your dwarves, what other kinds of places can you embark that aren't
typically allowed?
Like, I guess in mountain ranges?
Yeah, on top of the mountains.
that aren't normally accessible, likely having the same problems that you would in the ocean,
that you won't have any visitors because they can't actually path to your site location.
One of the most interesting places, I think, to embark would be inside of another site,
like inside of a Necrimenzer Tower or another Dwarven Civilization's capital or a goblin hive.
Super fun to do it if you haven't tried it.
Yeah.
And I think this will give you a little bit of a preview of what adventure mode might be like,
because these are the actual sites that you.
would be walking to an adventure mode.
Now, of course, they may be extended and modified a bit before adventure mode actually
comes out.
But if adventure mode were, uh, existed right now, this is what you would see when you
come to these sites.
They actually have warrants dug out in the, in the stone.
They have, like the Dwarven areas have forges and, and basic things set up.
Everybody seems to have a trade depot.
Tony, you talk like, uh, you've, did this utility used to exist or is this
something that was... I've done it back in the olden days on the 47 or whatever the last
pre-steam release was. Yeah, very unpredictable what would happen. I think I did embark in a
goblin, I don't know, fortress or whatever at one point in time, but there were so many
other characters there, the game just basically froze. Because I think there were like 10,000
characters or something. Because I kept getting people kidnapped, and so I was like, all right, fine,
I mean, it would bark right in middle of your fortress surprise.
And, yeah, it didn't go great.
The computer wasn't very happy.
It turned out.
So it was kind of death by frame rate.
And that's also a problem that could happen in adventure mode in 47.
Yeah.
Because if you can go to a goblin site.
Yeah.
How does that, how's that going to work out when you run into a site with like 3,000 dwarves or whatever?
That's going to be up to Putnam and Tarn to figure out, because I think that will be a problem.
They need to figure out how to either reduce.
the processing required for that or
just cap the population to something reasonable
per site? Yeah.
Hmm. Hmm. Indeed.
So that's Embark Anywhere.
So that was in
D.F.Hack 47, but
was just now being re-implemented
for version 50. Is that correct, Mike?
Right. Yeah. It used to be a
single feature in a tool called Embark Tools, which no longer
exist because the grand majority of its functionality
has been implemented in vanilla now.
Like the indicator of whether you have sand
at an embark site was part of
those embark tools.
But now the vanilla screen just tells you
that there's sand.
In the ancient annals of
metal bent, etched by the skilled hand of
Amrab, a tale unfolds
reminiscent of the olden sagas.
Approaching the year 10,
the resilient dwarven fortress
witnessed a resurgence. Despite the lingering plague of year seven, life bustled within its stone
walls. New generations blossomed through birth and migration, breathing vitality into
metalbent's once dwindling population. The resolute dwarves, facing two sieges, emerged victorious,
their halls echoing with the clangor of triumph. Yet, success bore its own challenges,
goblin prisoners overflowed the dungeons, prompting contemplation of a Grand Coliseum.
Amidst construction, the specter of unexplained deaths lingered, casting shadows on Metalbent's newfound prosperity.
M. Rob's ancient words bridge the ages, painting a tapestry of resilience and strife in the heart of the Dwarven fortress.
How long have you been part of the D.F. Hack team?
It's been, I would say, about three years now. I started because I started because I was,
I actually started because Python 3 was deprecating Python 2,
and QuickFort stopped working for me, the old Python-based QuickPort.
And I thought, hmm, maybe I can re-implement this in something more recent
and make it cooler in the process.
And so I worked on that for well over a year.
I think I just worked on QuickPort.
And in that time, I just became more and more involved with the DFHack team
and worked up to where I am now.
So it's kind of feel good whenever you see, you do.
utilities and features that were implemented by D.F. Hack, it's got to feel good to see those things
rolled into the vanilla. Absolutely, yeah. Like the search widgets that we added to DF50 are, that's
being used as the inspiration for what Putnam is doing now for 50.12. And so Putnam is going to
create search in vanilla for a lot of these screens. And DF hack served as kind of like the
crucible for figuring out what the feature might look like. And then she's taking that to the next
level and putting it straight into vanilla, which is great that we're able to bring that to all
of DF players and not just the ones that use DFHack.
Is each utility written independently in DFHack?
Do they all use a common programming language?
Yes.
So there's the core functionality of DFHack, which is simply a library that gives you a lot
of common functionality.
And then you have plugins and scripts.
Plugins are written in C++ and scripts are written in Lua.
And they're independent in that they have all the business lines.
in their own file, but they may call out to other scripts.
They may call out to the core.
They may use the Lua interop layer to access DF memory directly.
So they're independent units, but they do act as an entire whole across the program,
since there's more and more shared code as time goes on.
Yeah, I'm kind of a geek for knowing how the underlying programming and all that sort of stuff works.
So, yeah.
Well, for this next version, or for this version that just came out, I did just update the architecture diagrams for DFHack.
So if you go into the dev guide on our documentation, you can see some spreadsheet or some presentations about how the architecture works, at least at a high level.
Cool.
I will check that out.
So that's in the DFHack docs, or is that under on the GitHub page?
It's in the docks.
Cool.
And the dev intro linked from the main page of the docs.
It's called DFHack Development Overview
Near the bottom of the list of links
Sorry, I'm getting sidetracked here
There we are
No, that's okay, I'm also looking it up
DFX documentation
Quick start, nope
So the docs scroll down to where it says
DFX Development Guide
And right underneath that is DFHack Development Overview
It's that one
Got it! Ah, okay, cool
So how does the, you know,
how do you go about figuring out how to add
these features. Are you pulling up the game in Ida Pro and watching memory? Or what are you,
how are you doing this? So the first step, I guess, is to figure out what should you do? And, you know,
as the more I work with the code, the more ideas I come up with and I just kind of put them on our
backlog for later, later thought. But I would say the best place to go looking is on Reddit and
the Discord servers to find out what players are complaining about. What are players having a hard
time with. And I think, well, how is it that we could improve it? What's what are we, what's achievable
that would solve this problem? And it's very motivating to think how are real players going to be
having more fun with the game and how can we help them achieve that? So that, that I think is the
main motivation for where these features come from. It's just thinking like, what's going to benefit
the players most? And then I go back to, okay, what similar tools do we have? What architecture does it have?
And I'll start from there and go and just build it from scratch.
Like, for example, something that comes up a lot is digging through aquifers
and how absolutely terrible experience that is.
Every step you take, your designation disappears and you have to go redesignate it.
And your miners have walked away and now they have to walk back.
So I'm building a tool that will avoid that and allow you to paint.
You know, this is a damp dig area.
And then they'll just continue digging through the damp.
And it's a hard problem to solve, but it's also one that people are really affected by.
And so it stays on top of my mind.
And every time I have a thought that might further that idea, I go jot it down.
And then eventually enough ideas come together.
And then you get a tool.
Honestly, I think that's one of the first complaints that we had on the podcast was having to redesignate every time you freaking run into damp stone.
Yeah, it's really and hot as well.
or warm.
That was another one.
Like, man, I don't want to, I don't want to dig down.
I don't want to do this.
You're like, yes, I know I'm taking beneath a lake.
Yeah, it's like, it's going to be fine, guys.
It's above, we're cool.
Like, don't worry about it.
And it's just fine until it's not.
But, you know, that's a risk I'm willing to take.
Until it collapses and then you flood out your fortress.
Yeah, or you just dig into the fire.
Oh, well.
Right.
I mean, yeah, there's a reason those warnings are there, right?
So you don't want to make it unilaterally just ignore warm and damp.
You need to have.
something more nuanced.
Yeah, it's not mattress tags.
Yes, I'm digging, I'm digging, an aquifer tap.
I'm going to have to dig through an aquifer.
Yeah, it's not, it's not the mattress tags warning.
Like, I get that there's some value there.
Yeah.
I understand that I am taking the chance with my dwarves' lives.
I'm okay with that.
Yeah, it's a risk I'm willing to take.
I got to go.
I got stuff to do.
I got a fort to build.
More importantly, it's a risk that I think Eurist is willing to take.
Absolutely.
I mean, he has no, he has no opinion on this.
Like, I tell him to do things.
Urist does what I tell him.
There is no questions asked.
It's not a fair world, but it is a world.
He is like the strong silent type.
I appreciate that.
You're here.
Once I get this tool written, then my test is going to be, like, find an embark site that has like a 40 Z-level aquifer
and build my entire fort inside of an aquifer with drainage going everywhere.
and just have an entirely new way of playing the game.
I think that will be fun.
You can have water wheels.
Yeah.
Right, yeah, water wheels just like next to your bedrooms,
just as the water flows through.
That would be awesome.
Good degree.
That sounds like a, yeah, a lot of work.
But I would be very interested in seeing that actually play out.
If you manage to have a full, I imagine like an egg-shaped fortress and it's just surrounded by water and then it's rock again.
Yeah, interesting.
Sounds like a lot of pain, but cool.
I'm not going to lie, this is hard work.
These tools are not super easy to write.
Some of them are, of course, easier than others.
When I brought building plan to V50, that was.
several weeks of very intense coding,
keeping track of what items are attached where
and what you have to unsuspend at what time,
there is a good amount of code behind
that thousands and thousands of lines of C++ and Lua.
But it's definitely rewarding at the end
when you see people benefiting from it
and saying that they're relieved
that they don't have to deal with these issues anymore.
Yes. Well, we thank you for that work.
Yeah.
That's what I was thinking too.
Especially from someone like me
that doesn't know a lot about coding,
to me, it's basically like
you're doing magic.
You're telling me you're like the
wizard with the long beard that is
like doing fancy schmancy
spells. And I'm like,
hmm, cool. Yeah. Things float now.
Nice. I love it.
You know, I was just describing
what my friends could do with playing music
as seems like magic to me as well.
So I know what that feeling is like.
Yeah.
So squad equipment fixer.
That is another of the big
the big features that are coming out in the in this new release of df hack want to talk about that
yeah so yeah there's definitely some stories behind that it's something like the tool that that was
named uh uniform unstick existed back in 47 and it it did a lot of the logic here a lot of the
stuff that's coming up for v50 it's they're starting from tools that worked before and so
they're not starting from scratch which makes them easier to write right but of course we want to make
them more useful. We want to integrate them into the UI now. We want to make them more functional
and actually solve the real problems that people have. So one of our members on Discord updated that
tool, so it was basically working. And we got that merged. And then I thought, okay, where else can we
go with this? And it seems no one's going to use it unless it's actually on the equipment screen.
So I wrote an overlay that will add in that little button on the overlay screen that says, you know,
click this and run the tool. Because otherwise, no one's going to know about it. It's just not going to get used.
And then I thought, well, this doesn't really solve all the problems that people are having.
It solves some of them.
But it doesn't detect when the same piece of equipment is assigned to multiple people.
And then they can never fix that problem.
So now it does that.
And then it came up that, what if you have a minor assigned to your squad?
And his uniform isn't working because he's a minor.
And he has that invisible minor uniform that conflicts with the squad uniform.
We should warn on that too.
So we added that in.
So we added more and more features that are in theme.
and got to the point where now you click on it,
get the report, see what you can fix, what you can't fix,
and then just click the button, and it does what it can do.
It will unassign items that are assigned to multiple people,
and then when you next click on the update equipment button,
the vanilla button, it will go through and assign appropriate equipment to them.
So you can actually get those icons that were forever yellow
actually to turn green and have appropriately equipped squad members.
for some people the first time ever.
So it had quite a journey during this development cycle to come from where it was to where it is now.
Hmm.
Okay.
I like it.
Have you run into that before, Roland?
Yes and no.
I do get my military to be all green.
Actually, let me just click for a second and see if it's currently all green.
Ah, look at that.
It's almost all green, except for.
my archers, they usually
need a little bit of special attention.
It definitely has an effect,
or your play style definitely has an effect.
I also personally almost never
had this problem. That
generally the way that I play
for whatever reason ends up with most people getting their
equipment appropriately. And every once in a while I'll have just like
one unit that won't do it for whatever
reason. But in general, I'm all green as well. But I definitely
see this recurring statement
on Reddit and Discord
that this happens to a lot of people.
I have sometimes a problem where
my military
names an item and then
refuses to continue
to use that item.
So I have a lot of
spears and especially shields.
I have a lot of named shields
and for whatever reason
they simply don't want
to pick it up anymore.
Then I have to assign a new one and they
name it again and then the whole
thing starts again. So I have like, I don't know,
15 plus named shields
that nobody is using at this point.
I don't know.
Really? How often do you guys have
your armies
name their items?
It rarely happens for me.
Well, I mean, these are,
how you say, professional soldiers, so they're
not civilians that also
have soldier duties. They don't really
do anything else. So they, they
sit around and train constantly like professional standing army and uh yeah no they they do name
their their stuff fairly quickly and and it's always weird for me to see a dwarf name a new item
and like your your sword is just in a chest right there like just take it out just continue using
it no doesn't want it okay whatever so maybe that also gets fixed
by that. I would love that.
It's possible. I haven't heard of that
happening before, so I don't know if you've written
anything to specifically address it.
But find out.
Anything else that we want to add about the
squad equipment fixer?
I will say that it's
not complete.
There are definitely cases
that it can't handle
by itself, such as
if you have a unit that has
immigrated to your fort, that
still belongs to the squad
from his own old fort.
It can't fix that, but it will tell you about it
so that you can assign them to a current squad
and then unassign them to clear that state.
There's definitely more that could be done here,
and I'm sure once it goes out there
and people determine what its limits are,
we'll find out more information about what needs to be addressed,
and we can spend more time on those specific cases.
So you can have a migrant who is still a member of the squad
at his old fortress?
Yes, with the commands or the orders that he had
when he last left the fort so if he comes in with a station order he's not going to be doing very
much and you can't you can't fix it unless you clear that squad state well that's interesting
that that actually explains a few things about one dwarf i know that he is in a in a squad from a
previous fortress but i just let him be because you know he writes good books but good to know
thank you so so what he like if he's got a station order would just like come on
your screen and just stop and be one of those people who just hangs out on the outer edge of your
map?
It's something like that.
They certainly won't pick up any jobs.
Yeah.
Which is the symptom that I hear complained about.
Well, there might be a routine that brings all the migrants into like the meeting area
and from there before they actually get assigned to your fortress.
Because I think there's a lag time between the time they appear on the map and the time that
they actually get added to your population.
And they have that little migrant icon flashing above them for that time.
Yep.
Yep, yep.
Calling all dwarven artisans and seekers of true craftsmanship.
Are you tired of toiling away in mundane workshops,
surrounded by jealous masons stacking bricks like there's no tomorrow?
Well, fear not.
Guildhall manager Mondragar welcomes you to the net of boats,
the ultimate haven for craft swarves.
Here at Grand Guildhall, the net of boats, home of the company of labor, creativity flows like the finest ale and wisdom is shared over the clang of hammers.
Our craft swarves are not just tradesmen, they're artists, weaving tails into every piece they craft.
So, if you're ready to join a community where every masterpiece is a triumph and every dwarf is a legend, look no further than the net of boats.
Visit hall manager Mondragar today and embark on a journey of creativity,
camaraderie, and unrivaled craftsmanship.
Crafts Swarves of Metalbent unite at the net of boats.
Craftsmanship awaits.
GUE Reveal is another item that's on the list of new features in D.F. Hack.
Oh.
So what's the story behind this one?
Oh, yes, I'm very excited about that.
I am too.
when I was writing the release notes
you have to choose which tools
to highlight and
this one I was very excited about
but I just, I couldn't make that list any longer
and so I didn't get a highlight
but it was one of my personal favorites for this release
because it makes
revealing the map safer
something that I see repeatedly
complained about or like the advice that I see
on Reddit
a lot is that
you know run reveal when you embark
plan out your fort but don't
forget to run unreveal before you unpause. Otherwise,
everything goes crazy. And
what Goui Reveal does is that
it will reveal the map when you bring it up.
It will force pause the game, so
you can't unpause. And then
once you close the window of Goui
Reveal, it will then hide the map
again and get it back to its regular state.
So it brings the very common workflow
of do an X-ray of the map,
do some planning, and then hide
it again. And it makes it safe, so you can't
shoot yourself in the foot.
Okay.
You know, that was one of the things that took me a lot of time to get used to in the new version of Tour Fortress is that things that automatically paused the game before, states that the game was in no longer sometimes paused the game, like digging.
For example, whenever, you know, in previous versions, anytime that you were, had the, you were laying your digging plans, the game was paused.
So they didn't dig while you were planning things out.
And, you know, now while you're, while you're setting up the places to be dug, your miners can keep digging.
And in most cases, that's fine.
But it really is hazardous whenever things are going on behind a window and the game's not paused.
Yes.
So I take it that this would be one of those cases where that would be a good thing to not have things going on behind your window.
Yeah.
So what's the difference between the gooey slash utilities?
and just the regular utilities without the GUI in front of them?
Normally, if there is a bifurcation like that,
it's because the core business logic and the command line interface
is in the non-Gooey version of the command,
and then just the interface portion of it is in the GUI section.
So, for example, right now we have Building Plan,
which implements the core plug-in,
but once we do get around to implementing GUI Building Plan,
that will be the GUI interface for configuring,
all your material filters
without having to go through
the actual build interface to get there.
That's something that's on the plan
to get done.
Gotcha.
Or in this case,
GUI Reveal.
You know, Reveal by itself
has baseline command line functionality,
but GUI refill makes it more user-friendly,
gives it an interface they can actually see on the screen,
and gives you some, like,
live feedback of what's going on.
So with GUI reveal and reveal,
are they the same utility?
It's just that the GUI adds
the more friendly
user interface to it?
Yes, GUI reveal adds the interface
and then at the correct parts
of the logic, it will call down
to just the reveal command
to actually do the things
that it does.
So it's just a wrapper around the command line version.
In the shadowed embrace
of Metalbent, a whispered invitation
echoes through the stone corridors.
Temple caretaker Christopher Harris extends a beckoning hand to all dwarves,
whether familiar with the venerable Istrath-taught-valt,
dwarven goddess of riding in wealth,
or merely yearning to grasp her essence.
Enter the hallowed halls of the knowing cathedral,
where enlightenment awaits.
Behold, for nearly half of metalbent's denizens
already hold Istrath within their hearts.
Join your brethren in jubilation upon the expansive 2x7 dance floor,
where laughter mingles with the rhythm of life,
and marvel at the wondrous artifact,
Kolarkim, wonder races, treasure of the strong standard,
a testament to the splendor of Dwarven diligence.
In the sanctuary of the knowing cathedral,
Christopher Harris extends his hand in welcome.
Embrace the opportunity to delve into the depths of knowledge,
to commune with the essence of Istrath-Totwalt,
and to illuminate the path towards enlightenment.
Some other things that are in the new release.
So you've revised the control panel.
Is that the case?
That is true.
So the control panel is something that's been on my mind for a long time
because it's what I intend to be the easiest entry point to controlling DFX tools.
You know, two years ago or so, we put out this poll on Reddit for what do you want to see from DFFHack.
and the overwhelming majority,
like everything else was barely a sliver on the pie chart.
It was usability.
We needed much better usability.
And of course, I've taken that to heart
and it's been the main focus ever since.
But the control panel was one of the things
that came directly out of that,
that we needed a way to show people what was actually available
and what it does and give them an easy way to interact with it.
So when I wrote it the first time,
I gathered the tools together by how you interact.
with them, whether you clicked enable and they got enabled, or whether they were something
that ran in the background on a repeat loop that uses the repeat functionality. Those all got
different tabs. But as we started porting more and more tools and creating more and more new
tools for V50, those lists started getting very long, and the kinds of tools that were bunched
together were not very similar to one another. So this new version of the control panel then
now separates the tools by why you might want to enable them.
So all the automation tools are now together.
All the tools that affect gameplay in some way are now all together.
All the tools that are just straight bug fixes are just together.
So now you have a little more confidence in saying, okay, I want the bug fixes all enabled.
That's a no-brainer.
I'll look at these gameplay ones, and maybe I'll enable a few of those that look interesting.
And, okay, I don't like having to manually manage the farming anymore.
So let me go enable auto farm on the automation tab.
So it should be much easier to make confident choices about what you enable now.
And that was my goal for it.
Gotcha.
Yeah, I've got that pulled up right now.
I don't have anything to compare it to before because I don't think that I ever pulled up the DFF control panel before now.
Oh, oh, spear to my heart.
I'm so sorry.
I didn't know it existed.
What I always would do is I would click the little DF hack button in the corner and it would bring up the short menu and I would click GUI Launcher.
And from that point, that's where I would do all of my interfacing with the F hack from the launcher and not from the control panel.
Yeah, I mean, that certainly works.
And that sometimes is faster to do it that way if you already know what you're doing.
But for the grand majority of people who would like to see things a little more organized and presented to them, the control panel gives you a better way to do that.
Holy Toledo, look at all of these things you can auto start.
Yeah, I was just playing with that.
That's why I got to buy it.
Pretty neat
Oh man
Oh
Good Lord
So we need to have a
We need to work on
DF hack evangelism
All right
So yeah
This
Oh I like this
Oh look at all these things
You can auto start
Yeah
Yeah honestly
I just went to another tab
It's pretty cool
You don't even have to play
Dwar Fortress anymore
The game just plays by itself
now I don't want to
propagate that kind of sentiment
because that's not the intent here
and I can say that even if you have
all the automation tools on
there's still so much to do
and so much to explore
that I mean it's only for
if you actually find it more fun
to be concentrating on the other things
not everybody wants to spend all their time
doing the micromanagement
and a lot of these automation tools
are targeted at removing that micromanagement
and letting you make more strategic choices
more large-scale army direct
or megaproject or shaping the landscape with the water and magma.
Those are things that can't be automated that take a lot of human insight.
And those are the things that are most fun for most, I don't know about most, but many players.
So that's what we're trying to enable here.
We don't want the game to just play itself.
Yeah, that's true.
And that's what I was, I've had some conversations with some people online somewhere about Quick Fort and Dream Fort.
and it came up
if what your joy is
is setting up your fortress
then implementing DreamFort with QuickFord
is probably not going to be what you like
because it is definitely a
you know a ready made
turnkey system that set you up to go
but if what you want to do is get your fortress set up
with self-sustainability as quickly as possible
and then start building your you know your new colossus
then the dream form might be something that you're interested in.
Yeah, I think that's probably a pretty good way to think of it.
You know, this interview has made me gain some new planes.
And I'm getting ready to start a new fortress, actually.
So these controls in the control panel, these automations, do you need to do that at a world generation?
Or can you do that at any point?
So for the auto start, you can configure that at any time.
You can do that from the title screen
because what that controls is when you start
a new fort, what's going to happen
automatically? That's why it's autostart.
The sister tab to the auto start
is just enabled, which is what's
enabled right now. So
on the title screen, that's all going to be empty
because you can't really enable anything on the title
screen. But once you're
in a fort and you're playing, you can see
what's enabled right now on the enable tab,
and you can choose what I want to start next
time when I start a new fort on the auto start
tab. If I have a fortress that already
exists and I have not got anything set for Auto Start when I start that Fortress.
And I start Auto Butcher, for example, if I select Auto Butcher Auto Start from the control panel,
whenever I launch that next, that fortress that already exists, will Auto Butcher be enabled
or will I have to go in and enable it?
If you already have a fort loaded, then you'd be going to the Enabled tab and just enabling
auto butcher from there.
And once you enable something for a fort and keep it enabled while it's saved, when you load
that save, that tool will still be enabled.
Okay. You know, I think
we'll do that. Continue active game.
Yeah, yeah. The reason those two tabs
are split apart is because you may want
something started up normally, but then
you may want to turn it off. And then if you've turned
it off for a fort, it should stay off when you
save the game and load it again.
Cool. And I don't necessarily think
those questions are, whenever
you work with something
a lot, things that other
people might wonder are not things
that you might have considered that they would wonder?
does that make sense and things that you might take for granted maybe things that other people
might not take for granted yeah that's why i spend so much time lurking on reddit to find out
what people are actually saying so why don't we uh why don't we give tony a uh smooth out here
oh yeah i need to bail because that yep it's top of the hour and i got to go do work which is a bummer
but anyway there you go so tony's got to leave us now uh thanks tony and uh and
Adios.
See you guys next time.
Next time.
Yeah.
All right.
Bye.
See you.
Bye.
Bye, guys.
How quickly do you start hearing feedback from users whenever they run into things, bugs and stuff?
Yeah.
Feedback is tricky.
We always try to gather some information from users about what they want to see.
But it's hard for people to tell you how to do it right.
It's much easier for you to produce something.
And then it's very easy for people to say how you do it.
did it wrong. So we go that route more often.
Cunningham's Law. Yeah. We're familiar with it.
So that's why we put out the betas. That's why we have the testing branch and discuss it on
Discord. So I usually ask for feedback from a few people on Discord, and then we put out a
beta for something major and get some feedback from users there. It's hard to get feedback.
I normally discover what's working and what isn't more passively, just from seeing what
people say on on Reddit or on Discord does that in passing what they are frustrated with or
what they like. And then I take notes on like, okay, that worked or that didn't work. And then we
go try and change things accordingly. So yeah, it's not easy to get feedback. You have to work for
it. Yeah. Yep. Understood. I don't know. Do you have telemetry built in so that you're reporting
information back without the users knowing it? No. We don't have any telemetry like what's being
used inside of DFHack.
We do have the metrics that Steam gives us about, you know, what the number of players are
and how long they run it.
But, you know, that's just general volume information.
There are some files on your local hard drive that keep record of what commands you've run
so that they can be sorted properly.
And when you run the launcher, the commands that you run more frequently will be sorted
higher on the list.
So I'm considering at some point asking people to send me a lot.
that file, just so I can get a read of which commands are being run most often, but nothing
is sent automatically.
That would actually be kind of cool to have an opt-in to be able to do that.
I'm very much a fan of telemetry, and I actually don't mind opt-out telemetry for software,
but I know that that's a touchy subject in the FOS community.
Okay, well, anything else that you'd like to discuss for this?
So we're going to have you back on again to talk about a quick fort in detail.
We're going to just do an entire episode on that.
But this particular episode of Dwarf Fortress Roundtable is all D.F. Hack Corner.
Well, it has been an absolute blast talking with you.
And I look forward to next time.
So if people would like to contact you, Mike, how can they do that?
You can always tag me on Reddit.
I'm one of the moderators on the subreddit there.
so I'll always get that.
But if we want to have a conversation back and forth,
the best place is the DFFHack Discord.
It's HETPS-K-S-Sash-Sash-DFHack.org slash Discord.
We'll get you the invite and just come talk to us there.
There's a constant discussion going on about ideas and features that work and that don't work.
And we'll have a link of the show notes.
All right.
Well, thanks, Mike, for joining us on episode number 97 of Dwar Fortress Roundtable.
So for Tony, I'm Jonathan, and good luck and dig deep, right?
Yeah, thank you for coming on.
And I had a good joke and good Lord.
I was just about to remind you to make sure you got that in.
It was something about polar bears, wait.
Polar bears actually drink Dr. Pepper.
Polar bear, what?
What?
Yeah, there was some anthropomorphic polar bear commercials.
with Coca-Cola
years ago
that
anthropomorphize
grizzly bears
that would actually
rather kill you
Yeah, yeah, yeah, yeah, yeah.
But we had
normal polar bears
just drinking
Coca-Cola
while swimming
on ice.
Yeah,
you're right.
No, but that was a
real life.
Did you remember
your joke?
No, I think it's gone.
I'm sorry.
You can say goodbye.
Yeah, you might want
to write these down,
you know.
Yeah, you're absolutely right.
I'm going to write it down when I come out of the shower
because my brain is a sieve and, uh, um, it's okay.
All right.
So until next time, you all have a great day.
You too.
I'll talk to better.
Say goodbye, Roland.
You haven't, you haven't ever said goodbye.
What?
I haven't?
Oh, goodbye, Mike.
Goodbye.
It was an absolute pleasure to meet all of you.
Okay, so, well, I'll patch some, something.
them together to make that sound smooth.
Couldn't work.
This has been
the Dwarf Fortress Roundtable podcast.
You can find all our past episodes
at DFroundable.com.
Stop by and leave a message
or suggestion in the comments section
for this episode.
While you're there, you can subscribe
to Dwarfortress Roundtable
or find us in the podcast service
of your choice. If you'd like to
contact us by email, the address
is Urest at DF Roundtable.
table.com. That's U-R-I-S-T at D-F Roundtable.com. If you'd like to interact with the hosts and listeners
of the podcast, you'll find a link to join our Discord server in the main menu of our website.
If you'd like to help support this podcast financially, you can find us at patreon.com
slash DF Roundtable.
This is a conversational podcast. All Craftsworship is of the highest quality.
Thanks, Delfonso.