Hello reddit and /r/dwarffortress! I'm Tarn Adams, one of the designers (with my brother Zach) of Dwarf Fortress, a dwarven colony-builder/RPG/fantasy world simulator. The game has been free to download and play since 2006, and development is ongoing.

I will be here starting at 4:00 Pacific. Zach is here too. Also Scamps.

Proof: http://bay12games.com/imgs/reddit.png

Edit: 11PM. I guess 7 hours is enough, he he he. My eyes hurt. I'm sorry I couldn't get to everything. I tried to do the up-voted ones, but I'm sure I missed something amid all the shifting. Thanks for asking questions! That was a lot of fun.

Comments: 848 • Responses: 78  • Date: 

professorlamp309 karma

I'VE BEEN WAITING ALL WEEK FOR THIS.

. I've read that during a particularly hard time in your life, you snorted meth.Was that true and if so, what was it like?

. Do you still practice/play guitar much? I enjoyed that little track on the old DF.

. How do you get away from DF, what other hobbies/interests do you have outside of programming?

TarnAdams388 karma

  • He he he, that's right. First of all, it hurt initially. Snorting things is not fun. Then that immediately went away and it was an ever-amplifying rush until I couldn't stop talking. But I'd fixate on things and also start crying, and back and forth. The people I was with took me out to a restaurant after that, just to cause trouble I think, but I managed to keep it together... I think. Then I couldn't sleep for a few days and the urge to keep swallowing (it drips down your throat). I was like "hey, that was fun!", but then I was like "hmm, that's probably what an addict thinks," and never thought about doing it again.

  • Yeah, not quite as much as when I started, but I still play almost every day... I only remember a few flamenco songs though, and I can't play them well. I mostly just improvise stuff. That was what I set out to do when I started, and now I can do it somewhat, but I don't think I'm growing much now that I'm not learning songs and new styles.

  • I go to the zoo, watch bad TV shows, the guitar... writing other computer games, he he he. I like to go hiking, but I don't get out much.

LordTurtleton68 karma

So you write other games? Will any of them ever see the light of day?

TarnAdams145 karma

I'll paste something from below:

"Zach and I are both working on several different project ideas, on and off, and there has been some coding, but there's nothing so far along that I actually want to say what they are, since people might look forward to them... I'm not sure we'll ever get anywhere with any of them. DF is sort of all-consuming that way. I don't regret the way it has turned out at all, but it is difficult to set aside time for other things, especially if I want to release something polished enough that I don't end up having two active projects to shepherd along."

footingit40 karma

What guitar do you have, and what bad TV shows do you watch? ;D

TarnAdams102 karma

I have a Manuel Rodriguez flamenco guitar of some kind that I got in grad school. I don't remember the model... I think it was mostly real wood, but not entirely, he he he.

I'm talking to Zach now... what are the horrible things we watch over here. I Was Bitten, Monsters Inside Me, Hoarders, Doomsday Preppers, My Strange Addiction... he he he....

JOHNNY_FUCKING_DEPP11 karma

[deleted]

TarnAdams50 karma

Punta y Tacon by Sabicas, if I have to pick. But I can't play it at all, he he he. I know the notes!

starguarded274 karma

