25 ms·
Dwarf Fortress Development
- AustinG08 10y agoNo offense but trying to read a list with that background burns the eyes
- jessaustin 10y agoThis game may not be for you.
- Joof 10y agoSorry; many are not acquainted with dwarf fortress. This is Tarn's style -- no style and all substance. It's worked for him for a long time because the substance is so substantial. He's developed a procedural story generator; it doesn't look pretty on the outside, but it's become his life's work and inspired generations of developers. The visual style of the list may be closer to an academic's webpage (he is a math PhD after all), but for fans of the game, it's a blueprint for a masterpiece. I personally like the way he designs; write a story then build the game until it could potentially be generated by the game.
- prawn 10y agoIf he was all substance and no style, wouldn't he have a plain background colour that was about legibility, and inline any necessary images? This strikes me as a particular, intentional style.
- Joof 10y agoCertainly. It was just the best/easiest way I could think to describe it in a single sentence. Dwarf fortress is fairly unique in style. I could say it's style is good, but I'd have to describe the game, it's culture, it's development history and how the minimal, perhaps unclean and cludgy style can help weave your imagination into it's narrative. He could clean up the site, but I think it helps players understand the contract they are getting into by playing this game. A clean website would misrepresent dwarf fortress and it's style.
- oscilloscope 10y agoI'm going to go out on a limb and guess you've never brewed fine wine out of plump helmets, never carved the history of your race into the stone wall of the great hall, never scrambled after the goblin attack to remove decaying bodies of slain brethren as the last survivor goes mad with grief and purple miasma fills the mine.
- cryptoz 10y agoNot sure why you're being downvoted. I agree. Merely opening that page made my eyes and head hurt immediately so I had to close it. I get that the game isn't for me, or for you, but it's a valid thing to say. I have a minor headache because of this page, and while that's not something I would normally complain about, I think it's a perfectly valid thing to say.
- aeontech 10y agoI think he's being downvoted because the observation does not say anything about the contents of the article linked. If there is nothing substantive to contribute to the discussion, better to say nothing.
- AustinG08 10y agoI find the responses to my comment pretty great. I find the comment that "the game is not for me" particularly amusing. This game is right up my alley. I knew I would get downvoted for posting what I posted, but I feel it should be said. Contrary to what the other guy says, I feel it's a valid contribution in itself. I get that the background is the game. I get that it is a brilliant game. I get that it is a cult classic. I don't care if nobody cares. It is a fucking terrible background to read text on.
- intended 10y agoActually, you could even mention it to the brothers, its quite possibly something they may eventually get around to fixing (if its a small enough fix). Or you could wait till someone makes a web page which tracks and sorts all the goals into a readable tree, thus side stepping the issue all together.
- Kapura 10y agoThis game simulates at a granularity that is light-years beyond anything else that exists, so it's only fitting that the dev notes should contain goals which are absolutely impossible to imagine in any other game.
- outworlder 10y agoIndeed. From engravers drawing rats on a noble's bedroom walls because they dislike said noble (who hates rats), to cats getting drunk, because dwarfs moving around would spill their booze, which would get into the cat's pawns, who would subsequently lick them... the level of detail is outstanding.
- Natsu 10y agoIt's funny how you can look at a simple item on that list, say, 'randomly generated musical instruments' and suddenly imagine a magma-powered tuba that menaces with spikes of microcline and which has an engraving of a dwarf and dwarves in orthoclase and rat leather relating to the founding of Doomedice on the Forgotten Glaciers of Terror in 1387...
- yaur 10y agoWhere it falls down is that none of that has any meaning. There is no context to explain why Doomdice or the Forgotten Glaciers of Terror are significant, nor what was going on in 1387 that caused dwarves to settle in such an inhospitable place.
- BasDirks 10y agoThat's where this magical thing of imagination comes in and takes over. Dwarf Fortress is the gaps in the world that it presents.
- deleted 10y ago[deleted]
- cjpa 10y agoIf you go read the Legend Mode, you'll find mentions of Doomdice and you can look up quickly what happened in 1387. Everything you find on artwork, is either related to the preferences of the dwarf who created the item, or to some of their known history.
- grenoire 10y agoIt all has meaning. It's not just a RNG picking off words from a list and putting them together. All created masterpieces refer to an actual event in the history. All worlds have full histories with wars, civilisations rising and collapsing, megabeasts destroying pregenerated fortresses etc.
- Natsu 10y agoWell, usually the player would know why they settled in a haunted glacier, but masochism and insanity are two popular reasons for doing such a thing. Usually the player's imagination helps create the story at that point. You can find a fort almost exactly like that in Roomcarnage: http://www.bay12forums.com/smf/index.php?topic=139393.0 http://www.bay12forums.com/smf/index.php?topic=139393.0
- volak 10y agoI love the game and have played it many times over the last 5 or so years... But does anyone else feel kind of betrayed/insulted that the project is not open source? The team is mostly just supporting 1 or 2 core devs who take years to release new features - and for a while now tools like dfhack are basically required to play the game. The game has a huge community of fans but no one can contribute in any meaningful way. I dunno I find it mildly frustrating.
- jessaustin 10y agoI suspect this is the sort of project that would die from design-by-committee injuries, if it were exposed to them.
- Raticide 10y agoI don't think he even uses source control, so I imagine the code is not the cleanest.
- snerbles 10y agoI wonder how many self-conscious developers are out there, that don't release their source code for fear it having glaring flaws that will bring the wrath of their peers upon them.
- fzzzy 10y agoProbably a lot. My guess is something similar happens with commercial software. Some commercial software that everybody loves dies, and the community cries out for it to be open sourced. Meanwhile, everyone that ever worked on the codebase is thinking, "You want to see this source? Uhhhhhhh..."
- andyjdavis 10y ago"Wow, this code is weird. Lets look at the commit history and hopefully that can shed some light on this..." commit 7245 - working now, dont know why. whatever commit 7244 - added debugging commit 7243 - stupid impossible bug reported commit 7242 - UI unimprovements I am required to make commit 7241 - it is friday so committing before I go home LOL
- aeontech 10y agoI know they don't want to open source it, but I wonder if they would be amenable to having a volunteer who would help organize and push the code into a version control system hosted on their private server. In an interview I read, Tarn said something to the effect of that "he was not interested in learning about version control and it would just be a distraction that would take away time from the important work, since the way he works has worked for him for many years". I can't help but think that first, it's a bit dangerous way to work, all "past, current and future" state of the project is only in his head and if he happens to become indisposed, the project is very very likely to die (though I suppose there would be hardcore fans willing to reverse engineer it)... Second, it's a loss of historical record... imagine in fifty years historians wanting to analyze the project's history, it would be so much more useful to have a granular history instead of just a blob of files scattered across thousands of directories... Just look at Unix History repository here for example: https://github.com/dspinellis/unix-history-repo https://github.com/dspinellis/unix-history-repo - I think there's immense long term value in preserving this kind of archival history.
- kiba 10y agoYou aren't going to convince an idiosyncratic developer to release the source code and do all the other things that make a good developer a good developer. I see it as a double edged sword. It's good we get DF, but at the same time, DF itself is a huge mess.
- vacri 10y agoThomas Biskup of ADoM said that he'd not publicly release the ADoM code for two reasons. First, people would trawl it for the secrets (discovery is a big part of the ADoM experience). Secondly, he was embarrassed about the state of his code and didn't want to let people see... He did do a re-release recently that I funded on $kickstarter_analogue, but I haven't had a chance to play with it yet (and it's been a while...)
- krige 10y agoThere are numerous public prereleases available and I'm playing the most current one right now (the barebones ascii version). It's still the ADOM I knew, but now with extra dungeons, stuff to do and a variety of fixes for bugs and scummy exploits.
- pavel_lishin 10y agoHow plausible would it be to take the generated executables, and get actual, readable code out of them?
- Waterluvian 10y agoUsually considerably slower than just writing it all again.
- fzzzy 10y agoPlausible, although your definition of the word readable may vary. In fact, I believe this is how the minecraft modding community operates (or operated), although they are starting with java bytecode which is much higher level so probably have an easier time of it. Decompilers of varying quality have existed for a long time: https://en.m.wikipedia.org/wiki/Decompiler https://en.m.wikipedia.org/wiki/Decompiler
- khedoros 10y agoIt depends how much you like reading a whole ton of X86 assembly language, with all the variable names replaced with numbers. Something that looks like the UI code has its source included with the game, so there's some info to be gleaned there. Also, any interfaces to external libraries would be fairly easy to trace. Still: Very difficult, due to the size of the binary (21MB), and the level of painstaking attention to detail that's necessary to reverse-engineer a program from its binary. Automatic decompilers exist, but they're fairly limited, and you'd still have the issues of meaningless variable names, even in the best case.
- rtpg 10y agoEmscriptem has a "loop detection" feature, I wonder if you could apply that to the binary...
- khedoros 10y agoOne classic way to handle it is to load the binary into IDA Pro (a graphical disassembly suite). That starts from the entry point of the binary and traces through as much of it as possible, noting the locations of strings, function calls, the state of the stack when functions are called, different segments in the binary, etc. It'll allow you to view the code in blocks connected by lines, which indicate branches and loops. As a dev, you can go through the code then and start working things out. With some investigation and the context of where you are in the program, things slowly start falling into place, and you can start putting names to different functions. Although...Dwarf Fortress looks like it was compiled with GCC 4.5, so I'd expect things to be pretty difficult to read, just because of non-obvious optimizations made by the compiler. I've always thought it would be useful to have a debugger that logs all the locations that data is read from or written to during execution, and which addresses were executed as instructions. Just play the game for a while to try to get some good code coverage, and import the data as extra input into IDA (probably you'd have to write your own plugin for that too).
- Sabinus 10y agoThis game is the masterpiece life's work of one eccentric math PHD developer, and if you have any interest in fantasy or poetry in your soul I suggest you give the game a try. The learning curve is deathly steep, so I suggest starting with the lazy noob pack: http://dwarffortresswiki.org/index.php/Utility:Lazy_Newb_Pack http://dwarffortresswiki.org/index.php/Utility:Lazy_Newb_Pac... Strike the earth!
- fzzzy 10y agoThe learning curve is deathly steep, so I suggest starting with watching hundreds of hours of other people playing on youtube. Then getting the lazy noob pack.
- vacri 10y agoThe joy of DF is learning all the ways you can fail. Once you know how to set up a fort that can handle itself, the fun largely dissipates.
- fzzzy 10y agoThere's always somewhere harder to settle. There's always some new creative contraption that needs to be built.
- zbuttram 10y agoTrue enough, and if you're into watching interesting people play games on video there's a lot of content to be had and DF is usually a fairly interesting watch since it can be relatively unpredictable at a certain point. There was one excellent guy I had bookmarked a long time ago, but I lost that set of bookmarks a while back.
- bschwindHN 10y agoOff topic: Using `background-attachment: fixed` for your background image will cause high CPU usage as the user scrolls. http://fourkitchens.com/blog/article/fix-scrolling-performance-css-will-change-property http://fourkitchens.com/blog/article/fix-scrolling-performan...
- MBCook 10y agoThat talks about Chrome, which is known to use a lot of resources in general (see: battery life tests). Is it also an issue on IE/Edge or Firefox? What about Safari/Mobile Safari?
- tgb 10y agoThis line from the article makes me think it affects Mobile Safari (or did in the past). > The performance for this feature is so bad that iOS simply ignores this property.
- db48x 10y agoNah, modern browsers simply offload this to your GPU. They send the background layer to the GPU once, update the foreground as you scroll, and let the GPU composite them for display. Since this is a screen-space effect, and the fill-rate of a modern GPU is immense, this is pretty cheap overall.
- 10y ago
- alanfalcon 10y agoThis article was my introduction to DF when it was originally posted on HN: http://nytimes.com/2011/07/24/magazine/the-brilliance-of-dwarf-fortress.html http://nytimes.com/2011/07/24/magazine/the-brilliance-of-dwa...
- tomc1985 10y agoFor all their advancement in storytelling and worldbuilding, it is still so frustrating to try and play DF today. I did not grow up with Roguelikes and ASCII characters or backwards-ass vim-style key-memorization GUI patterns, and the nostalgia that surrounds these things is simply annoying. The noob pack helps but what it really needs is for that isometric graphics mod to become a full UI layer. Mid-90s WinForms would be an improvement over what DF's got. It is painful to see people so smart pooh-pooh something so obvious as a useable UI (I won't say "decent", because "decent" nowadays is this brightly-colored material-design garbage) that isn't super painful for people who like to come and go.
- VonGuard 10y agoAnything worth doing takes a lot of work, and Dwarf Fortress is no different. It really is a matter of putting in the hours. But thanks to dozens of radical tools, you, too, can turn your fortress into a 3D, moving world. Treat the experience more like playing with some sort of odd micro-kernel in a VM, with tools for poking and probing it. Approach it like a software development tool, or a Linux server and it becomes a little less daunting, especially as all the letters are on the screen for quick reference, rather than in a man page. Still, the beauty of Dwarf Fortress IS that it doesn't care about the UI. It's not for you. It's not for anyone other than it's creators. It's for Zach and Tarn. Yes, it's also for the game's fans, but the brothers have always been building the game THEY wanted to play, and doing exactly what they wanted to do. They're not beholden to a schedule, or some massive revamp required in order to make the game more accessible. They're true to their own desires and souls. They're artists. This is their art. Yes, it is truly impenetrable, but as with almost all art, taking the time to delve deeper is uniquely and spiritually rewarding. Yes, spiritually.
- tomc1985 10y agoI tried the newb pack not too long ago... the experience was too clunky for me. The graphics packs are nice but they always feel incomplete... and even when I had this nice visualization (in a separate window...) it would frequently crashed and I really wished taht I could interact with the game with it. Yes, they're artists and this is their art, but software rarely -- if ever -- exists in isolation, yet DF acts like it does. You've all these nerds with too much time on their hands building all this ridiculously complicated infrastructure just to play the game in a way that is more comfortable, when instead the DF guys could simply allocate X amount of time and then be done with it. And this isn't a demand that the DF guys make the UI better, just a wish that they would put in a minimal amount of effort so that the community could hook in their own GUI code with a minimum of fuss. Besides, I write code and debug fussy computer shit all day for work. Games shouldn't require that kind of advanced hackery just to play. And who cares if they're artists? Neither the artist nor his art are immune to criticism (or, wishfully thinking, critique).
- jealousgelatin 10y agoLove DF. Didn't know the community was so vast. Fingers crossed for open source, definitely would add some years of playability for the kiddies. Praise the miners!
- vog 10y agoThis looks great, but I hope they don't fall into the "manual window placement" usability trap. There is a reason the "old-fashioned" tiling window managers are still popular. And today most applications are internally structured via tiling/splitters and tabs, rather than individual window placement. Let alone that all attempts for a "web desktop" never took off. Alas, I don't know any authorative sources for that, but I bet that manual window placement (and most of the time, also overlapping windows) is a well-known anti-pattern of user interface design.
- alekratz 10y agoDwarf Fortress has never been about its usability and user interface - it's 100% focused on the background processes that drive the game.
- RangerScience 10y agoIf you want to read the best stories the community has gathered from playing this game, here's a collection! http://www.bay12forums.com/smf/index.php?topic=41896.0 http://www.bay12forums.com/smf/index.php?topic=41896.0
- shultays 10y agoI love DF, played it for a long time but haven't touched it for last 1-2 years. A feew weeks ago I tried to play it again, I was excited about new features such as libraries and crafting in adventure mode. I first started with adventure mode, and tried to make a conversation with someone... tried. New conversation system is a huge mess. Sure it is much more advanced but interface is needlessly complicated, it takes away all the fun. I just closed DF and didn't even try fortress mode after that. I love DF but Toady's tastes with ui is too eccentric for me. I hated military UI when it came out and now this. People doing awesome job with DF using reverse engineering. Playing it without dwarf therapist for example would be a nightmare. I wish it was opensource or at least had more modability.
- edem 10y agoToady should decouple the ui from the game so people could write a nice ui for a change. The only thing which stands between me and the game is the horrible ux.
- loydb 10y agoOnce a year or so, I pick up DF and play for a few weeks just to see what has changed. Coincidentally, I just finished my 2016 playfest last month. I am sold on the ASCII graphics, especially once you drop in a decent replacement set. Generating unique icons for all the bazillion different things would be a huge undertaking graphically, and you pick up what things are quickly. Sadly, the UI (and I use the term loosely) is still, well, awful. The menu system makes no sense (sure, you can memorize where something is, but that's not what I mean), and the keystrokes seem to be randomized across menus. As others have said, there's actually a pretty good game under there these days. It's just horrible to interact with.
- imdsm 10y agoThat's fair enough. The menu can be a little tricky. But if you've played it on and off for almost a decade like I have, then the key bindings are so natural that I don't even look at the menu. Should they change, the game would be unplayable. I suppose for new folks, it can be hard getting into it, but for the rest of us, I think it works quite well.
- sageabilly 10y agoIs Dwarf Therapist still being maintained? (I'd look it up but I'm at work and all DF stuff is blocked by the firewall as "games") DT made the difference between playable and fun DF and endless fucking about with menus.
- dopu 10y agoSure is [0]. Really grateful for it. I don't think I'd be able to play this game without using Dwarf Therapist. Generally it becomes way too difficult to manage dwarf occupation assignments once your population shoots past 15 or so. [0]: https://github.com/splintermind/Dwarf-Therapist https://github.com/splintermind/Dwarf-Therapist
- ghotli 10y agoHonestly, I think eventually a central question of our time will become whether or not it is ethical to turn off dwarf fortress.
- throwanem 10y agoThe sense of entitlement that crops up throughout this thread amazes me. It'd be bad enough coming from the people who actually donate the money that adds up to the steady living the Adams brothers earn by their work on Dwarf Fortress. Coming from random Hacker News commenters, many of whom hasten to add that they'd never play anything with such an awful UX themselves, it is bewildering and disappointing. Isn't this community supposed to be above such things?
- dopu 10y agoIt is a bit discouraging. And keep in mind that the game is technically still in Alpha, everyone.
- jandrese 10y agoIt has been in Alpha for a decade now. It's not clear if it is ever going to advance to Beta status.
- iNerdier 10y agoWell, he has a set of goals he intends to achieve before it hits 1.0 and the version numbering currently is meant to reflect the % the brothers deem it complete. Considering they've managed to spend ten years doing the work I would say it seems possible it will, eventually, hit beta and even be 'finished'.
- jandrese 10y agoWell, it is currently at 0.43, and since we know that the last 10% of the project takes 90% of the time we can expect the 1.0 to release in approximately 232 years.
- gldev 10y agoI am thankful enough to have this incredibly fun game available to me; let's hope they can keep improving it.
- dopu 10y agoI find it interesting that there are so many complaints about the UI / keybindings. I agree that the keybindings are a bit confusing once your start, but I didn't find them to be that difficult to master. No more difficult than say, learning to use Vim effectively. However, certain things do become issues once your dwarf population scales past 15 or so. Checking dwarf occupations manually (e.g., to make sure that there is at least one dwarf who is currently assigned the furnace operator occupation) becomes a pain, so I'd suggest using Dwarf Therapist [0] to manage that. It also lets you quickly check other things, such as whether any dwarves are feeling particularly sad. Also, I encourage people new to the game to check out some of the stories that the community has generated throughout DF's existence. The game's ability to generate interesting scenarios that lead to good stories to tell your friends is perhaps the most interesting part of the game. Boatmurdered [1] is a classic. Roomcarnage [2] is currently in the process of being told and is quite good. [0]: https://github.com/splintermind/Dwarf-Therapist https://github.com/splintermind/Dwarf-Therapist [1]: http://lparchive.org/Dwarf-Fortress-Boatmurdered/ http://lparchive.org/Dwarf-Fortress-Boatmurdered/ [2]: http://www.bay12forums.com/smf/index.php?topic=139393.0 http://www.bay12forums.com/smf/index.php?topic=139393.0