Dwarf Fortress Roundtable - Ep.14: In Which Alexei Talks Procedural Techniques and UI/UX With The Gang

Episode Date: September 9, 2019

Follow Alexei Pepers on Twitter at https://twitter.com/ampepers?lang=enMike Cook's talk on procedural content generation: https://www.youtube.com/watch?v=6SGEcrRFuv4Gillian Smith's work on visualizing... the output of a generator: As a chapter in the wonderful book Procedural Generation in Game Design (https://www.amazon.ca/Procedural-Generation-Design-Tanya-Short/dp/1498799191) OR readable as a whitepaper (https://games.soe.ucsc.edu/sites/default/files/smith-expressiverange-fdgpcg10.pdf)Roguelike Celebration: https://roguelike.club/Alexei's on Nethack source code: https://www.youtube.com/watch?v=5y_IAdOwaYs

Transcript
Discussion (0)
Starting point is 00:00:00 Welcome to Dwarf Fortress Roundtable, the podcast for all things Dwarfee. I'm Jonathan. I'm Roland. I'm Tony. And we are going to get to the second half of our interview with Alexi Peppers. But first, we would like to talk a little bit about Dev Notes that came out last week. So it looks like Toby is going to be doing some conferences. Yeah, it looks like there's packs.
Starting point is 00:00:30 and then FDG, which is happening the last week of August, which, as we're recording, is tomorrow. Looks like he's giving the keynote at FDG, and so that seems pretty cool. And then he's basically, it looks like we were just saying it's conference season, so there's no development happening until conference mania ends, which looks like it's first week in September. Yeah, there's been no mention in here about the fact
Starting point is 00:00:56 that we have now had the record for the longest time between releases. Yeah, and then he keeps talking about the big weight. And I was thinking, like, is this the big weight? How do we know that we're not in the big weight? Or is this like... I don't think this is the big weight. I think the big weight is like for magic.
Starting point is 00:01:12 Bigweight Jr. Is this big weight junior? Bigweight Jr. I think this is a standard operating procedure. Yeah. I mean, there's a lot that he's tackling here. So I'm hoping that maybe he's going to get so much done during this interval that the big weight won't be as big of a big weight as this
Starting point is 00:01:34 big weight. But I guess we'll have to wait and see. If indeed the big weight is about magic, then I'm not real interested so much about that. But I do hope that there is some tweaking that gets done when the next release comes out that kind of evens out the dwarf's temperament. Oh yeah. Yeah. Yeah. Right now it's all about fill needs. In D.F. Hacks, sometimes I'm, I think I mentioned this before, but I'm, I was reading a thread on Reddit and somebody was like, I just gave up, you know, like give these people everything and they still complain. And it's like, yeah, I get it. Like, I don't think somebody should be driven to insanity because they got rained on one time back when they were a child. But, you know, maybe. But it seems a little farfetched. So I'm quite happy to patch their moods occasionally. If I have somebody I can't sort out, I know it's cheating. But if it's something that. he's going to fix. Then I feel like it's less cheating than cheating. I have heard commentary that he has said there's a problem with it.
Starting point is 00:02:37 No way. I believe everything I read on Reddit. And that's what they said on Reddit. It was that he acknowledged it. You put it on Reddit. I believe it. It's fact. No one could lie on Reddit.
Starting point is 00:02:48 You can always kick out the dwarf, though. Exiles of the answer, man. You know, I did that one time. And then it turned out the person had like a whole family with him. and I was really mad at this person because they just kept causing problems so I kicked them out and then of course for me
Starting point is 00:03:05 when I kicked somebody out then I just immediately kill them because you know what good are you? Yeah I know it's it's a tough world but then everybody was really bummed out and I had insane kids and the wife was going crazy
Starting point is 00:03:19 and I don't know it felt like in retrospect maybe kicking them out wasn't the right idea but then you know I guess I didn't need to kill them yeah I know. Decisions, decisions. You know, I just feel like you do what you do. You know, you do what you think is right.
Starting point is 00:03:38 And at the time, it felt like it felt like being a psychopath was the right thing to do. So what are you going to do? I understand that, like completely. At least we have an eminently playable game right now. That's really the best that we can. 100%. Yeah. It's crazy.
Starting point is 00:03:58 playable. Okay, so let's go ahead now and get to the second half of the Alexei Pepper's interview, and we'll be back afterward to talk about the Bloodline Fortress. So change of direction for a second. Alex, you wanted to ask you, are you speaking at Rogue-like this year? Yes, I am speaking again at Rogue-like Celebration. this year. I'll be giving a talk on Prochgen practitioners, like a practical guide, which is going to be probably 50-50, if not 80-20 comedic to informative, which is kind of driven by the fact that my talk on the NetHack source code, I intentionally kind of kept lighthearted because not everyone knows C and wants to dig through the source code, but kind of part of my point in
Starting point is 00:04:56 giving that talk was to say that you don't have to know the programming language to be able to enjoy looking at the source code because there's amusing comments and things like that. And that talk went really well and people enjoyed it, which is nice. So I had this idea I touched upon in other talks where I feel like when it comes to procedural generation, people tend to have very interesting different relationships to it akin to magic. Some people see it as this kind of like vast unknowable force. that they're just kind of trying to manipulate to their own ends in a kind of mystical way, whereas other people try very hard to understand the rules and are more like a traditional wizard. So it's going to be riffing on that. And dwarf fortress is one where I think that the approach most of us take is to feel fairly cultish towards the altar that is dwarf fortress and the majesty of this great unknowable simulation. Yeah, that sounds cool. And I totally agree with you. So, I mean, as far as procedurally generated games go,
Starting point is 00:06:03 how do you think the emergence of things like machine learning, for example, how do you think that will impact the development of these kind of games? I mean, or is there an impact, or do you think it will have any influence at all? There definitely is. So there's already the cutting edge of procedural generation research in academia is really interesting. And something I like about Rogue Likes and find fascinating that I realize going to Rogue Likes celebration is that there's a lot more overlap between academics in Rogue Likes versus, like, I work in AAA game development, and there's a lot of distinction. There's not a ton of crossover between AAA game developers and the academic side of game development in the same way that AAA also doesn't tend to interact too heavily with Indies.
Starting point is 00:06:51 but rogue likes, A, most of them are sold not-for-profit. So most of the people who are working on them still have to have another source of income or things like that. And so a lot of people who are making roguelikes are also in academia or kind of were recently in it. And so there's a very tight relationship. And, yeah, machine learning and evolutionary algorithms are all things that the procedural generation community
Starting point is 00:07:19 are definitely using as ways to, come up with basically when you're making content procedurally, all that really means is that you're using some kind of algorithm where the algorithm is taking some responsibility for the generation of the content. You're not 100% in control. And it can be any type of algorithms. So machine learning kind of algorithms, evolutionary algorithms, these all can be used to generate content and have their own upsides and downsides. And something actually even more interesting in some of the questions of emergence is that machine learning and topics like that can be used to create methods of looking at the output of a generator and get a better sense of what is this capable of generating
Starting point is 00:08:04 and how do I understand kind of how things are fitting together because a generator quite quickly in systems can get complicated to a point whereas a single human game designer you can't really look at it and understand all that's going on. I mean, I don't know. know about Tarn because he's kind of a genius. But I'm sure that even he can't predict 100% what's going to happen in Dwar Fortress anymore because it's gotten much too complicated. And so you start taking advantage of machine learning and things like that to understand what kind of things can this generator make. And then once you understand that, you can better tweak the parameters of your generator in order to make the type of content that you want. Oh, I see. So you're saying
Starting point is 00:08:48 you'd be able to essentially or theoretically you could you could almost have the game kind of watch what it's generating and then offer you alternatives on how you would tweak your algorithm to make it more like what you were hoping it would be did i say that right yeah no that is right so there's um there's a woman called jillian smith who's written some cool papers on basically using software to basically give you an image that represents the type of content that you're generating and is making. And so in that case, you would look at the generator and you could see kind of like hotspots. So something like if you were generating a platform or level, you could rate it based on difficulty or something like that. And then you could look at this output and say, oh, okay, right now I'm getting a lot of really high difficulty levels. And maybe I don't want that. So I'm going to try tweaking some parameters to see if I can get a more even distribution. And then Mike Cook actually just gave a talk for a summer school on procedural generation, which is up on YouTube.
Starting point is 00:09:48 We can maybe link it in the show notes or something. I will. Yeah, and he was talking about some new research, which does exactly like you said, Tony, and that it can look at that kind of range of what's the generator able to make and use that to give the user more fine-grained control over the parameters so that they can basically have a slider
Starting point is 00:10:08 of like, okay, how difficult do I want these types of levels to be? And even though it might be that, like a small change in this particular parameter actually would have a vast change in difficulty. Because this software understands that, it's able to know that when you say you want like 50% difficult levels, to actually set the parameters behind the scenes to whatever they need to be to achieve that type of level. Very cool. Yeah, it's all super cool stuff.
Starting point is 00:10:39 Whenever you generate the map on Indoor Fortress, when you do the world generation, whenever you go into adventure mode, you've got ruins and you've got tunnels and fortresses and goblin pits and all that that have their their hallways and rooms and the whole thing designed underground. Does that all happen at WorldGen or does it happen as you explore? You know what I'm trying to say? Yeah, yeah.
Starting point is 00:11:05 Is it all like, is there an element of runtime generation where as you encounter something, which is, you know, I'm pretty sure if I'm wrong, that'll be sad. But I'm pretty sure that in something like NetHack, when you go to a new dungeon level is the point at which it generates it. I know at least Angband. Angban generates your levels as you go to them because if
Starting point is 00:11:27 you go up in Angband, you don't get the same level anymore. It regenerates a new level. In NetHack, whenever you go, one of the tricks in NetHack is to go down a level immediately on finding the staircase down and then come back up because it sets the difficulty
Starting point is 00:11:43 of the monsters at your level whenever you are. Oh, that's fascinating. I didn't actually know that. I always do that just because then I know where the stair is if I fall down a pit. There are certain circumstances, and I'm not a good enough NetHack player to be able to tell you, but there are certain circumstances where that is really helpful to the player to be able to do that. Yeah, and I don't know, because with Legends viewer and stuff like that,
Starting point is 00:12:07 it seems like Door Fortress does a whole lot of upfront deciding of things. but it would make sense if when you're an adventure actually go to a place for a first time that that would be the point at which you would actually generate the hallways and the rooms and stuff like that but then I don't know that's half the fun not knowing how it works I'm not sure I even ever want to know how it all works
Starting point is 00:12:31 it's kind of surprise the mystery oh you do spoiler well not so much for the spoilers I'm just really interested in And so he's writing a game to where all of the effort and all of the creativity is gone into building the gameplay experience. And yeah, well, none of it really is going into the graphics and the presentation. So it's just great to see what you can do whenever that is your focus rather than the glitz. microtransactions
Starting point is 00:13:09 oh god sorry no sorry sorry thank you pardon didn't mean to set up any sort of PTSD or anything
Starting point is 00:13:22 shut it down yeah AAA PTSD but no God I don't even remember what I was saying anymore just completely I had said
Starting point is 00:13:34 something along the lines of oh the fact that he's not spending time on the UI. He's spending all of his effort on the creativity of gameplay. Yeah, and well, and part of why I would be really interested to see how Dwarfortes works under the hood is that, like, there is no overstating the difficulty of making a complex simulation like that that you can actually play with and behaves in reasonable manner. Like, for all that Dwarfortress has its hilarious bugs, it's shocking how much the bugs kind of make sense. away, like my favorite being the one where cats would get drunk, because they would lift their paws and they would go into the tavern and there'd be beer spilled on the floor. And then because
Starting point is 00:14:16 of the alcohol affecting you based on weight, a little bit of beer from their paws would get cats horribly drunk. And like, that's a bug, but it's a bug that kind of makes sense in a way, which is... It's legendary. It's amazing that one. And it's just, it's so hard. I don't know how with a simulation this complex, like Tarn's able to have something that behaves in an understandable fashion. The UI is really the main barrier to entry and purchase. Once you actually get over that,
Starting point is 00:14:47 I feel like the way it behaves is internally consistent, at least. You know, I'm not often confused by what's happening with my dwarves or with the way that they're acting. And that's pretty damn hard. No, I think that's a good call-out. I mean, when you do figure out how it works, everything works pretty much the way it's supposed to. I mean, I don't, you know, you tell them to go do one thing and they actually go do it, unless they're mad and then they, you know that, and that makes sense why they don't do it. But yeah, I think you're right.
Starting point is 00:15:19 That is an interesting call. I hadn't really thought about it like that. Like, yeah, things do work the way they're supposed to, generally speaking, which is great. That's awesome. It's a very, very complex UI, not so much in the accessibility of it, but just the fact that you can do so much in the game
Starting point is 00:15:37 and you have to have ways to do these things. All these individual things that you can do, you have to be able to do it somehow. And have you ever used VI, Alexi? Like VIM? Yeah, yeah. A little bit. I used more EMAX, but that's a whole lot more we don't have to get into.
Starting point is 00:15:55 No, no, that's the same deal. The barrier entry is a little bit high on it. But once you actually get it to where you're not having to think about what you're doing in it anymore, then it's very powerful. Spoken like a true Linux developer. Yeah, I was about to say, I don't know how comfortable I am comparing Dorfurtures to V.I. I don't know. But I mean, you're right. The difficulty is in learning the commands.
Starting point is 00:16:21 And I think to your point, when something is inherently. complex. Exposing a simple interface for it can be very difficult, if not impossible, because what you're trying to do is complex. So the interface for doing that is going to be complex. Door Fortress has so much going on that to try and expose it in some kind of much more accessible way, I think would be very difficult because you would need to take everything going on in this very complex simulation and squash it down into some kind of simpler set. And I think that would be extremely difficult to do, and I don't know if it would be worth it exactly. Yeah, I think Rimworld tried to do some of that, and I think you lose a lot.
Starting point is 00:17:10 I mean, Room World's a great game, and I think don't get me wrong. I think it's awesome. But I do think you're right. I think you lose stuff, because when you try to collapse some of these complex elements into a simpler AI, because that's, you know, you can play with Keyes, Rimworld, but you can also point and click. Yeah, I think you do have to lose stuff just by the very nature of how else would you do it easily? Well, and you can even use point and click with it, but it's still you're going to have a menu that's really deep. I mean, one of the things I love about Dwarfortress is if you want, you can make a stockpile of nothing but prepared mosquito brain.
Starting point is 00:17:43 Right. And how are you going to do that without having the fine tooth control over making that mosquito brain stockpile that you have to go through and make a custom stockpile and sort through the menus? so you get drilled down to mosquito burning. It's true. I think I guess what would maybe help to Fortress would be that there are some cases where if it was easier to do the simple things, because
Starting point is 00:18:07 it's definitely the case with other games and other problems like this. If you can onboard people more easily, so if there was the ability to just kind of set up some default basic stockpiles without needing to use the full stockpile menu that lets you
Starting point is 00:18:23 have a stockpile of only keto brains. That could still exist. But I think part of the problem onboarding Dwarf fortress is that you need to understand that level of complexity of stockpals before you can just make sure that your dwarves bring their food outside or
Starting point is 00:18:37 inside instead of loving it rot. Yeah. They're going crazy because it's raining and all they wanted to do is get to eat and then they got rained on and their life is over. Ruined forever. But it would be very difficult, I think, to
Starting point is 00:18:53 do too much of the simplification. it would have to be a case where it made some assumptions so it wouldn't always be the right thing to do because if you did something like you wanted to make your dwarves happier that's so dependent on what's making them upset like you said like if it's the rain then maybe they need a roof or you need to keep more of them inside if it's you know they're upset because there's not any mugs in the tavern
Starting point is 00:19:19 like there's so many possible options that to try and have just a general like oh hey make your dwarves happier Like, what would that even do? Yeah. Yeah, I think there's a quote from a book that I just reread that said, it's far better to do something constructive at once than do the perfect thing five minutes later. Right. And that is where perhaps if Toro Fortress had some easier commands that did things that were generally helpful,
Starting point is 00:19:48 that might make it a little easier to get started. Yeah, like, you're right. So you know that you're going to want. to have like a stockpiles, certain stockpiles that you want to start off with. Everyone does the food stockpile, the, the tree or the wood stockpile and things like that. Yeah, and I don't know. Now I'm just like spinning my wheels of, what would I do if I was trying to make an easier onboarding process or purchase?
Starting point is 00:20:14 And like, it would be nice almost if you could specify room types as you designated things so that if you wanted to say have a set of bedrooms, you could just specify, buy out kind of an area and it would know, okay, these need to be individual rooms, they need to have a bed, they need to have a door, you know, that kind of thing. Or if you said I want this to be my kind of woodworking area, it knows I need a woodstock pile, I need a carpenter's workshop, stuff like that. Because it's that, I think when you're getting started, it's figuring out all those pieces that makes it so difficult of like, you get halfway there and you're like, okay, I dug out a room, I built a carpenter workshop, but it's taking them so long. and why aren't they building more stuff? It's like, oh, well, you also need a wood stockpile. So perhaps something that abstracted some of that would help people get started. I heard an interview with Tarn that, I shouldn't call him by his first name like he's my buddy. Sir Adams.
Starting point is 00:21:13 Yeah. I heard an interview with TOTE 1 that stated that once he gets the next, air quotes, classic dwarf fortress release taken care of, the next thing on the list to do is to spend a great amount of time and solely on the user interface to prepare it for the steam release, whenever that may be as, you know, as vaporish as it seems like it might be. But I think that what you're saying, Alexi, is something that he is actually going to pay attention to so that it can make it easier for new players to get on board with the simple things, the things that you have to learn to keep your dwarfs from dying in. less than a game year and then still keep the detailed menus and all that for the people who have
Starting point is 00:22:02 had more experience with the game. So I'm hoping so. Yeah, I think that makes sense. Because I think once you know the controls, like if you're someone who has gotten really deep into Dwarf Fortress and can never look back, then I think that the controls as they are are fine. Like,
Starting point is 00:22:18 they're complex, but the game is complex. And once you spend the time to learn them, then it's good. So I feel like for the players who are a dwarf fortress concept, not a lot has to change. But it is that first time, the fatui, the first time user experience that has the problems. And I'm certainly in favor of any kind of updates to it, because I just want people to play Dwarf Fortress. I can talk to them about it more. I have a lot of conversations.
Starting point is 00:22:44 It's funny with Rumi, because so often I talk to people about Dwarfortures, and they're like, oh, I heard of that, but I play Rimworld. I heard of it. Man, it's not to say. it's not the same you're right my final question is have you ever convinced
Starting point is 00:23:07 another human being to play Door Fortress and if so are they still your friend and how did that go I have successfully gotten at least played door fortress it was like a former
Starting point is 00:23:20 coworker of mine former interesting Oh yeah. Former co-worker, not former friend. He still talks to me after starting to play Dwar Fortress. And yeah, it was still, it's quite recent than he started playing, so he hasn't figured out too much yet, but he's at least started playing the game. I think it's also fair to say that my younger brother got into Dwarf Fortress because of me, and he plays it quite a lot. And we're still, I mean, it's not like he could choose to not be my sibling anymore, but he hasn't tried. So there's that. That's a great sign. Yeah. A glowing endorsement. I've at least, I have successfully managed on game development projects to get Dwarf Fortress kind of on the list of references, which is fun, because it gives everyone an obligation to at least understand what it is, even if they won't go as far as playing it. It's to the point where when Kit Fox announced that they were going to be publishing Burr Fortress on Steam, I was getting ready to fly to San Francisco for Rogue Lake Corporation, or no, for GDC. And I got, like, eight separate messages from people I know who are like, hey, do you see the Dwar Fortress News? Because I'm very known in all of my friend circles for talking about it fairly relentlessly.
Starting point is 00:24:37 Okay, well, is there anything else that you'd like to talk about today, Alexi? No, I think that that kind of covers it. I'd never be sick of talking about Dwarfortress. We are so happy that you came on to chat with us. It's a real shame that Roland wasn't able to be in your... with us because I'm sure there's lots of stuff that he would like to talk to you about. Or maybe we can have you on again sometime when Roland's here and we can chat again. Yeah, I'd be very, very happy to come back.
Starting point is 00:25:04 Hey, thanks for, thanks for coming. This was a great discussion. Appreciate it. Hi, folks. This is Jonathan, stepping in here for a moment. I know that we'd said that we would talk about the Bloodline Fortress after we wrapped up the conversation with Alexi. But we talked about it for quite a while, and we decided that that would best be an episode all of its own.
Starting point is 00:25:25 So our next episode is going to be detail about the Bloodline Fortress that Tony, Roland, and myself are administering. So we hope you tune in for that, and if you can, stop by Bay12 Games.com and drop a couple pennies into the
Starting point is 00:25:41 Adams Brothers coffer, and we'll see you next time. This has been Dwarf Fortress Roundtable, the podcast for all things dwarfy. You can find all our past episodes at D.F.Round Table.com. Please stop by and leave a comment or suggestion in the comments section of this episode.
Starting point is 00:25:59 While you're there, you can subscribe to Door Fortress Roundtable or find us in the podcast service of your choice. Music is Skykew Ellen, composed by Kevin McLeod. You can find Kevin McLeod's music at Incompetac.com. You can find a link in the show notes. This podcast is named Get Thad Tathack Ocle, Violet Crowd, The Wasp of Tests. This is a blocky lead podcast. All crafts dwarf ship is of the highest quality.
Starting point is 00:26:28 This podcast menaces with spikes of lead.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.