I wrote a two year love letter to Dwarf Fortress, now completed, called 'Matul Remrit' (at http://www.bravemule.com). Thank you for working on the game so long; it's been such an influence.

TarnAdams224 karma

Bravemule is a triumph. I watched all the videos, although I haven't had time to read all the entries.

rsgm123192 karma

How much does/did your degree in math come into play during development, I am talking about the algorithms that go into this game?

Also, can you give an estimate of how much code is there for map generation?

TarnAdams297 karma

Linear algebra is always important, and simple things like knowing how the dot product relates to angles can speed up bits and pieces here and there. n-dimensional flat chains in Banach spaces have not come up at all, unfortunately. I might have approximated the solution to a differential equation once, but that was all brute force, and for a different game. Overall, doing the degree probably helped with my visualization and made it easier for me to manage the project, but the specifics don't come up that much.

For the topography it's not that much at all -- if you do something really basic like midpoint displacement, you can probably get a biome map in less than 50 lines. Adding rivers and other effects like rain shadows can put you up another 1000 or so depending on what you do. But if map generation includes stuff like the histories going forward and all that, then all the creature and civilization code comes up, and we're probably up around 30k for the parts used, as a very very rough estimate.

3rdStrongestMole190 karma

As a fan of the game, I have just one question: How can I give you money?

TolinKurack155 karma

3rdStrongestMole101 karma

Thanks, friend. I guess I could'be Googled that...

I'm drunk now, but when I sober up I'll give a reasonable amount.

TarnAdams315 karma

Zach says, "No! No! Do it now!"

edit: Thanks, by the way, he he he.

SirDifferential181 karma

Hello Toady!

  • Do you have a favorite coding language? Do you approach programming as a fun hobby of solving interesting problems in "hacker" spirit, or are the languages a tool that is chosen based on how effectively it can be utilized?
  • As you have been working on Dwarf Fortress for over a decade now, are you stumbling upon code that you never remember writing? Have you noticed that your coding skills have improved and found some awful old code that you simply would rather hide in a closet? From what I understand you started working on the game without that much programming experience?

  • I played an adventurer recently that became a legendary hero in the eyes of about half the world. I was ultimately struck down by some random bandit in a great brawl in the woods. Afterwards, the legends said the bandit simply had one notable kill, and in the current version meeting him would not involve anything else than him saying "I'm the slayer of SirDifferential the Adventurer!". Now that the next version is addressing a lot of this stuff, would the bandit become an important figure in some way? Do other bandits actively seek to join his camp?

TarnAdams241 karma

  • I started on BASIC and then moved over to C with a bit of C++ (not in any proper standardized way), but I don't really have enough experience with other languages to have a favorite. Solving problems is fun, until I get really stuck... I've been with the same language so long I can't really say I chose it in any informed way. It was just what I was used to.

  • Yeah, all the time! I even found a comment once that said "//what the hell is this doing here?" that I didn't even remember writing. It's funny when I leave little tips for myself and then come upon them years later. I think my current code is still closet-worthy, but the older stuff is even worse. I started DF with a lot of programming experience (I started BASIC when I was like 6 or something), but not any official experience -- I have a feeling that somebody who has been working in a proper job environment for six months would learn a zillion useful things that I'll never know.

  • Reputation is becoming more important, but we're not yet at the point where NPCs are thinking about NPCs that deeply. Once I've got some non-player adventurers and mercenaries running around, things more like that could start happen naturally, but we'll see.

Billybones116172 karma

What is your favorite video game (other than DF)? What games influenced you in making Dwarf Fortress? Do you play DF much other than for testing?

On a side note, I consider you a personal hero. Thanks for the amazing and beautiful game.

TarnAdams271 karma

I'm glad you're enjoying the game!

It's hard to pick one favorite, but the games that influenced me in making Dwarf Fortress are probably the older ones that I'd consider my favorites in some sense (even if they aren't necessarily as playable now). Starflight 1 (especially the randomized lifeforms which not many other people seem to care about, he he he, but it opened our eyes regarding procedural generation beyond what roguelikes did with maps), Ultima 3-7, Seven Cities of Gold for the expedition stuff, Hack/Rogue and the other roguelikes... many others. In more recent decades, things that spring to mind as games I enjoyed, not related to DF, are Demon/Dark Souls, Shadow of the Colossus, Red Faction: Guerilla for exploding buildings... mostly stuff on the consoles like that, oddly enough, though perhaps I'm just having a brain freeze. I was never great at choosing favorites.

I don't get a chance to play DF for long periods for fun. Some bug or improvement always comes up, and it's back to coding. Sort of sad in a way, since our main impetus for getting into game development was to write the games we wanted to play, but it's okay!

Moleculor91 karma

Starflight 1

I SERIOUSLY just deleted a question asking if you had played Starflight 1. It was the first game I ever played, still my absolute favorite game of all time. (Yes, better that DF, sorry. :P)

I'm glad someone else remembers the randomized lifeforms. Ah, memories.

TarnAdams159 karma

We filled those black-and-white-mottled-cover notebooks with drawings of Starflight lifeforms for hours and hours growing up. Forgotten Beasts in DF were inspired by SF1.

ziper122139 karma

I dont suppose you happen to have played a game called Star Control/The UrQuan Masters?

TarnAdams73 karma

I never played UrQuan Masters, but I played SC2 back when it came out. It was cool, but we were disappointed that it didn't have random lifeforms, he he he.

RayOfTheFunk153 karma

Oh my word, the legend himself. I've been looking forward to this IamA both to hear your awnsers to all th questions you are bound to recieve, and to congratulate you and applaud you for being so god damn awesome.

Hail to the Dwarf Lord!

My question though, would be regarding the UI. Many among your dedicated fanbase will defend your UI to the death, however I have always felt that it is more a result of your focus on more important aspects of the game rather than any real design descision.

Will you eventually (a year, a decade, who cares) make substantial changes to improve the UI with the same level of care you have placed on every other aspect of the game? Have you had any idea so far as to what is good, what is bad, and what will be the first to be improved?

Thank you for doing this.

TarnAdams199 karma

Yeah, I'd never defend the UI, and it hasn't been the focus. It's hard to look ahead that far though. I definitely don't want to hamstring myself with graphics (see Armok 1), and I think the utilities like StoneSense have made a lot of progress there -- if you can't stand the text-based graphics of DF, I'd recommend checking out StoneSense and also the tilesets people have worked on. I'd probably end up doing in-game tutorials sooner than that, since not everybody will immediately go off to the wiki or the Youtube tutorials or the book, and they'd probably be easier to maintain than graphics.

Then there are the menus... military, labor selection and that sort of thing, which are just bad. I've done random small updates there, and some steps backward. People have made me aware of all sorts of problems, and there are lots of suggestions for improvement. I've been adopting certain of them piecemeal, but in order for DF to be a completed game, there'd need to be a significant, cohesive and well-thought-out overhaul. I haven't scheduled it though, or thought about it very deeply. I feel like I'm still working on basic features, and whenever I gut a portion of the interface, I'm glad I didn't spend much time on that previous incarnation of it. It's the sort of thing that can go on forever though, so I'd always been thinking that when I get through my list of version 1.0 features, I'd also have taken a real stab at fixing the presentation and usability. It's hard to say. The process changes all the time.

kouteiheika100 karma

Have you ever considered making the UI external to the game, so that somebody else could take care of it while you'd be able to fully concentrate on the simulation aspect itself? By external I mean - export appropriate API to control the game, and import a few symbols from the UI SO/DLL so that the game would be able to interact with it. Considering the fact that the game already reacts to the user input (hence you have those entry points that need to be exported already well defined) creating such interface should be only a matter of finding the time to do it.

The community has already proven that they have the ability to deliver superior UI (Stonesense, Dwarf Therapist, numerous tilesets, etc.), so why won't you leave it to them? There are limits to what one can do with memory hacking; a real API would make it possible to make something like Stonesense, but fully interactive. Wouldn't that be awesome?

TarnAdams124 karma

I've thought about it. It seems like it would take a lot of work to maintain. I ditched the crappy 3D graphics of Armok 1, and adding features is so much faster now. This seems similar. There are lots and lots and lots of data structures, and the API would not be a simple thing, and it wouldn't be something I could just do once and then forget about.

DFJPLeBreton145 karma

Hi Tarn! Really cool to hear mention of the randomly generated creatures from Starflight 1, that was a formative game for me too.

Full disclosure: I work at Double Fine and led a team of folks here during our Amnesia Fortnight 2-week prototyping marathon to make a DF-like game called Spacebase DF-9. Even though we only scratched the surface of what makes a cool building / world simulation in two weeks, it was super fun to make and Dwarf Fortress was obviously a huge inspiration. I remain fascinated in this kind of game and hope you can make a good living working on DF for a long time to come!

Could you shed some light on the general AI approach used for dwarves? Do you use an established AI design pattern like behavior trees or is it more ad hoc?

They seem to prioritize survival threats and balance needs and duties, is there anything notable about the way they do this?

Also, do dwarf memories play a part in their decision-making or is it only used for things like carvings?

What's your favorite wrinkle about how dwarf psychology works?

TarnAdams151 karma

Hi! Was that one of the games there that got a short promo video? I remember watching something like that.

I don't know the names of anything programming-wise. The dwarves currently just have a branching checklist of things they look through, probably the silliest way you can do it. The next release is a little better, so that they can reverse their initial decision if they find something better instead of being sucked away by the first thing that catches them, which should allow long-awaited features like job priorities and so on, but I have a feeling I'm still 20 years behind the action.

They prioritize survival threats because they check them first -- it's pretty simple. They are allowed to cancel jobs when they hit certain hunger thresholds and so on, but they'll stick out a job a bit if they think they can. It's still all sequential checks though.

Their preferences and site history play a role, but not their thought history. Their thought history has an effect on their happiness, but that's it. That entire system is pretty well toasted for next time though. They now have emotional states created by these events that have more directions aside from happy and sad.

I'm no good with picking favorites... hopefully that was the question you cared least about, he he he.

kgtx137 karma

[deleted]

TarnAdams163 karma

Hi! I'm glad you were able to work out your issues and keep your neighborhood safe!

  • There are enough exciting things coming up that the few dry patches are very easy to take, and they are never so long that I despair. Working through annoying bugs and being tenacious about it is part of programming... it's almost fun now. I do read through the development pages sometimes to get my head screwed back on properly. Imagining the completed game in that way is very motivating.

  • Yeah, a few days sometimes, unless I'm sick (swine flu, for example. It sucked). We went to the high desert in Oregon for a few days, which was fun, and we were off in New York for a week when we got stuck in the not-as-bad hurricane before Sandy (Irene, I think?). So there will be stuff. I used to clump my weekend days together and work on side projects at the end of the month, but that stopped a while ago.

  • Nope. Zach says, "where would we be walking to?" He he he. I can't think of anything else I'd rather do.

  • Probably adding the Z coordinate? That was a lengthy mess, and I couldn't compile the game for a long time to test things out. There's the larger overall issues of accessibility and lag and so on as well.

Arguss84 karma

There used to not be a Z coordinate? So boatmurdered was on one level not because of FUN but because they had no choice?

tenaciticcharisma77 karma

Precisely.

Edit: In addition, the edge of the mountain was once always a straight line from the top to the bottom of the map, as you can see in Boatmurdered. In some of the early postings, you can see Toady commenting on that fact, saying it was kind of nice to be able to tell whether dwarves were inside or outside the fortress by looking at a single coordinate.

Arguss63 karma

I have to say, having it all on one level does make it seem grander, instead of 20 z levels each with 4 rooms around a central spire (or something similar), efficient though that may be.

TarnAdams138 karma

I actually agree with this. We're hoping that as we improve the underground environments etc., that we can surpass the original feeling, but in many ways we have not yet succeeded.

wolvonk102 karma

No questions from me, Tarn. However, I'd like to say that you inspire me (as well as other DF junkies, I'm sure) to practice my craft with your tenacious commitment to a dream. I have come to love dwarves, drink and industry even more ever since I first extracted df_31_25_win.zip onto my hd.

TarnAdams91 karma

It's cool to hear that we helped you in whatever way to continue making the games you want to make!

Farn92 karma

Dwarf Fortress looks like it's going to eventually simulate every minute detail of colony management. Is there anything you think you'll never include? I heard the question of where dwarves poop will never be answered, which is probably for the best.

TarnAdams127 karma

Aside from stuff like that, there's also the high tech stuff. People can mod to some extent, but I don't think I'll ever have anything like Steam Punk and that sort of thing. There are also lots of things I just won't get to because of time, of course.

CodeBlack0890 karma

What kind of effort have you made to parallelize some of the computation in Dwarf Fortress? In particular, I heard that the path-finding algorithm is one of the largest usage of the CPU. Have you looked into parallel graph searches?

This is, of course, interesting because of the ubiquitous shift to multicore machines.

TarnAdams115 karma

Yeah, Baughn (the guy who helped me with porting and some OpenGL stuff) did some multi-threading with the graphics, but it's something I don't know anything about, coding-wise. I have a feeling I'd just strike out if I tried to learn to multi-thread and then convert the code, and it's hard to find time for large experiments like that (I'm not even sure where I'd begin to find space for the buffers on large maps, and that's probably the easiest problem). The game is definitely too slow when your fortresses gets large or dwarf-heavy or item-heavy, but I still get quite a bit of mileage out of garden variety optimization, so I'll likely be sticking with that until I hit a wall. Then I'm not sure how I'll approach it.

zoundler21 karma

Have you seen frameworks like OpenMP? You can use magic compiler comments to tell it to parallelise loops, or run different sections on different threads. It would probably still take a fair bit of work to parallelise the path finding calculations, but it would handle the plumbing of running it on its own thread, along with any other sets of independent calculations, automatically scaling to the cores available.

TarnAdams49 karma

Is that one of the things that lets you sort of handle threading in local parts of the code on a micro-scale? People have showed me those things. The main lag points in DF also access memory everywhere though, so I didn't really know how to make much use of it. There are lots of interconnected systems, and it seems like it would be hard to isolate something so that simultaneous instances of it will play nice. I don't have any experience with it though. Seems like a large rewrite even with these sorts of frameworks, for the parts that matter.

popcorncolonel87 karma

  • Is it in your will for Dwarf Fortress to go open source after you pass away? A great game like this shouldn't ever stop development.

  • How do you stay so focused and retain all the information and varying depths to the game, knowing what links where etc etc.

  • What has been your worst experience in the development of Dwarf Fortress?

  • How many hours have you put into Dwarf Fortress?

  • Has a fan ever recognized you? What happened?

  • Do you embrace the jokes of you "being taken by a mood" or hate them?

  • How much consideration goes into each feature before it is implimented or denied?

  • How hard is it to say no to a feature request?

  • How do you feel about the ideas of danger rooms and other misuses for extreme advantages?

  • What is your favorite Dwarf Fortress story, from a player or yourself?

  • How frequently do you play Dwarf Fortress as opposed to working on it? Are the hours comparable?

Comments:

  • I wish I could be half as intelligent as you. The Fortress naming of prefixes suffixes, etc etc is astounding, not lacking a hint of detail. The shortening of dwarven names is impressive. I don't know how you do it, but every time a name or job title is shortened I know exactly what its supposed to say. You Legendary wordsmith you.

TarnAdams128 karma

  • The Museum of Modern Art actually wants me to set something like that up, but I haven't done it yet. The whole murder-me discussion comes up after that.

  • It might be a natural result of having worked on the game for so long. Systematizing and keeping track of links between elements and so on is something I think working on complicated games has made me pretty good at. For some reason, that hasn't happened with programming itself, he he he. Independent of practice, I've always had a high level of focus, and my memory is pretty good, although it's not super-good and seems worse now that I'm out of school and not being tested all the time.

  • I'm not very good at pulling up bests and worsts... the worst experiences in programming happen when you forget to back things up. DF is well-backed up. Back things up!

  • It's hard to say, especially since prior to 2004/5 it was a side project to Armok 1, and before 2007, it wasn't full-time. And now, email and so on slowly eat up a bit more of my time than the year before. Thousands, in any case. If I broke 10k it wouldn't surprise me at all. It has been enough years now.

  • Not outside of an official meetup, no.

  • That's all cool.

  • We usually talk about the details of the features we are working on for a few days before, and then get to work on them, while talking about the next set of features and any roadblocks, and so on. If it comes up, we also talk about the broad sweeps of things on occasion, but we have a lot planned and it takes a long time to catch up.

  • Nah, it is easy to say no. Many requests are strange.

  • I talked about danger rooms somewhere up there. Exploits are there to be fixed, and I don't mind if people use them in the meantime. There's no fairness at stake.

  • I retold my hammerer story up there somewhere, again. He he he.

  • Also the play vs work question, up there somewhere.

CapituousPerjuror84 karma

According to the one NY times article on Dwarf Fortress, you lead a pretty unhealthy lifestyle. Are you worried that it might lead to your death before Dwarf Fortress is"finished"? Sort of a dark question, but I have to ask because it's a scary thought to me.

I just started on Dwarf Fortress a couple weeks ago and it's one of the best games I've ever played. Thank you do much for making it!

TarnAdams106 karma

I don't think I've reached the end times yet. I do have some borderline lardy people in my family, including myself, but they still make it into their 80s and 90s. It has gotten a bit worse since I left school, since I've never owned a car and so ended up walking all over the place, sometimes an hour one-way to get to class, and now I mostly sit around all day. I could do better.

CapituousPerjuror28 karma

Well it's good to know you don't think you'll keel over.

Do you think you're going to keep quantum stockpiling, the ability to shove unlimited animals in one cage, magical mechanisms, and other weird things in the game that are either dwargy magic or advanced understanding quantum mechanics?

TarnAdams50 karma

Not if we can come up with a code-able way to make things more normal. It's tricky to pile things up naturally in larger spaces though, although things like animal caging are probably easier to handle than a stack of 100000 stone.

Kalkamesh78 karma

Do you endorse the modding community of Dwarf Fortress? Have you ever tried a mod?

TarnAdams126 karma

Yeah, we have the modding section on the forum just for them, and we think it's all cool.

I don't get to play the game much even in its original form, so I never get a chance to fire up mods. However, many of the buggy saves come with their mods inside of them, and it's always fun to start up the game and see dragon men and other critters running around.

lthec77 karma

First: Large gems. Large gems are everywhere. I'd like to stock pile them.

Second: I think auto spin would be excellent. Something to add under o->W-> new thing auto spin

Thanks for all of your hard work! So many people at work think I have children named Tarn and Zach, because of the framed crayon drawing at my desk!

TarnAdams66 karma

He he he, that's funny. I hope the picture wasn't too violent.

Indeed, more automation options and better stockpiles are healthy. I have no idea when I'll get a chance to improve things... as usual...

Pakislav76 karma

Hi Tarn.

I have a question about path finding. In recent Planetary Annihilation stream we learned about flow field AI path finding.

It's quite genius if you ask me, and seems to be quite simple in the basic concept. Given what a blow to the CPU pathfinding is in DF, are flow fields a good alternative to the current system? Or do you maybe already use them, given how there already are sort of cost fields in DF eg traffic zones?

TarnAdams104 karma

Ah, I don't know what that is. I don't know the proper names of anything. I just use a potentially crappy A* implementation with traffic costs.

Dragoon040365 karma

What do you think of sucession games like Boatmurdered? Do you have a favorite one? And have you ever gotten a good idea from someones game?

Edit: Have you ever participated in a succession game?

TarnAdams94 karma

I think they are awesome. I read Boatmurdered all the way through, but I haven't gotten a chance to read a lot of the later ones. There are other cool forts known by name like Bravemule, but I don't think it was played as a succession game. I don't remember getting an idea specifically from the roleplaying within the game, but all of these things function as playtesting and we get a lot of feedback from them. They're also cool because a lot of people find DF through the stories that people tell about it.

codecx8164 karma

I am so happy this is happening!!!!! Tarn, long time fan, first time writer.

I, like yourself am a man in my 30s who spends far too much time on a computer. I read the NYT article and it didn't paint a very pretty picture on how you maintain your "work/life" balance and from photos it looks like you've put on weight as we all prone to do as we live to later ages of sedentary life.

*My question is this: *

With a long drawn timeline of ~20years before we see v1.0, what plans do you have in place to maintain your health & stave off diseases which we become more succeptible to as we age (diabetes, heart disease, etc)

We all want to see the end product, but we also want to see you both live well beyond your elderly years and enjoy your presence on the planet for as long as we can.

Sincerely,

CodecX

TarnAdams68 karma

I don't have a specific plan in place. I'm currently in the stupid part where I don't think about it carefully enough. I haven't been very successful setting aside parts of the day for things. People have good ideas, but I haven't been diligent enough.

Iasnek63 karma

You guys have a lot planned for the final version of DF, which is a long ways away. My question is, what feature or goal are you most looking forward to implementing, and why. Also, how much time do you spend playing DF for fun? Or do you enjoy improving it so much that you only play it for testing purposes?

TarnAdams92 karma

It'd difficult to choose just one... we often talk about wizards and the afterlife and so on, since it would be fun to play Master of Magic inside of Dwarf Fortress, but adding inns and taverns to fortress mode sounds more and more funny the more I think about it. The army stuff is cool, but I've only attempted strategy AI a few times, and non-seriously, so there's an overall dauntingness to that part and getting it to work correctly. I have my pet linguistics obsession, so I'm looking forward to that...

Regarding playing DF, I'll paste a reply from above: "I don't get a chance to play DF for long periods for fun. Some bug or improvement always comes up, and it's back to coding. Sort of sad in a way, since our main impetus for getting into game development was to write the games we wanted to play, but it's okay!"

bemz63 karma

Hi, and thank you for Dwarf Fortress!

  • How many crayon rewards have you sent out so far? Do you remember the one I requested, perhaps? (My three cats fighting some goblins, with a reference picture enclosed)

  • I know you guys are focusing more on features than performance right now (DF runs nicely on my laptop,so no argument there), but would it be possible or even feasible to multi thread Dwarf Fortress?

  • What internal data structures do you use for dwarves and other creatures? Dwarf(x,y,z,drunkenness) objects?

TarnAdams95 karma

  • He he he, we gave them weapons right? Maybe.... three to five hundred? It's so variable every month that it's hard to calculate. Sometimes we only have 15, and this month we had almost 40, and the number has slowly been growing over the years.

  • There's a rambly multithreading question up there with some other observations. The short answer is that I don't know how to do it, it'd probably break things and take forever, but there are definitely places where it would help.

  • There are unit classes with many many other related classes, and there's the creature definition, and the historical figure. Every critter has a vector of souls inside it, with an active soul set, but I don't actually use that for anything yet. It should be cool. There is an alcohol counter, but nobody gets drunk yet.

TotallyNotAnAlien50 karma

Is it tough living on such an unstable income? I can also imagine it puts pressure on making significant updates to bring in more donations.

TarnAdams79 karma

It's not so bad anymore now that it tends to be above a livable amount each month, even though there's a lot of variation. It was nerve-wracking early on, but I had some money saved from grad school and the post doc, so I never quite felt real panic. Now it's just vaguely unsettling sometimes.

There's always some pressure, but between the long and short release cycles, it all averages out as far as I can tell, so I just keep doing the same thing more or less (aim for short cycles, get dragged into longer cycles by going for too many features, etc.).

Stuball199249 karma

Oh god, he's here and now I can't think of anything to ask!

TarnAdams84 karma

He he he, it's all right. Send me an email or something later if the spirit moves you.

CodeBlack0848 karma

What are some of the large-scale technical problems that you face(ed), or will face, when creating Dwarf Fortress?

What kind of software engineering practices do you follow? I've heard that you do not use any sort of version control. Do you follow other common practices like OOP, naming conventions, unit testing, etc?

Do you find that your code more functional because you have a heavy background in mathematics?

TarnAdams75 karma

  • If you remove the technical side of the UI discussion, and look down more at the guts of the program, I think the general lag caused by lots of items and pathfinding is the big technical issue. Feature-related implements have never really been a problem, and I don't recall getting stuck on anything there for too long. There is the upcoming 64 bit memory issue -- worlds are getting large enough for us to creep up on 2GB now, so we'll have to take the plunge there sooner or later.

  • I don't use version control -- I didn't like the feeling of having the code get committed into a black box thingy with no immediate upside. It would make more sense to me if I were working with other programmers. I have some derived objects, but I don't adhere to any kind of overall OOP framework. I don't have types tacked on my variable names or whatever goes on there. I'm not sure how to make unit testing practical time-wise, since it seems like there's an awful lot to set up and especially to maintain.

  • I don't really have anything to compare it to, so it's hard to say if all the work in math has had an effect that way. I'm sure my code is considered garbage by people that know what they are doing.

bluenovajinx48 karma

Has creating multi-tile trees made multi-tile hostile monsters more plausible?

TarnAdams74 karma

It has made large single-tile monsters look more ridiculous, but the code isn't really related. My only real problem with multi-tile critters, if I remember, is the pathfinding.

LordUb3r22 karma

Huh... does that mean that wagon paths are somewhat worked out ahead of time (since you can display wagon-accessible paths on the fly)?

I suppose it's pretty simple to calculate whether or not a wagon can fit somewhere and pathfinding is an entirely different beast.

TarnAdams49 karma

Yeah, wagon paths are a special case. If I tried to use that code for a bunch of monsters the game would die, and wagons don't consider most places. It's not an impossible problem, but it's difficult to make fast, I think.

racercowan46 karma

What was the most difficult feature currently in the game to make?

Also, some questions I stole from other people:
*Are the feature more planned out or on a whim?
* How do you feel about danger rooms, dwarven physics, and other *such events that could be exploited.
*What is your favorite story of Dwarf Fortress?

TarnAdams84 karma

  • The most time-consuming was the Z coordinate, since I basically had to change (x,y) to (x,y,z) in thousands of places while being mindful of the consequences of each one. The rest is sort of smeared out in my head -- there have been ah-ha! type moments planning stuff out, which would count as a sort of conceptual difficulty, but nothing sticks out.

  • The overall vision of the game is there as a guide and most of the features that came out of planning are in a list. Specific implementations are almost always done on the fly, especially since they have to mesh with the parts that are already done. Many features also get put in on a whim, but we try not to do things that don't fit in with the core feature list.

  • Danger rooms remind me of the training robot in the Dune movie (I don't remember if it was in the book)... you could theoretically learn stuff that way, but you shouldn't learn up to legendary levels so fast, and there are lots of things you wouldn't learn. I don't mind when players use exploits, since they aren't being measured against other people in some sort of competition, and exploits point me toward things in the game which should be improved. So, I'd prefer the exploits are all replaced by proper mechanics.

  • The one that always comes to mind is the executioner story, where the hammerer was injured, couldn't hold his hammer, and so bit the prisoner to death and then walked around with the guy's arm in his mouth for years. There are plenty of better stories out there by now though. That one's just stuck in my head.

PTTGx244 karma

Have you done any special rewards for special donations? Any interesting stories revolving around rewards?

TarnAdams68 karma

Once many years ago somebody asked me to record a little guitar song about their cat. We were also working on a story for them though, and it all sort of fell through. I think I screwed that one up, but the reward process was really messy back then.

People make all sorts of interesting crayon requests, and completely off the wall requests that have nothing to do with DF, and sometimes not for themselves. We've drawn rage comics, MLP ponies, dinosaurs, something about a milkmaid and a goat, something to do simultaneously with Shrek and BasedWorld... but beyond that, nothing really comes to mind immediately.

footingit43 karma

Hi Tarn! Thanks for answering some questions!

I imagine emotions can run high between you and your brother at times. What was the worst incident that has ever happened between you two concerning the game?

TarnAdams79 karma

It's usually something stupid, and almost always because one of us hasn't had enough coffee or food or something. Nothing really stands out as being catastrophic. There was a bad one back when we were working on a graphical arena fighting game back in high school... we got in an argument over whether the muscles you see when skin gets torn off should have a stripey texture or a more muscle-groups related blobby texture. Lots of yelling and so on, he he he.

turkeybone41 karma

Tarn,

In my nth fortress (I've been playing about 2 weeks), I dug a little too deep and opened up a cavern on my original 7. In order to save the fort, I had to seal one dwarf in, using a sphalerite wall, who then got killed by troglodytes.

Five years later, I just had a dwarf get possessed and make a sphalerite door. Oh, woop-de-doo. Then I read the description..

"On the item is an image of Stukos Pickbrushes the dwarf and Searchpaddle the troglodyte in sphalerite. Searchpaddle the troglodyte is striking down Stukos Pickbrushes. The artwork relates to the killing of the ghostly dwarf Stukos Pickbrushes by the troglodyte Searchpaddle in Palacebold in the late spring of 128."

Like.. damn I don't even know how that works. Did the ghost come back and tell his story and the name of the troglodyte? Anyway, the point is, the depth and history is really amazing and something that should be praised.

Also, I love reading the battle logs.. I played a copious amount of Gemstone in my day, and in that text-based fantasy world there was a similar combat system (to generalize terribly).

Amazing work, sir, I thank you.

TarnAdams53 karma

He he he, no, it's just a bug -- once a historical figure becomes a ghost, then they are a ghost, and will be referred to as one everywhere. The description of the engraving would change after the ghost rises. Some cases of this are easier to solve than others, and the worst ones will probably be almost impossible to fix.

KepaRocketcat37 karma

When are you adding tapeworm-men to the game, that condemn you for the loss of their civilization if you kill the giant they've been living in?

TarnAdams55 karma

He he he, that's a very advanced feature in a lot of ways. Everybody needs a home. I guess giants will have to have lice-men too. Do we already have lice-men? I think somebody forced me to add lice in the sponsorship drive.

Kalkamesh36 karma

In what direction do you want the different races of DF to go? How do you want the Civilizations of Elves, Goblins and Humans to look?

What is your biggest motivation on programming Dwarf Fortress?

What were the hardest features to implement until now, and what do you think will be it in the future?

TarnAdams53 karma

  • Race stuff is always a work in progress, and a lot of it happens as we go, so we don't have a lot of information here. We want elves and gobs to be very different from humans and each other -- they shouldn't be something that humans can just be themselves. And humans need to diversify. We'd hope to get a random culture generator that allows humans to have elements of the many various real-world cultures, and novel stuff that the computer comes up with within reason. There won't be just one human culture. They already have some surface diversity in terms of the clothing and goods they have from their region, but we can go far beyond that. Now that they have their trees and towers and trenches and prisons and troll shearing areas, elves and gobs have gotten a bit further away from humans than before, for the next release, anyway.

  • It was going to be to play the game myself, but that never seems to happen now, he he he. I really like to see how things play out, and how the new features mesh with the old.

  • hardest, pasted from above: "The most time-consuming was the Z coordinate, since I basically had to change (x,y) to (x,y,z) in thousands of places while being mindful of the consequences of each one. The rest is sort of smeared out in my head -- there have been ah-ha! type moments planning stuff out, which would count as a sort of conceptual difficulty, but nothing sticks out."

It's hard to say what it'll be in the future -- conversations are difficult to make convincing, and I've never been satisfied with any game's implementation of them. That'll be hard.

monk12533 karma

Thanks for popping by Toady!

What do you think is the hardest part of being an indie game developer? Conversely, what's the easiest part?

TarnAdams74 karma

There are lots of different indie game developer experiences and ways of doing things, so I can't really speak in any general way about it, and I've never worked in the non-independent industry, so I can't even compare and contrast... In any case, I suppose I'd have to say for me it's the general uncertainty and instability regarding income, not feeling like I can commit to a decent health plan, and that kind of thing, especially coming out of the coddled university environment as I did (when I sprained my ankle at Stanford, the guy that worked on it was the chief medical officer of the US Olympic Team or something bonkers like that).

There are lots of great things about being an independent developer! At least looking at the industry from the outside, it seems that way. I can work on the things I want to work on, and in the way I want to, for the most part. I'd rather have a non-gaming related job and do DF on the side than work for a proper gaming company.

EdwardRec33 karma

Hi Tarn/Toady and Zack/ThreeToe, Scamps! I love Dwarf Fortress, it's awesome. Here are my questions:

1.) How did you get the idea of dwarf fortress and did you think of the steep learning curve and its complexity but awesomeness in the beginning?

2.) A dumb question, but what programming language do you use? And what software?

3.) What is your favorite inspiration?

4.) Favorite TV channel, too? (I'd love to know!)

TarnAdams59 karma

1) Our idea of having a fantasy world simulator in general terms has been something we'd been kicking around forever. I think the C version of Dragslay, a game I started in high school and never released, was our first real stab at it. The idea of centering development around dwarves came much later -- we were making a weird version of VGA Miner called Mutant Miner, but it didn't work out, and we made the miners into dwarves and made it real time. Then it started stealing from our current fantasy world game (Armok), and eventually took it over entirely. I don't think we really considered the learning curve at all in the beginning... we had like 50 people playing our games or something.

