Dwarf Fortress has always been a brilliant lesson in UX.
It answers the question: what if you had a great product, but the user experience was the worst possible choice in every single way, but all functionality still existed and worked?
It turns out some people will still use the product.
I'm excited to see what happens when the UX is also reasonable.
In a way that's part of what makes it so interesting. It's not merely bad, the UX is completely alien. It feels like software designed by another species. There is loads of software with terrible UX, but most of it is bad in the same boring ways.
I see Dwarf Fortress as outsider art:
"Outsider art is art made by self-taught or supposedly naïve artists with typically little or no contact with the conventions of the art worlds. In many cases, their work is discovered only after their deaths. Often, outsider art illustrates extreme mental states, unconventional ideas, or elaborate fantasy worlds."
Other than the fact that the game was not discovered after his death, every other element of Wikipedia's outsider art intro paragraph fits to a T.
The Throne of the Third Heaven of the Nations’ Millennium General Assembly is a classic example.
Found after James Hampton's death in 1964, he'd spent the previous ~14 years meticulously constructing more than 180 separate pieces from discarded material.
Love it. I listened to an interview this morning on the Eurogamer podcast with _Citizen Sleeper_ creator Gareth Damian Martin, who spoke eloquently at length on this sort of thing. He felt (and I agree) that the video game - especially now - is such a great medium for exploring just this kind of thing.
I'm not sure how great it is. I've learned most of them by heart and it really allows you to do things smoothly, but there are some serious issues in the choice of shortcuts. It is inconsistent and oftentimes the grouping of actions makes little sense.
I always thought the hjkl movement for constructing walls and floors was very cool and vim-esque. But then the fact that you can't build a wall with more than 10 segments at a time ended up being one of the most trying aspects of the game for me, where I loved focusing on building a 3-tier outer castle wall with fortifications on the outside with steps going up and down on the inside and my army patrolling along it's border.
I don't really agree. In and of itself the existence of keystrokes doesn't make the UI efficient. There is still a ton of cognative dissonance and unnecessary friction in DF.
Keystrokes that work in one place don't work (or worse, don't work the same way) in another, menu options that are very similar are ordered differently in different places etc. If you learn how to work one aspect of UI (say the millitary menus) you can't transfer that knowledge to working another (say the minecart UX) most of the time. Except sometimes you can, which makes it even more confusing.
Learning all the shortcuts isn't really the challenging part of learning DF, the underlying mechanics are often just as baffling.
For example the distinction between "Rooms", "Zones", "Stockpiles" and "Locations" which are all just variations on "area marked for some purpose" but that all exist as their own independent concepts and are specified in different ways.
And of you don't know the keys the mnemonics are all there on display.
My real gripe with the UI is that it exists in different state of growth, so hospitals are zones but dorms are rooms; I can guess why hospitals were crammed there, likely because the hospital has a stockpile of items and the room menu didn't have the code for that while zones, which handle stockpile, did, but still.
Apparently rooms, zones, and locations have been reunified in the forthcoming release.
But yea, since all (well, most) of the keys you can press are shown on the screen when you need them, learning them should not be very difficult. Getting fast and fluid with them takes some practice, but a lot less practice than the violin or piano.
Another interesting datapoint is that Rimworld came out which took 25% of the game and put a great UI and in game learning experience in. The game was a massive success.
Accessibility matters so much more than feature count for success financially and by popularity.
My defense of the DF "bad UX" is that it is a complex machine, and like with many complex machines you have to read the manual.
I played a good amount of DF as a student. Never built things too complex cuz it is hard, but after reading some wikis and playing around with it, I ended up getting it.
There is obviously something about how the UX is foreign, and that with other choices it would be more accessible. But I found that the initial hump is the main thing, and that afterwards it's fine? But I am the kind of person who enjoys Dwarf Fortress!
It is great when people can design things that are understandable out of the box, but I feel like it is OK to design something that requires a bit of upfront learning, if those different designs are serving purposes.
The bad metaphor: it's OK if a bus driver has to take some classes to figure out how to operate a crane.
I love DF but its interface is not just different, it is definitely bad.
Worse than not following any conventions is that it is deeply inconsistent. It is inconsistent in how it presents the same information in different places, in how you navigate different seemingly similar menus, even in what key is used for the same action across menus.
For instance, searching in a list is done with q, S, or f depending on in which menu.
Most people don't want to do homework before they play a game. Super Mario Bros. is a game that was alien to many of the first people playing it, but people still played it without reading the manual because the game is intuitive at teaching you what to do.
A good video game teaches you what to do, it doesn't demand you learn yourself. Then it tests what you've learned through gameplay.
Poor analogy. In Mario, the goal is to move forwards and back, or jump, and run towards the end. In Dwarf Fortress, its to manage a small civilization. The only other examples of games akin to it are RimWorld (difficult without a wiki), Factorio (difficult without a wiki), and at a stretch if we're talking simply complexity, the Paradox Grand Strategy games which are frankly unplayable without a wiki, despite having a UI.
Comparing DF to Mario is like comparing a kiddies first play car with an F1 car.
It’s more than that. The game is not _that_ complex and it doesn’t have to be so hard. It’s also not impossible to have the game walk you through your first playthrough. People don’t want to read a manual before playing a game. They want to see those in game popups pointing out features as they play until they are fully warmed up and can play alone.
Dwarf fortress is the result of over a decades work and it’s still not widely played. But most interestingly it’s one of the few games where more people know about it and don’t play it than people who play it.
There is huge interest in the game but the barrier is stopping people from playing.
Both do things very differently, both are complex and require time to learn. The difference is in consistency.
Vim is mostly consistent and that's where its power comes from. Learning the underlying rules is an investment which allows you to intuit most of its functionality. DF is wildly inconsistent and a lot of its difficulty is in learning the quirks of its interface which offer only tedium and no advantages in themselves.
I mean, I like vi/vim, it just has a big learning curve that's none too helpful, but once you get going it's smooth.
DF is like that too, every command is basically a single keystroke. Every menu option has some key assigned. So once you know what you're doing it's not too hard to do a lot of complicated things quickly, but you may have to study to understand what you should even be doing.
It's kind of up to you to create the whole fortress from nothing and it's not always clear what you need to do to, say, make soap. You have to set up (and learn) entire production chains for items, get people to do the labor, etc.
I'm personally not fond of having a command mode separate from a typing mode. As someone who learned to touch type (on a typewriter) I don't always look at the screen. In vi, if you're typing away while in command mode, all sorts of things can go wrong.
The one sin I can't forgive, though, is that he movement keys aren't the same as the home row keys. jkl; would have been so much better. Everything else I'm willing to chalk up to preference -- I prefer the chording of emacs, but I can understand it's not for everyone. To me it feels like vi was written for hunt and peck typists.
jkl; does make sense, I may try remapping that, though I don't really think about it anymore. I remap jj to esc so I don't have to leave the home row. I dont have to look at the screen unless I'm trying to build a regex for something. I do remember being in the wrong mode a couple times and doing odd things. My only problem with the chording is that my pinky gets tired way faster than my other fingers.
I would remap, but the major reason for using vi is that I'm hopping onto another machine or docker instance -- then my problem would become propagating my .vimrc file everywhere. So I keep my vi knowledge to plain vanilla on purpose, generally.
I may be more suited to chording just because I have very large hands and will use either pinky, or the palm of my hand to hit the control on either side.
Plenty of games do both. You can have buttons with hot keys visible on them. Age of empires is a good example. A total beginner can play just fine while a pro can play at extreme efficiency via hot keys. But most importantly, a beginner can transition in to hot keys gradually as they are very visually obvious.
super good point, I learned all the shortcuts in excel by using the menus, back when it had menus. The shortcuts still work though the menus are gone. Not sure how someone would learn them now.
Well, what's interesting is that Rimworld has a good UI/UX and has the same formula/gameplay loop at DF. Last I remembered, it had the highest user rating on steam for awhile. Many, including myself, consider it as one of the greatest games ever made.
DF is also occasionally listed as a contender for "best game ever made" - but the fact that it's inaccessible will always force it to be obscure and nearly mystical among gamers. I'm also convinced that the modding community in rimworld has overtaken its DF equivilant, meaning that modded rimworld is probably more filled with content (and therefor, emergent possibility) in 2022 than DF-with-mods is...
---------------------------
I always thought that Dwarf Fortress should be compared to Cataclysm: Dark Days Ahead (CDDA) on the UI/UX front.
I think CDDA is the gold standard for ASCII/CLI/TUI style of control - and I find that I can extremely quickly do things in that game all on my keyboard, almost like a tiling window manager.
I'm sure this sort of nirvana is possible with Dwarf Fortress (with the LNP) - but I was unable to achieve it, despite having sunk over 500 hours into rimworld and nearly as much in CDDA before playing DF.
I've played RimWorld modded to hell and back, and got maybe 20% of the way towards vanilla DF. That's not to diss Rimworld of course, it's probably my favorite game and has a different focus than DF. But in terms of pure emergent complexity, Rimworld has it incidentally and DF has essentially nothing else.
I think this is something people miss - the "build a fort" part of DF is almost an afterthought around the main engine power - the story generation. The whole idea is to generate emergent stories of the high fantasy type - and it works surprisingly well at that. I've rarely, if ever, read anything like Boatmurdered based on another game.
Much fewer users though... If Dwarf Fortress magically had the UX they are working on now back in 2012 it would be worth at least $50million+
Now, the fact they skipped working on the UX until now allowed Tarn to implement very difficult crazy features Z-level fortress layers and Fluid Dynamics.
>the fact they skipped working on the UX until now allowed Tarn to implement very difficult crazy features Z-level fortress layers and Fluid Dynamics
Not sure how seriously this was meant, but I unironically agree. I learned, while still in college, never to mock up a "working" polished UI lacking all the complex backend, just to show the client how it'll look when it's done. To the non-computerati, the metaphor is a tradesman working on renovations. If you don't make development versions look and feel like crap, the normies won't accept that it's not "almost ready".
Tarn's priorities here drive away most people, and filters for the sort of person who thinks "modern graphics library" means "ncurses".
It's also a side-effect of his work on the previous game, where he got bogged down in graphics, etc, and couldn't even get close to what he wanted to make. Which is why it is Slaves to Armok II: Dwarf Fortress.
The Z-level stuff is so ingrained into me as a default (I started playing just before it was added) that it's amazing to think that some of the most famous DF stories are from before it was added.
I almost prefer it, I think! It felt much more like a proper story game with a challenge rather than the modern result of "The Sims, but dwarves". A single Z-level may be too austere today, so perhaps a modern iteration could use the same layout but with three or four Z-levels. I wonder if there's a way to replicate that today with some map editing...
The real trouble I had with the old versions was the inability to build walls. As I recall, once you dug something out it was dug forever.
It used to be you could be almost completely safe if you just stayed in the upper z-levels and didn't dig too deep, but with the caverns update you now can find various types of fun imported directly to your back door.
When you generate your world you can change the amount of layers per layer zone.
I don't know the minimum off hand but it is probably around 6 normal stone or cave levels, minus the levels used for open sky space and magma sea which I don't know the minimum for. Trees are multilevel now and I don't know that they will grow on a single layer.
The left was outside, the mountain face was basically a vertical line, and all the things we associate with "deeper" were found further and further to the right of that line. Some ways in you'd find an underground river (which floods when you first find it), then a chasm (enemies spawn from here), then a magma river, [spoilers for ancient versions of DF start now] eerie glowing pits, and finally adamantine. Finding adamantine made the king show up and demand you mine more and more adamantine, but the more you mined the more likely you were to have your fortress suddenly end in a cutscene.
All these fixed elements gave the game a specific progression of increasing rewards and challenges, and a guaranteed story arc for the whole fortress.
From what I've seen, it was fully 2-D: the "surface" was to the left, then you hit the mountain face, and the further to the right you went, the deeper you were, until eventually you breached the proverbial Hidden Fun Stuff.
> If Dwarf Fortress magically had the UX they are working on now back in 2012 it would be worth at least $50million+
And how did you come up with that 50 million USD number? Is it multiplayer? Can a major corporation use it to target a young audience demographic? Will there be a mobile version or micro transactions?
If Dwarf Fortress was able to be more than an inspiration and took the "we're selling it" instead which then would allow a different cycle time on features with different priorities, a 50M number isn't unreasonable at all for what the game would be worth today.
I understand Minecraft's valuation -- sort of my point -- those features are what made Minecraft valuable, not the core gameplay elements. Dwarf Fortress would need to go down that road, not just a nicer UI for it to be valuable.
I first learned this lesson from Napster ~1999/2000.
The Napster UI was terrible - almost completely incomprehensible. And everyone I knew, including my least technical friends, was using it. Because getting music for free was worth dealing with any UI.
Second time was MySpace customization: you had to paste your own CSS into the "about me" profile box! And people figured it out, because having a custom profile was desirable enough that it was worth it.
There’s some kind of lesson we maybe haven’t absorbed properly. Millions of people learned crazy shit like WordStar before Word, then MS-DOS before Windows, and then building websites by hand using HTML. Millions.
Of course I completely recognize that improved software increased these markets by orders of magnitude, but to this day I remained fascinated that regular people managed to use such primitive tools for so long.
The modern UI design on smartphones and PCs has created a whole skillset of its own.
Many boomer types find MSDOS to be simpler than windows. I would argue that in many ways html/css/javascript is simpler and more intuitive than wordpress.
Text is such a simple way to organize information. I am still amazed how much information and precision you can pack into text that would take a 10 hour youtube to match.
Was it? I hardly remember, but searching for old screenshots from the time, it seems pretty straightforward... are those later clients already? Did you have any particular gripes?
The graphics people often change, though technically the UI would remain the same (keyboard characters, etc).
However, there are additional tools that let you do "bulk actions" by directly editing the Dwarf Fortress memory while it is running - these are technically a UI bypass.
The actual UI is just difficult to learn but once you do it's surprisingly easy to use - it's consistent in its own inconsistent way.
I would think things like Dwarf Therapist are a good example of the community trying their best to improve the UI despite the roadblocks put up by the developer.
I am a DF obsessive. Many thousands of hours spent playing the game over the past 12 years, it is my favorite game by far. I've also had numerous abortive attempts to learn how to code. It humbles me to think that people find the UI so difficult to use that they'd sooner spend time coding another one.
This is the problem - those who can code usually end up learning DF "well enough" and many of those who complain about the UI wouldn't even play it with another UI. I personally never really found the UI that big of a hindrance; it's like learning Lotus 1-2-3 shortcuts.
This "sell it on steam with a GUI" is actually brilliant, because lots of people will buy it and some will play - but it gives those who like the idea but don't actually want to play an excuse to give Tarn money.
> and many of those who complain about the UI wouldn't even play it with another UI
I feel like that's a stretch. Just look at how many people play Rimworld, which has a fundamentally similar concept but much, much easier to understand UI/UX.
I think he should sell it but open source it enough to allow mods or an engine rewrite. I think capturing his creative output w.r.t. game inclusions could still make him some money.
The game is kinda gimped because he doesn't know how to multithread it.
The single biggest CPU usage in DF is the pathfinding algorithms, and making those multithreaded is complicated. Tarn himself has admitted he doesn't know how to do it well, and has left it for a later enhancement.
Other aspects of DF are now technically multithreaded if I recall correctly, but that's for sound and graphics and stuff that doesn't really remove the pathfinding processing.
Lots of the newer features like burrows, etc, are to allow the player to help the pathfinding algorithms.
There are modern entity component system frameworks (tendency for these to be written in new languages, but there's ones for C/C++/whatever) that would allow this to be multithreaded quite well. He just doesn't want to put in the time to learn them for some reason.
dfremote was close to this, it was very nice on my ipad with the apple pencil. Sadly we've not had updates in some time and I think the developer has moved onto other things [0].
> It answers the question: what if you had a great product, but the user experience was the worst possible choice in every single way, but all functionality still existed and worked?
Heh, dunno, never got into it, but was curious. Been following progress, and plan to tinker once the steam version with a full GUI have been released.
The blog updates have been amusing, things like dying cats from soaking up too much beer in the pubs. Various bugs and non-bugs that result in crazy events. Many amusing stories, etc.
I love the idea, but didn't want to invest that much time in learning the UI.
I guess it kind of depends on how you mean it, but I think there are many worse things... I've used software where actions that should be a single step are two or three steps (like a "click OK and now confirm that you clicked OK" for an inconsequential step out). I've played games with intentionally difficult UI, like QWOP. There are a few Windows computers at my work which are a bit older and when you go to open a program, nothing apparently happens, so you instinctively click again, and again nothing happens, so you either click again or wait a while, and then finally your web browser (or whatever) opens, but you get several windows open since you clicked it a few times, and this happens every time, just due to the way the UI delay happens. Also, there are experimental designs like https://userinyerface.com/ which illustrate brutally terrible UX.
So, in my experience, the Dwarf Fortress UX is definitely complicated and isn't easily discoverable, but at least it does what it's supposed to. It doesn't infuriate me the way that some things (especially truly poorly designed things) do. This is why I claim it's far from the worst.
I've seen interfaces as obscure as DFs but requiring the mouse or losing type-ahead. Once you know what you're doing in DF I find you can often be running ahead of the menus (and there's not that many variations to memorize, very quickly you get muscle memory if you're playing it for any significant time).
Aurora 4X is pretty bad - it's as confusing as DF, but much more clumsy to use. Some dungeon crawl games have incredibly opaque UIs. System Shock 1 (non-enhanced) feels really, really terrible now, but I'm not sure it was as bad at the time.
I'm not sure those qualify as worse than DF though. Depends on your definition of worse, I guess.
Also, DF makes an effort to make the game at least minimally playable on a variety of systems e.g. adjustable resolution of the game window, tileset support and so on, Aurora is basically a big old "screw you" to anyone who needs text or DPI scaling (which I would suggest is most people using a QHD or higher resolution display). Important UI elements get pushed off-screen, and the dev outright refuses to consider fixing it.
It is understandable enough given it's a personal passion project that they've happened to make public, works fine on the devs own system, and as I understand properly handling windows scaling is a LOT of work, but it does make it very frustrating to see this tantalising game but not being able to play it without non-trivial amounts of screwing around.
I think the only way to get that type of improvement in Aurora would be to sneak into his house to replace all of his monitors with better ones. I understand that he goes camping in his RV for several weeks at a time several times a year…
The first word ribbon iteration was pretty dire. Finding out where stuff was tucked into was exasperating, especially since some stuff only showed up contextually to your caret position of range selection, so if you didn't know what you were looking for it was undiscoverable
It makes sense, dwarf fortress is not suppose to be useful, it's a game, people play for the challenge... so destroying it's usefulness with bad UI doesn't mean much as it's not useful in the first place. But doing the same thing of destroying the usefulness of a actual useful product will cause people to not use it.
Replacing the steering wheel of a car with the DF UI, for example, will literally stop everyone from driving it.
My theory is that this is why most enterprise software is terribly slow and buggy with horrible UX. If something works, and there is a completely coherent logically consistent system buried in the mess, people can and will usually figure things out. And the drive to make more features generally wins out over time above addressing technical/UX debt.
I have enormous respect for the systems, complexity and emergent behaviour (eg [1]) that these two guys have created over decades at this point and continue to create.
But I just cannot get into DF in the way I would like. Even with Dwarf Therapist, custom tile sets and so on it's still a management nightmare. I am told some people just have a lot of idle dwarves. It always struck me as there were too many dwarves before you've created any sort of structure.
I got to a point where I needed a militia to defend against some monster and that was going to be a whole new system I'd heave to learn, assign dwarves to, suplly and manage and I was like "this is too much".
I know failure is the default mode (and some consider inevitable). It's a cool feature that if you play again on the same world you can find your old ruins.
I wish this were in a form where a community could contribute to and build this out because I think it could really help. I understand these guys derive an income from it and I support them in that. It just seems like there's so much missed potential here.
Some good iconography would go a really long way. If dawrves were wandering around with symbols above their heads showing they were hungry, thirsty, sad or whatever without having to inspect them you could communicate a lot of information. You might be able to see you have a food shortage problem or why dwarves have wnadered off looking for food. Or even that they're just bored.
If you were looking at dwarves you could see that they're your militia or your farmers or your miners. Not visually conveying information just seems like a massive missed opportunity.
> It always struck me as there were too many dwarves before you've created any sort of structure.
Agreed, which is why the first thing I build in any new fortress is a giant wall around my fortress with only one way in: a long retractable bridge over a giant pit of death. When new migrants arrive before I'm ready, I flip the switch as they're crossing the bridge. Rather gruesome, but I do get all their stuff and my fortress gets a reputation for being dangerous, so fewer migrants show up.
You need your dwarves to be idle from time to time, otherwise they are overworked.
Incidentally, the dwarves _do_ get symbols over their heads when they are hungry, thirsty, wounded, insane, etc. Also, the appearance of each dwarf is based entirely on that dwarf’s profession. The fact that all of your suggested improvements are basic features of the game and have been since the beginning is telling.
On reflection I feel that I should be more specific.
Your dwarves need many things in order to stay happy and emotionally balanced. They need rest, relaxation, socialization, friendships, relationships, family, music, dance, worship, knowledge, culture, art, beauty, competence, alcohol and nostalgia. (And possibly several others that I have forgotten.) One or two of these things can be gained while they are working, but the rest all require that they not be pursuing tasks dictated by the player, which means that they are counted as “idle”.
There's a config option to limit the total max number of dwarves, which can help (though mainly on peaceful or similar starts - obviously you can't fight a war without dwarves).
I believe the dwarves now will flash some various icons (in the text mode they'd flip between the dwarf character and a downwards red arrow, for example) but it's usually when they're almost dead of whatever it is.
My problem is a very close one - handling the waves of migrants the game throws at you. Even with Dwarf Therapist, there's just way too many jobs to keep track of. I'm kinda ok with idle dwarfs if everything is being attended to. I would generally take idle dwarfs and turn then into a militia.
It seems my fortresses start to break down at around the 30 dwarf mark, but after 10 it already starts to run not-optimally.
Had better luck with Rimworld as generally it takes a while to build your numbers.
At some point the game mostly becomes creating job orders (instead of creating orders manually) and trying to figure out bottlenecks in your fort. It might be lack of materials, lack of assigned dwarf (or all of them busy or something) etc
Give dwarf therapist a try if you haven't already, it makes changing jobs a lot easier.
There will be always idle dwarves. For example you will want your critical dwarves (manager) free unless you need them. And you will want specialized dwarves (say one just for wood cutting) that only does one job and will be free and available the moment that job is needed.
Also a trick I use for handling new migrants, there is a useless job (alchemy? can't remember). I toggle that on for all my dwarves. And when a new wave joins in, I can easily find them by looking at dwarves with that job toggled off. Assign them jobs and then I toggle alchemy as well.
> If dawrves were wandering around with symbols above their heads showing they were hungry, thirsty, sad or whatever
But there is, they flash various status icons. Except idle. But you can find idlers at the gathering zone
The only thing that misses in the flashing status that I can recall is "waiting for a party to start" and they all just sit in the dining hall until everyone scheduled for the party arrives. That threw me off s little sometime as they just stand, while normal idlers at least wander a little.
The development of Dwarf Fortress has been fully funded by donations for well over a decade I believe. I used to donate but I stopped when I was saving up for a home. It seems their financial support has been declining since 2020 - maybe it's time for me to start donating again.
I really hope they would release the game on Steam soon so that people would just buy the game and the donations won't be necessary.
I understand that they might want to polish it but I'm not sure if polishing is actually worth. The original game has been continuously getting updates IIUC, so it might be totally OK to release sooner and then use the same model in Steam.
> I understand that they might want to polish it but I'm not sure if polishing is actually worth. The original game has been continuously getting updates IIUC, so it might be totally OK to release sooner and then use the same model in Steam.
I think the platform shapes the user's expectations of what is acceptable though. If I buy a game on Steam I expect a certain degree of polish when I download it. If I were to buy the same game on Kickstarter I might not even expect to be able to download it for a few months/years. If someone donates to Dwarf Fortress, they probably already like it in it's current state and want to see where it goes.
That makes a lot of sense, but I feel like Steam's "Early Access" is exactly for that. I can't speak for everyone but I often buy games there just to support the developers and don't expect it to be a success (maybe it turns out to be good, maybe it doesn't; either way, it's too early for a "full experience").
Maybe it changed lately, but plenty of astonishing games came out of "Early Access" while being rather unimpressive (though promising) at first.
I blame Steam for shifting the market's expectations about early access.
In the years before Steam got in on early access, I bought a few early access games, and the attitude was "Keep at it! Hopefully this will pan out," not "Now you owe me a finished game."
For example, I blew $50 on a starter ship in Star Citizen in 2015, when I already felt it was extremely likely Roberts would burn out before his vision could be realized. I saw the purchase as a charitable contribution toward people putting effort toward a niche I wanted to support.
If the project collapsed, there were dozens or hundreds of developers who had spent years honing their skill at crafting a MMO space sim. If they have to move on to the next thing, certainly many of them are going to take on similar projects with a narrower, more deliverable scope.
Also I felt it was useful to signal to the industry that there was unmet demand for this sort of intricate space simulation.
When Steam got into EA, expectations shifted from charitable encouragement to placing a pre-order and getting a partially playable demo to tide you over.
It would be awesome if we could get to a point where with some combination of GPT3+Dalle2/Imagen we could feed it a task and it would spit out a game version that accomplished that very thing.
For all the dwarf fortress fans out there, check out Songs of Syx. It’s still early access, but it captures a lot of the same appeal with a slightly more streamlined interface. All built by one dude as well.
I tried Songs of Syx a few weeks ago and, coming from a background that includes Dwarf Fortress, Rimworld, SimCity 2000, Cities Skylines, and Oxygen Not Included, I thought Syx was kinda meh. The novel thing about it that was cool is that it seemed to mix Dward Fortress with SimCity in a completely novel way where you see the individual "sims" or "dwarfs" but they are cattle not pets and the thing you're building is a city.
In the end, the city-building aspect quickly became rote for me, I find the direct overhead view disorienting and unnatural, and the game didn't have a lasting hook that pulled me in (opposite of Factorio, which maybe had TOO MUCH of that).
I like it much better than Rimworld personally. Rimworld's setting always struck me as odd and unrealistic and I wasn't a fan of the sci-fi aspect of it as it leaves open too many technology ideas. It also required way too much micromanagement whereas songs of syx already has a lot more automation and the units seem to actually do what you tell them to.
Personally I don’t care about the graphics they are cool but the one feature I wish DF would have instead is being multi threaded to take advantage of modern processors with multiple cores.
There comes a point where you just can’t play anymore because everything is way too fucking slow.
I’m not terribly familiar with the game but I imagine half the frustration would be in the UI slowing down rather than the game speed. I’d imagine it would be much better if the UI and map still worked full speed but the game state slowed down and become almost turn based.
That’s why you use instances and break up the simulation into discrete spaces. At the very least for instance, you can simulate different Z layers on different cores.
Sadly this will probably never happen. Tarn is no slouch as a coder, but he's an old school C programmer working on a massive, legacy, single-threaded C++ codebase. Introducing useful and stable multithreading to similar codebases has taken teams of programmers years to achieve.
I heard the pathfinding is slow, and that's almost readonly and very parrallel. So a model where the game only threads this part might be a first step.
Talking as someone who knows nothing from the codebase here, of course.
I'm not an experienced reverse engineer by any means but I took a peek at dwarf fortress in IDA and found what I believe is the combat simulation function. At least it uses strings like: "flies off in an arc" and concatenates them together.
The function itself is massive, I had to increase the node limit for IDA graph view to see it in graph mode. If rest of the code base is similar then I can see how it would be a big job to untangle it all and parallelize.
Tarn has also said that he is not a SW developer, coding is just means to an end for him to make a game so I sort of expected spaghetti.
The game is great though!
Yeah I have the same opinion. I have played way way too much DF, and new graphics aren't going to get me back into it. I just want to be able to ward off FPS death until I have at least 1000 dwarves and a giant magma moat
Amazing after years of complete neglect, Tarn is focusing on the UI/UX. He used to be completely opposed to any sort of UI work, often talking about how the SDL code was a complete black box that he had not written.
The donations have always flowed, but they've been incredibly meager compared to the success that several df inspired games have achieved in the last decade. Toady has mentioned that his brother's cancer scare made him more concerned about their financial future. It reminds me of lazlo's quote from Real Genius "Lately, I have come to realize that I have certain materialistic needs." Hopefully they find enough financial success with the steam release to never have to worry about money again.
It's interesting to keep seeing DF evolve over time. It wasn't that long ago that I remember DF was ascii-only, and starting a new game took several pages of explanation and setup. It seems like they've streamlined and improved a lot.
I think there's still a ton of room to go moving foward, UI/UX design is really hard and the problem of keeping a system flexible and configurable while also easy to use is no simple task.
From the point of view of someone who basically never plays computer games and has almost no interest in them: if I were to start playing a computer game, this would be the one. I find this project fascinating. However, if I were to play a computer game, this would probably be the worst choice, because it would probably be too interesting and suck up too much time.
It doesn't really suck up that much time. It's not even as complex as people make it seem.
There's a lot of stuff simulated - you can wrestle with someone and throw them down some stairs, where they break a rib, and that rib punctures their heart and causes them to bleed to death. But from a UI perspective, you're still just throwing someone down the stairs.
I think it's a good choice for only game too, because once you're used to having so much agency in a game, it spoils you for many other games.
I've played DF since just before the massive z-level update (2008?) - I was living in a girl's college dorm with my girlfriend and her roommate's boyfriend that was living there turned me onto DF and Fallout, etc.
DF has been the one thing I have turned to over the years as a therapeutic device when I'm in deep depression and meds/therapy doesn't feel like it's doing it: the function of procgen obscurity, guided freedom of choice, and even the simple repetitive mundane nature of it that doesn't feel like it (even the looped guitar track) helps me really get through some dark days.
I'm worried seeing the steam updates like Tarn is begrudgingly making UX/UI changes for "the people in our community that can't handle ASCII" when he is obviously NOT a UX/UI guy (evidenced by the product of DF itself). The textbox styling look like he's just adding bland graphics as #goodenough.
If they patreon'd a $100/month tier where I could support a team to help translate his brilliant spaghetti into clean, streamlined frictive processes (militia workflow having broken defaults, navigation, etc), and maybe even some devs to optimize his legacy code so embark can handle larger complex sites and maybe CO-OP (come on I can dream). So much of the flow has always felt like I have to do this because this is how it is done in DF.
tldr: I am worried Tarn is not a UX guy, begrudgingly building UX for DF, when he (and WE) are missing out on a massive opportunity to build something with less friction and more [FUN].
Tarn is not doing the UX outside of any back end coding changes needed. Kitfox games is doing the UX, which is why this blog post isn't on Tarn's site. As I read the blogs I believe he is giving input and making code changes to support information retrieval, but he isn't the one actually doing the UI and Graphics.
I've played DF since back when it was Slaves to Armok. I don't think Tarn/Zach are that bad at UI/UX. It's just they headed down this path as the low friction route, planning to come out of it later.
It answers the question: what if you had a great product, but the user experience was the worst possible choice in every single way, but all functionality still existed and worked?
It turns out some people will still use the product.
I'm excited to see what happens when the UX is also reasonable.