2) DF is written in some unsanctioned messy combination of C and C++, and I work in the MSVC Express studio thing they give out for free, whatever version they are on, or maybe one back.

3) I like reading the Manual of the Planes from 1st edition AD&D, he he he. I still have a beat up copy by my bed.

4) We watch degenerate TV programs on TLC and Discovery and so on. I don't have a TV, but when I'm doing email and the forums over at my brother's place, we always tend to gravitate toward that kind of stuff. I guess it's kind of like watching bad movies together.

thesuperbob17 karma

Make sure you're using the latest msvc, the 2012 version had some really nice improvements. Check it out here. Among other things, there's partial C++11 support, which could both help you code faster and create a previously unimaginable mess by mixing old C code with the new C++ standard.

TarnAdams37 karma

I use the one that gave me the "auto" keyword and saved my life.

crayolaclock30 karma

Are you working on any side projects that are not DF related?

TarnAdams64 karma

Zach and I are both working on several different project ideas, on and off, and there has been some coding, but there's nothing so far along that I actually want to say what they are, since people might look forward to them... I'm not sure we'll ever get anywhere with any of them. DF is sort of all-consuming that way. I don't regret the way it has turned out at all, but it is difficult to set aside time for other things, especially if I want to release something polished enough that I don't end up having two active projects to shepherd along.

footingit18 karma

You've hinted at this a few times and every time that you tell us you aren't going to spill the beans, it just makes me all the more curious.

TarnAdams42 karma

I haven't thought of a way of answering the question that doesn't bother people without just flat out lying and denying it... I'm not sure what to do, he he he.

Cicatricks28 karma

A few questions:

  • how do you feel about games like Towns?

  • how do you feel about the continuing development of LCS?

  • I live in the PNW, and Dwarf Fortress is the primary reason I became interested in game design. I would love to cross something off my bucket list and buy you a cup of coffee.

  • that last one wasn't a question, but I'll add a question mark at the end of thus to make up for it?

TarnAdams41 karma

  • same as my Gnomoria reply above, it all depends on their attitude, and I don't know enough about it

  • I think it's cool that somebody took it up. As an outsider, having a conservative crime squad seemed "gamey", but I haven't played it so I don't know how it works out

  • We've gone to the brewery here with three or four groups that emailed. We're usually down for whatever as long as we don't have to go out of town.

  • ! . . , he he he.

kinderdemon28 karma

Thank you for creating Dwarf fortress and liberal crime squad, two brilliant games!

Is dwarf fortress an utopian project: do you envision a perfect simulator of a (fantasy) universe as your goal?

How do you see the relationship between video games and art (and especially modern and contemporary art)? You have included dwarf fortress is several shows, but I have not heard your views about it.

Have any art historians discussed dwarf fortress with you yet? Would you be open to such a conversation?

There have been concurrent trends in gaming. As technology improved, the mainstream emphasis has been on simple games with cinematic graphics, and the indy emphasis on complex games with minimal/"literary" (needing to be read) graphics. Do you think these trends will merge in a compromise, or become more pronounced? How complex can a game like dwarf fortress get with time and technology?

TarnAdams34 karma

Well, we know pretty well what we want, and what we want is something that is way better than what we've got, and it's also better than we can probably make, so utopian enough I guess, he he he.

I try not to think about the word "art" much. It means enough different things to enough people that it might not qualify as a word at all. Video games seem to be able to do all the things that people ascribe to other media, and that's something. I asked some of the people involved why DF was put in the MoMA, and the best they could come up with for the selections overall was "we had to start somewhere". I'm cool with that, but I can't explain it, he he he.

I've been approached by a few academics with different perspectives, and I think that included somebody interested in the curation of video games, but not a historian of the arts as a whole. We haven't turned down a conversation yet, and I'd be happy to talk to whoever.

I don't have any prediction about the trends. It seems like a hard thing to predict. I don't anticipate there will be fewer simple games or fewer complex games, since there are people willing to play all of them. In a revenue-centered setting, making a simple game is better if that's all you need to make for people to buy it, but it's not as easy as that, because the actual people in the industry want to control the process and make the games they want to make, to the extent that they can overcome various pressures, and I'm not sure I agree about the indie emphasis being on complex games. There are all sorts of indie games, and most of them are simple. A game like DF can get as complicated as you like, although starting from scratch is a tall order for each new group coming in, so something helpful will have to come in to raise the starting point if we want to have lots of them.

PunjabiPlaya25 karma

What do you guys think of the insane community? The thing that I think of first is that guy who built a working Turing Machine.

TarnAdams40 karma

He he he, that was pretty awe-inspiring wasn't it? The parts manifest alone was daunting. That was certainly one of the things that came out of DF that we had not considered in any way prior to releasing the game.

r4nge25 karma

Just wanted to tell Tarn and Zach thanks for making the best game ever. Thanks, Tarn and Zach for making the best game ever.

TarnAdams27 karma

I'm glad you're enjoying it!

mastahcheese25 karma

What is Scamps doing right now?

TarnAdams41 karma

He is stealing a lazy boy chair from somebody and licking his paw.

Shagomir20 karma

Hey Toady! I just want to thank you for the wonderful crayon art of a dwarf riding a hampster. I have it framed on my wall, even!

I just wanted to let you know that I think DF is pretty much the best game ever.

TarnAdams23 karma

He he he he, I remember that one!

shazow17 karma

Have you considered open sourcing more pieces of Dwarf Fortress so that the community can try to help with the nitty gritty engine bits while you can continue having sole ownership of the underlying direction?

The pathfinding and multithreading optimization is a good example of something I'd love to help with given the opportunity. (Related to this question.)

Is there any other way that the more technically-inclined can help?

TarnAdams36 karma

I'm just not a project manager. I tried sharing the pathfinding code with some people, and some progress was made, but unless my involvement is more hands-on, I don't think it'll work, and I didn't want to be involved in that kind of arrangement. On the other hand, the porting and graphics work with Baughn went pretty well, although now I can't work with the graphics code myself because I don't understand it. I'd hate to have that happen to more core pieces of the game. Baughn also had to suffer a lot of annoyances because I have no inclination toward things like version control.

Jerg14 karma

Hey Tarn, a question for some audiophile DF players: is it possible for you to properly studio-record the main theme music of DF?

It is a brilliant piece of music and it's quite a shame that currently it only exists in sub-100kbps bitrate lossy format with a massive static background.

TarnAdams21 karma

It would probably be better for someone else to play it as well, since I doubt I can even replicate the crappy job I did back then. I wouldn't really know where to start though.

CS2214 karma

Hi Tarn.

What are your views on Minecraft?

I remember reading an interview in which sort of glazed over the fact that they stole your whole idea and made millions off of it, something that I know I would still be pretty bitter about if it were me, not so much for the money but for the credit of the idea.

Do you ever think about it? Does it still annoy/anger you? If you met Notch tomorrow, what would you say to him?

Absolutely Love DF by the way!

TarnAdams32 karma

I don't think they are so similar. I don't know the whole Infiniminer story, but that relationship seems closer. I haven't played either game though, and I don't remember the chronology.

I think the NY Times article condensed a 30 minute conversation about Minecraft, indie games, revenue streams, and whatever else down to a few lines (which is fine, since the author practically stayed at my apartment for like five days and had a lot to cover), and I was probably bitter about income inequality or something. I think there was some ambivalent quote of mine about Minecraft in that article at that point (where I change my opinion between two views of it, the first of which I don't think made any sense). In any case, I think Minecraft has been great for DF, because a lot of people hear about DF because they've played Minecraft, and it might also prepare them in some way. I do end up thinking about it, but that's mostly because people ask me about it. I can't think of anything I'd say to Notch, but I was never good at starting conversations.

Crioca13 karma

What do you think about the influence DF has had on the independent game-dev scene? Would you agree that DF has spawned it's own genre / sub-genre? And are there any DF like/inspired games that you've played or liked?

TarnAdams28 karma

It's cool when people want to write games, and if we get more people into that, that is also cool. We were influenced by a lot of games, and it's also cool to see it continue to happen as a result of our own game. More than the content, if we have a part in convincing people that it is possible to write the games they want to write, then that is even more cool.

I'm aware of maybe... 7 or 8 games that say they were inspired by DF directly? And all of those derived inspiration from other sources as well. I wouldn't go as far to say that DF has spawned a sub-genre. City-building games existed long before DF, and only some of the "inspired-by-DF" games involve mining at all.

Psydra13 karma

Just to start out, I love dwarf fortress. I do have to take breaks for months sometimes but I always come back. Maybe some day I will conquer the cruel mistress.

Anyways, I just a few questions for you.

Although I'm not a programmer by any means, what I've read of you has been really inspiring. Dedicating your life to anything requires a lot of effort. I'm just curious what its like to be essentially "living your dream."

As a side question to the one above, what has been the biggest obstacle in doing what you want to do for the rest of your life? Is it ever hard to keep going? Do you ever lose faith in what you're doing?

I really hope that Dwarf Fortress becomes what you want it to be. It's already an amazing game, but I love thinking about the possibilities it has and the places it could go, especially with the ever-growing processing power we're seeing in newer and newer machines. Best of luck to you.

TarnAdams27 karma

Thanks!

I wasn't very happy as a mathematician, in a job that wasn't right for me. This is definitely a different feeling than that. I'm not happy all of the time by any stretch of the imagination, but it's really satisfying to be able to work on something I care about and see it all come to life slowly (very slowly) as I go.

I guess math was the biggest obstacle. Making the choice there was tough in the end, though I was never going to choose math over games. It's sometimes hard to work when I didn't sleep much the night before, simple stuff like that, but nothing like despair or a loss of faith. I don't know... it's really natural to me, maybe because I've been doing it for so long. It wasn't the same with math at all.

rusty_productivity12 karma

Hey there!

I'm a computer scientist major with an interest in working in the game industry after college. My favorite game type (and what I'm working on now while I am in school) are simulation games; in addition to DF, games like Anno, SimCity, Tropico, etc. are all some of my favorites and are definitely used as inspiration.

Is there anything in particular I should be focusing on while in school (specific classes, following certain blogs, specific projects to work on, for example) in order to become a better 'simulation game' programmer? I'm currently taking algorithms and I've already taken linear algebra, and I know for sure those will be very useful. I'm looking into taking some sort of AI or machine learning class as well. Any advice besides that?

TarnAdams32 karma

I'm not sure what the industry demands are here, so it's tricky for me to give reliable advice. From my perspective, everything has been practical experience, so I'm sure you'll become a better simulation game programmer by writing lots of smaller simulation games and understanding how all of the elements work together. A lot of writing a good simulation is understanding how the system you are simulating works, and then being able to create a model for that -- a simple model that doesn't kill your CPU and which models the most important elements, giving rise to a simulation that is "close enough". There are probably lots of decent blogs out there, but I've never been good at finding and following things like that. So, for me, I'd pick something small that interests you and get a simulation up, and it's even better to tack a game onto it, but I don't know how that translates into your actual goal, if you wanted a job offer.

Spoggerific12 karma

Do you have any interesting developer tools that you use for testing or debugging Dwarf Fortress? What kind?

TarnAdams30 karma

Nothing like a stand-alone tool -- there are a lot of diagnostics that I compile in, that'll output combat numbers and things like that, and a debug menu that lets me tweak this or that. That menu is even worse than the regular UI though.

Kentucky699611 karma

also why did you give up on liberal crime squad? :( that was is a very fun game

kinderdemon13 karma

It has stayed in development: Fox has done a good job carrying Toady's banner: I still play it and get friends hooked on it.

TarnAdams27 karma

Yeah, I'd definitely recommend checking out the work the community has done on it. They've put much more into it than I ever did, and as far as I know it is still going.

LrdDphn10 karma

First, thank you so much for the work you've done. - Have you ever been approached by a game studio wishing to commercialize DF? (I can just see Valve making Dwarf Fortress 2 ten years down the line)

TarnAdams21 karma

We had a credible offer from somebody that just wanted to use the name, like "Dwarf Fortress: Something", but that only ever happened once. We ended up turning them down.

Raneman259 karma

When did DF really explode in popularity? Was it just after Boatmurdered? I've always wondered that if this game had not become very popular and built such a strong community, would you still spend all this time building it, if only for yourself?

TarnAdams13 karma

Things like Boatmurdered really helped. I don't remember the chronology of articles and so on, but the occasional press mentions were also times when the audience grew. It never felt like an explosion though. It was more like a slow blooming, with spurts of growth at release times.

Zach and I were writing games back in elementary school, and we didn't release anything on the web until we put up the unfinished Armok 1 back in 2000. If the game weren't popular enough to support us, of course we'd have to spend some time working on something to support us, but we'd still be working on DF as well.

Moleculor9 karma

Is there any plan for if a meteor comes out of the sky and turns your house into a crater with you in it? Some sort've "back-up open sourcing" plan for Dwarf Fortress so that it's not lost, or anything?

What's the first game you remember playing, and/or remember enjoying?

TarnAdams14 karma

The code could survive the destruction of a home, since it is in a few places, but if the meteor kills everybody I know, there would be no one to release it.

I was set in front of computers by my parents when I didn't even know what was going on. I remember some kind of ASCII demon or alien dancing, and they set up the dance moves by pressing the keys. We also had a Vic 20 and an Atari, but I don't remember how early we got those.

reemusk9 karma

Would you take 100 dwarf size horses, or 100 horse sized dwarfs?

TarnAdams42 karma

Take them where and for what? These questions are often about fighting, but if I can take the giant dwarves to have a party somewhere that might be fun.

SasoriDama8 karma

I love you, and that is all.

TarnAdams17 karma

He he he, Curtis Mayfield started going through my head. "Give me your love, give me your love..."

kevok938 karma

Now for the question I'm surprised nobody's asked yet. As the founder of a new sub-genre of games, what do you think (in terms of gameplay, not philosophy) of other new games in your genre, such as Towns and Maia?

TarnAdams11 karma

I wouldn't feel comfortable commenting based on the screenshots. I'm happy that people are working on these sorts of games, but I haven't tried playing one yet.

Zerothe08 karma

No question, just, thank you so much for this game. My brother and I hardly talk, but Dwarf Fortress is one topic in a small list that we can talk about enthusiastically.

TarnAdams11 karma

That's cool. I'm glad it was able to be common ground for you guys.

AHedgeKnight7 karma

What's a feature you want to add but know you never can?

TarnAdams11 karma

Time travel is in a lot of fantasy stuff, and so would properly be part of a fantasy world generator, but there's no way I can do that in any kind of decent fashion.

mazterlith6 karma

What is your favorite color?

TarnAdams17 karma

I can't think of one... I tend to wear blue and green and brown, like an earth.

JoeyH8486 karma

Hey Toady!

First of all, I want to thank you for making the game that I have spent hours upon hours playing and enjoying.

My question is, how do you personally feel about dwarf fortress clones such as Gnomeria?

TarnAdams9 karma

I haven't been keeping track of the marketing or anything like that, but the only thing that's really important to me is that they approach things non-cynically and love what they are doing. Then the game'll be good, most likely, and that's cool.

Jukeboxhero916 karma

What was the most frustrating thing about making Dwarf Fortress? Was it coding a specific feature or was it a time when Scamps walked across the keyboard?

Also, do you enjoy playing Dwarf Fortress yourself or are you plagued with thoughts like "I could make X better" or "there's a bug that needs fixing"

TarnAdams26 karma

I think I mentioned the Z-coordinate being the most time consuming, so that probably counts. Scamps has caused trouble though. I didn't notice until it was too late yesterday, but he sat on the tab key and added 1000 tabs to one of my lines. The worst thing he has done is somehow walking across the touch pad of the laptop and hitting the del key -- he managed to select the entire desktop and press delete. Fortunately, there's a confirmation window... I was like, "hmmm, no, let's not delete everything."

Yeah, plagued with such thoughts. It's hard to play it for a long time.

bakewood6 karma

Hey Tarn, thanks for the AMA. My question would be, when is the UI likely to get an overhaul? I know in the past you've said that it would be one of the last things to get done but, considering you feel it likely that you'll still be developing the game 12 years from now from what I read the other day that seems like it would be way too long to wait.

Even a rudimentary pass on trying to unify look and controls across different screens would make a huge difference to new players and help build a bigger playerbase, I think.

TarnAdams12 karma

I rambled on a bit above somewhere in another UI question. It does seem like a long time, and it'll probably be a long time. It'll likely still be piecemeal changes for some time. It's hard to say how long. There was a time about... a year ago, where I tried to sit down and write some tutorials for the game, to see how that would work, and it was hard to write them, because the UI is grotty to write about since it makes no sense. It's difficult to set aside a block of time to handle it as a large project though, and it's depressing to think of it slowing things down too much by having several more things to maintain forever.

Tony_ze_horse4 karma

What's your personal favourite way to dispose of unwanted peasants/children? Atom smasher? Magma chamber? Bear pit? All of the above combined into one freakish gauntlet run?

TarnAdams7 karma

Zach says, "trap door into a spiky pit" and "thrown into an engraved hole above a magma well".

I never get that far.

elaforge4 karma

About 5 years ago I embarked on my own major project, and despite the differences (it's not even a game), your dedication has provided some inspiration, though not enough that I would quit my day job :)

I see the programming language question has already been asked. Maybe I can ask about related things: I'm also not a "classically trained" programmer, and not totally convinced I can keep a large program from sinking under its own weight. I get a lot of milage out of using haskell, then I write tons of tests, then I keep tons of notes, run profiles, etc. And yet I still always feel like its complexity is teetering right on the edge of my ability to control it. Even organizing the notes so I find them when I need to refresh my memory is a challenge. DF must be so much more challenging! Do you worry about the whole thing getting unmanageably top-heavy or being discouraged by really mysterious bugs or performance problems? And what techniques have you developed to combat those? Tests, profiles, walk outside, read some new user being thrilled about DF's crazy awesomeness?

How about source control? Backups? In my case having several copies of the repo scattered about (home computer, laptop, uploaded to github-alike) provides some peace of mind. I'd hate to see a fire or lightning strike or mine inundation destroy all that work.

TarnAdams4 karma

I've scuttled enough projects over the years that I feel pretty good about keeping myself organized this time, but the fact that those projects died means that there is a process of learning that needs to occur. There isn't anything major I can point to. I keep a ton of text files with development notes, and lots of backups, and I try to have an overall development plan written up, even if it changes all of the time. I don't write a ton of code comments, but I've learned to write the kind that I find useful to refresh my memory. Having your livelihood depend on it also helps! And the morale boosters you mentioned don't hurt either. It's good to know that people are enjoying your game.

I don't use source control, but if you don't mind it and it helps you out, that's a good thing. Yeah, not backing up would be a bad decision.

thesuperbob4 karma

Hi, I'm a bit curious about your life as a community funded developer, both present and future, in particular:

  • how much real, honest effort do you think you've been putting into DF development lately?

  • how much of the above do you spend just thinking about stuff, and how much of your 'free' time do you spend figuring out DF problems instead of getting a break?

  • do you ever feel like you've worked too much or not enough? How do you manage to set the pace for yourself after so many years of development?

  • how are you doing financially, with regard to DF? What part of the donations end up in your pocket, after the split with Zach and website costs?

  • do you think you might be making more as a consultant or company-employed programmer? Is DF development purely about following your dreams, or do you also hope to earn more in the long run?

  • in relation to the above, what's your retirement plan? Do you hope to work on DF until you get old, then live off life savings? If not, how long do you plan to work on DF before switching to a regular job?

TarnAdams9 karma

  • Depends on what you mean by lately. This month was terrible because I got sick and there was all kinds of stuff going on. In general, more than a full time job.

  • I'm at home not sleeping 10 hours a day, and I'm at my brother's place for 6 or so. The latter is when I eat dinner, and we talk about things and so on, and sometimes I plan things out, but it's also the time to handle forums and email. I try to save the time at my place for work, but there'll be periods of thought as well as I think about implementation. If I get caught up in a book, it mostly comes out of my sleep, he he he, but there are things like that, sure, where I'm not consistently working.

  • I think the split of my day into three periods has helped keep things focused (pre-Zach's place, Zach, post-Zach), but adding interesting features to the project is the main motivation. It's cool to see how things turn out. I never end up feeling like I've worked too much, and I think that's caused some other portions of my life to atrophy. I'm certainly not an example of a balanced person who has figured things out.

  • We are doing pretty well. We save some money on the big release months and otherwise tread water. Then the saved money goes into dead computers and other issues, partially, and some of it actually stays saved. The business expenses themselves are pretty small though, a thousand or two a year.

  • I'm pretty sure I'd make more employed at a company, though I have no idea how long I'd actually be able to keep the job, since I'm not necessarily qualified. DF is about making the game. If the money stays like this, that'd be fine, I think, though you can never tell what sort of weird expense might crop up.

  • I'm currently on the work-till-I-drop plan. I'm not sure what else I'd do. I don't have any particular thing I want to do later.

San-A3 karma

Tarn and Zach, you are my heroes!

I've heard about some DF fan meetings in the past but it seems they are all in the US! Do you have any plan to organise something in Europe?

TarnAdams5 karma

Not just in the US, but close to our house -- the travel expenses are the main issue. I also wouldn't have the slightest issue how to organize it. The ones in the US have all been organized by other people. As an idea, it's cool though, and it would be fun to go.

Tastes_like_SATAN2 karma

Before I ask my questions, I wanted to thank you for all the time you and Zach have put into Dwarf Fortress and for all the hours I've lost to it. I just have a couple questions about Adventure mode.

Sometimes during combat the attack select menu switches from the top of the screen to the bottom or vise versa, usually just as I get used to it's old spot. Why does it switch?

I recently managed to get my first necromancer in Adventure mode and quickly noticed that I couldn't animate people's severed legs. What was your reasoning for allowing resurrected hands and arms but not feet and legs?

TarnAdams4 karma

I thiiink that has to do with where your character is on the screen, so that it shows more of the area around your character. It is a little silly though, unless your character is actually in the location that'll be covered by the menu.

Yeah, for some reason that I don't quite recall, a body part needs a head or a grasp to resurrect. Maybe I just felt weird about the legs, or maybe we wanted them to feel threatening.

kiltedcrusader1 karma

When will horse sized ducks become a major part of the game? Duck sized horses?

TarnAdams4 karma

Oddly, some of our creatures don't have the "giant" and "man" versions. But it is likely there will be giant ducks in the future.

Our animals don't have small versions though. A duck-sized horse is less likely.