Hacker News new | past | comments | ask | show | jobs | submit login
Dwarf Fortress is coming to Steam with graphics (polygon.com)
815 points by danso 12 days ago | hide | past | web | favorite | 323 comments





Three points of interest:

1) Full developer announcement on their Patreon page -> https://www.patreon.com/posts/25343688

2) They are putting on steam largely because of the USA's shit healthcare system "after Zach's latest cancer scare, we determined that with my healthcare plan's copay etc., I'd be wiped out if I had to undergo the same procedures . . "

3) Cool to see that they are going to use graphics built by two of the most popular community modders:

-=> MayDay built one of the most popular current graphics packs @ http://goblinart.pl/vg-eng/df.php

-=> And Meph has built a fairly massive tile set as well @ http://www.bay12forums.com/smf/index.php?topic=161047.0

Will be interesting to see how they change with native support.


I'm one of the longer time Dwarf Fortress supporters, with somewhere around $2500 donated over the past decade or so via PayPal. If I remember correctly, it was around January 2007 when Tarn started accepting donations.

I don't play it much, only a week every year or so to see what's new, get lost in the wacky reality of it all, and put it down to tend to other things. I read the communities from time to time. The wacky stories. Occasionally watch someone have a go on Twitch and enjoy seeing everything unfold.

Dwarf Fortress is an unsung touchstone of internet culture. Game devs in AAA studios (I know a few) talk of it in hushed whispers -- most are aware of it, even if only a few of them have played it. In fact, Dwarf Fortress is what sparked Markus Persson to create Minecraft, which was originally intended to be a voxel version of Dwarf Fortress itself.

I regret the circumstances that have resulted in Tarn and Zach having to find ways to bring in more income. They moved onto Patreon in the past year or so, and thankfully it was a meaningful increase in income. Hopefully Steam can help in that regard, as Tarn seems to manage his time and communication with the community quite well, and at least the Bay 12 forums by and large respects that he takes the time to reach out before continuing with the game as he sees fit.

It's something very novel and lovingly crafted that creates real joy and sparks the imagination in ways most people will rarely see. Although a bit obtuse upfront, it is one of the most novel toys mankind has ever created. Hopefully this can ensure that its development can continue for much longer still, and help other people discover the magic that it is.


Another donator here, people don't get why I'd "spend" more on this game than any other I've purchased by a large factor, especially given I don't play it much, but the thing is, most everything I enjoy playing these days has DF as a spiritual ancestor.

>Dwarf Fortress is an unsung touchstone of internet culture.

Surely DF is far from "unsung"? I'd even describe DF as being downright notorious. I really do wonder what kind of criterion people generally use to describe something as "obscure", "unsung" and such, since I find myself rarely agreeing.


It might be notorious in hacker circles, and retro gamers. If you ask people outside of those groups most will not even have heard the name

It is notorious, or at least quite well known, among anyone I'd consider to be part of "internet culture". Also I'm not sure why DF would be particularly notorious to retro gamers, since it is not a retro game.

The UI of DF is same as the UI of the 40-year-old Roguelike games. Hence retro. And hence unknown to 99%+ of gamers.

> In fact, Dwarf Fortress is what sparked Markus Persson to create Minecraft, which was originally intended to be a voxel version of Dwarf Fortress itself.

No, Zach (Zachary) Barth's (of Zachtronics) Infiniminer was what sparked Markus Persson to create Minecraft.


There can be more than one influence. I think both were.


> They are putting on steam largely because of the USA's shit healthcare system "after Zach's latest cancer scare, we determined that with my healthcare plan's copay etc., I'd be wiped out if I had to undergo the same procedures . . "

I have mixed feelings about this.

On the one hand, it totally sucks.

On the other hand, I suspect that as as consequence of this crappy pressure, Dwarf Fortress will reach a substantially wider audience and bring joy to a greater number of people.

I'll be interested to see how Tarn looks back on this moment in, say, five years.


> bring joy

Yeah, right. I bet you'll see it in productivity statistics instead. It's as bad as Factorio.


Every friend I’ve turned onto either game was basically lost for months, then returned to the world like a shipwrecked survivor. It was all long beards and uncut hair, wild eyes and impossible tales. These games are so good they should come with rehab.

I wish these games would still have that effect on me. I mean, I can totally see it happening back when I was 20-25 years old.

When I try to start factorio, df, rimworld today, I can see the systems, I can feel the ocd style appeal and feedback loops grabbing me, until I realize after one hour that 1) this is just the same as work, 2) someone else has already optimized the crap out of this, better then I'd ever have time for and 3) I might be better off doing real work instead, lest I feel guilty.

I then uninstall the game, never to return. It's pretty dreary as ultimately all games end up as thinly veiled optimization or grinding boxes that can be tuned, if you only put in the effort. Recent triple a focus on grinding, addictive elements and microtransactions have made this worse.

I've been thinking a lot about finding a genre or mechanic that would still "work", but I find it sad that I cannot get the long term enjoyment without worry anymore from games as I could years ago.


I know this feeling - you're climbing up that hill at the very beginning, trying to figure out the mechanics and what the game is about. Then when you finally crest it, you see the whole game set out before you like a beautiful valley... and you realize, "this is going to take hours and days, and I already understand it." You judge the time required vs. the enjoyment that may be gained, and the game loses. And it's sad, because you want the game to win, but you can't just let it.

One game I'll recommend if you're in this boat with me is Slay the Spire - it's a roguelike, so you play run after run from the beginning, instead of working from the same save like Factorio. The mechanics vary from run to run, sometimes significantly, because the cards and relics you collect along the way can completely change how the game plays. I've been enjoying it for a few months now, and while I sometimes put it away for a week or two at a time, I'm still coming back to it. I think part of it is I'm playing to figure out how to survive a run, not to figure out how the game works.

Anyway, check it out - definitely worth $25, and it may give you that long-term enjoyment you're looking for. Though I think, to paraphrase Stand By Me, "I don't have any games like I did when I was 10. Jesus, does anybody?"


I'd recommend roguelikes in general. Run and done in a sitting, and you can't really optimize the same way as the game has hidden/random elements.

Two I'd recommend looking at: FTL and Into the Breach.


The 7DRL Challenge just completed this past weekend. A lot of the entries are quite small, and runs can be quite short. I think the 7-day time limit contributes to that.[1]

[1] https://itch.io/jam/7drl-challenge-2019


I enjoy both of those, but have been playing more Slay the Spire recently. It has wonderful diversity in viable builds, and most runs you end up with something unexpected. A delightful sense of discovery and mastery.

> Two I'd recommend looking at: FTL and Into the Breach.

Was about to post this :)


What roguelikes (beyond maybe Brogue) can you finish in a sitting?

Spelunky, The Binding of Isaac, Dead Cells, Rampage Knights, Son of a Witch

All of those take anywhere from 30 to 90 minutes to complete once you get a hang of it.


Dead Cells and The Binding of Isaac are another two fun ones.

You're right, I should've said rogue-lites. Although I can certainly die multiple times in a sitting in roguelikes :)

Spelunky

Enter the Gungeon is a good one that I've played a lot recently.

Ancient Domains of Mystery (ADOM) is a very good roguelike, and has been actively developed for decade(s). Recommended.

I will second Slay the Spire as worth a long look for a busy gamer

I tend to feel that way about Factorio, but I strongly don't about Dwarf Fortress (or Rimworld). Both of those games are story generators. It's about the things thrown at you and the ways you cope--or don't, which is also fun--with the unexpected while building something you think is cool.

Dwarf Fortress in particular doesn't care about optimization (either of code or of your play). Build what you want. Figure out what you think is cool and do it. There are, literally, no goals other than the ones in your head.


Thanks for making the connection to work -- I keep having this same thing, all the time, about many endeavors. "If I'm going to invest all this time learning _x_, why don't I spend the same time learning _a real thing_ that can help with my actual life?"

On the one hand it sounds like I've become a joyless husk (which may be true.) On the other hand, maybe I should play the larger real-life game that has so much better payoffs?

It feels wrong though.


You guys need to draw a line and realize “this part is fun.” And “this part is work, and I want to imagine it is fun because I get ahead, but honestly it’s not fun but I’m proud/happy of/with myself if I do it.”

Fun is a critical part of life, Its the point of living as Opposed to surviving.


Depends what you do, I guess. I can sometimes “pretend to enjoy” vacations, social events, games etc. Very rarely have to pretend to enjoy work.

> "If I'm going to invest all this time learning _x_, why don't I spend the same time learning _a real thing_ that can help with my actual life?"

Because learning a real thing that can help you will probably take 3 to 6 years and has a relatively high risk of failure. In that same time frame you can play a hundred different games each with a unique experience.


I consider this to be healthy. There are real world problems to spend your time on.

The real world has achievements to be earned and systems to be optimized. Why not seek those out and end up with something to show for your effort?

Nobody is going to lie on their deathbed wishing they had played more factorio.


Real world achievements usually require significantly higher time investments with systems that are almost entirely beyond your control (no modding support unfortunately) and having something to show will often result in long term responsibilities, many you will never escape from.

At least with games you can save and quit at any time.


Well to entertain the other side of that argument: the real world is filled with cheating and inopporunity. Why waste your time drudging through a world of bullshit when you can entertain or define your own pursuit of happiness? If that happens to be video games, why wouldn't you wish you did more of that?

Many many people will wish that, as opposed to having done better at work.

People will regret missed relationships, events, risks not taking and trips not made.

You’d regret dying without having done anything you really wanted to do.

And observably - very few people truly have their joy aligned with their productive employment.


I have banned myself from playing any "building" games like Factorio, Minecraft, etc. Any time I get that itch, I work on my side-project on AWS. AWS is so big with so many systems, it's kind of like a big complex game. Building functionality is "progression", the core-gameplay loop. Dollars spent is "currency" (though the goal is to minimise, rather than maximise). Balancing "currency" against "progression" is the meta-game. I feel very lucky to still be able to enjoy coding after 20 years.

I have this same problem. In factorio for example.

Either I use other people's efficient designs that are more optimal and then I feel like I'm just copy pasting and not playing.

Or I end up wanting to write a program or design things that can produce the optimal designs. All of which involve not actually playing the game but playing excel spreadsheet or programming dynamic programming algorithms.

I like games that allow min maxing a lot. But they need to be in such a way that there is more to the game and less copyable stuff. So that I can enjoy and play the game.


One way you could play is embrace the imperfect, know that not everything has to be optimal, and learn to adjust to the circumstances.

I find myself wanting to build perfect things so I speak from experience in needing to let things go and adapt to the situation rather than seeking a perfect play through.


> 1) this is just the same as work

This is how I feel about Factorio along with basically every Zachtronics game ever. I want to get into it but I could literally get paid for doing the same thing. I guess I'm just lucky to be able to do work that I love (or conversely to be built such that I enjoy things that are useful.)


Game dev in my 40s here. I have the same problem. The way I mitigate it is by sampling lots of games and just giving myself permission to just do that. You gotta figure all creative persuits are like this. Winemakers can't drink all the wine they ever see. Don't be too hard on yourself and just enjoy the new shiny when you see it... Take a taste and move on. Had a blast playing recroom on Oculus over the weekend. Had to take a nap afterwards.. lol. Don't know if I'll go back in any time soon.

This is why, from the beginning, Factorio never appealed to me. I haven't played a single minute of it despite the fact I know I'd be good at it.

You may be engineering your own solution, but it's still the solution to someone else's problem. When you win, it's an empty feeling.

With respect to sandbox games, games like Minecraft truly offer you unlimited freedom. Minecraft is completely open. You get dropped into a new world with no instructions and no goals. The only problems are your own, and so your solutions feel like your own. Your victories feel like your own. Your defeats feel like your own. You feel like you're in another world, not working overtime at your desk solving problems.

With respect to other genres, look for something between challenge and wonder. Find games which are made with 100% love no matter the complexity or fidelity. Each level, take in everything you see and think about how someone laboriously designed every art asset you see, every system you use, every character, dialogue, level chunk, etc.

Take in these games as the massive, collaborative works of art that they are. When you're playing them, you're setting aside time in your week to become a receptacle for someone else's vision. A patron of their art.

Find games which you're still thinking about months after you've beaten them. Find games which have dead simple mechanics and are designed around short bursts of focused, intense gameplay, with which you can spend the next few years of your life slowly and methodically honing your skills in the small gaps between important engagements.

Play old games. Don't just play the latest and greatest. Video games are only half a century old, it's still possible to play many of the bonafide classics without devoting your life to it. You'll find more engaging and rewarding gameplay with the simple, but focused systems older games employ. You'll find joy in the way that the game's artists were able to create their vision with only a 320×200 resolution and 256-color palette, or only a couple thousand polygons.

In short, avoid modern AAA games like the plague. Just like the monstrosity that is the modern Hollywood scene or pop radio culture, AAA games have become an engine which sucks players out of all the money it can.

If you're not into false gameplay, addictive elements like loot boxes and micro-transactions in the face of extreme grinding, that doesn't mean you're not still into games.


> You may be engineering your own solution, but it's still the solution to someone else's problem. When you win, it's an empty feeling.

Speaking very personally... you might be playing sandbox games wrong: forget their goals. A while back, I decided that Factorio is Turing complete, even without the luxury of combiners... and I'm partway through an implementation of Eratosthenes' sieve? Rather than efficiency spreadsheets, I draw state diagrams :) Also inserters have nasty quirks that really make things fun


I don't think I'm playing sandbox games wrong. I've put hundreds of hours into them. That doesn't mean I'm going to find Factorio engaging.

I have the same problem with pure sandbox games like Minecraft that I have with engineering games like Factorio. They're close enough to being simulations of the real thing (you can't argue that living on this planet isn't a - sometimes literal - sandbox!) that pretty soon I realise I might as well be putting the same effort into real life and getting tangible rewards.

Factorio nominally has an endgame "goal" (even completing it does not end the game) but it can be entirely ignored, and you are free to set whatever goals you feel like.

> I've been thinking a lot about finding a genre or mechanic that would still "work", but I find it sad that I cannot get the long term enjoyment without worry anymore from games as I could years ago.

Try some games that are designed more as "cinematic" experiences. This isn't a bulletproof strategy (cinematic games can have grindy elements), but it usually works.

Some new-ish recommendations:

• Hellblade

• Gris

• Life is Strange

• Journey

• Abzú

• Monument Valley

I also feel that Nintendo in particular has done a good job of avoiding the the stuff you describe, in their mainstream titles.

Actually, another strategy would be to just avoid any game that let's you purchase in-game items or currency, regardless of context.


I feel similarly these days about a lot of "gamey" games. However, I've still found story or environment driven games, where the gameplay is in service of something greater, to be worthwhile. If you haven't played them, I'd recommend:

- Psychonauts for something wacky and hilarious that will leave you satisfied and vaguely wistful that it's over.

- Nier: Automata for something gripping and tragic that will leave you wanting to find your loved ones, give them a hug, and let them know how much you appreciate them.


> 1) this is just the same as work

Damn, I've said this myself many times. I used to love gaming, but now, sitting in front of a computer and strategizing is something I get paid to do and spending a few precious hours doing it after work seems so stupid. I really miss the meditative aspect of getting absorbed in a game. I can still manage to play retro console games occasionally, but I really don't have the patience for much gaming these days.


>I've been thinking a lot about finding a genre or mechanic that would still "work", but I find it sad that I cannot get the long term enjoyment without worry anymore from games as I could years ago.

scummvm is calling you.


Yeah I know what you mean.

I've started playing games at lower difficulty than would be "right" for me, so that I can get through the story.

>I've been thinking a lot about finding a genre or mechanic that would still "work"

Have a look at planetary annihilation. Plus the community mod legions. No microtx, games against AI are decent fun etc. Well worth the price without being a crazy time sink - a quick AI game is like an hour.


I picked up DF a few years ago, and shortly after my girlfriend left for a two week trip. I had a bunch of stuff I was supposed to do around the house while she was gone, but I ended up going completely nocturnal and spent the entire two weeks in bed with my laptop. I didn't shower or brush my teeth and I only stopped playing long enough to pick up some takeout once or twice per day. I never finished any of the work I was supposed to do, but I did build a fortress on the side of a volcano with a gravity fed network of lava-powered forges, a defensive labyrinth leading to the front gate with a series of automated lava traps, and a dwarven atom smasher to catch any enemies that made it past the lava. I was working on a powered rail network when I lost most of my population to a series of riots and blood feuds triggered by a shortage of clean socks.

Every once in a while I get tempted to start playing again, but then I remember the look on my girlfriend's face when she came home and found me sitting in a pile of empty pizza boxes wearing nothing but underwear that I hadn't washed in two weeks.


Sure, but did you show her your fortress?

Related: My wife's hooked on watching me play DF as long as there's a tileset enabled. This is a god-send! :D

They do call it Cracktorio for a reason

Just one more line and then I will quit, go clean and choose real life.

Just one more belt*. In earnest, I owe a lot to factorio, I started playing it towards the beginning of my programming career, and I was in a rough way, I could solve all the little toy problems my professors would throw at me, but the second there was anything big, I fell apart.

The fact of the matter is I was always doing everything in main, I had never really used functions for anything, I thought they were useless/extra work! And I eventually just had a moment playing factorio, looking at someone else's blueprint , and how neat and self contained it was, and how it had its organized and clear inputs and outputs... and it all just clicked. I'm much better at structuring my projects now and have very much become more function-centric in my work (I am actually currently falling for the clojure meme pretty heavily atm).


Reminds me of the lost days of Master of Orion 2 or Master of Magic. 20+ years ago. Still great games even today.

>These games are so good they should come with rehab.

What if we instead use the games as rehab?


and the 17 release is out which changes a number of things so I'm playing it again and working out new designs while also thinking to myself "oh no.... oh no.... why am I up at 2am, I have work tomorrow, ok, bed time, right after I just finish this off....3am"

I've started to get the same feeling from Factory Town. Conveyor belts and elaborate production chains, but this time in 3D!

It will be the same story all over. It seems to fail at first and the devs are bored by the additional bureaucratic work. Then a wild weasel in suit appears..

> On the one hand, it totally sucks

Do you mean it sucks because you prefer the game to be supported only by donations? If so, why?

Or did you mean something else?


I think it was that the statement that a "cancer scare" can "completely wipe out" someone that should be doing absolutely fine. That is not a working system.

Choosing to put it on Steam, or not, is completely orthogonal to that. At least, it should be.


Hey, look at it this way: Capitalism in healthcare does drive a better consumer experience!

I think the other response was flagged for language, but the included link was really interesting. I'd never even heard of medical "lodge practice" before seeing this video and reading through some of the references.

They're basically voluntary, mutual aid societies – many of them were basically small unions. The were strangled by the bigger, consolidated organizations:

https://m.youtube.com/watch?v=fFoXyFmmGBQ

The video is probably good for most audiences, but if (like me) you prefer to read, it looks like this is the short essay it's based on: http://www.freenation.org/a/f12l3.html

The references at the end of the essay include some really interesting historical accounts which I've enjoyed reading over the past few hours.


Video seems to hand wave the actual issues of healthcare which are treatment costs and scalability.

The only issue addressed was basically labor rate of doctors (and AMA artificially limiting the pool of doctors by raising standards).

The tone of the video was horrible -- no thanks. I don't need scary cartoons to tell me how to vote.

The end conclusion is basically "what if gov't is the problem?" without offering a solution (or even evidence based critique of modern systems -- what happened over 100 years ago is not the most relevant to my interests. As others have pointed out, the practice of medicine was a lot different then). Total waste of time and attention.

I honestly cannot understand how people look at the health care situation in America and think "if only health insurance had less restrictions, that would solve everything!"


Heroin has best user experience.. Good thing we are all rational actors..

[flagged]


Oof, can you really do an apples-to-apples comparison to healthcare in 1910 (before antibiotics) and healthcare today, though? If healthcare in 1910 cost $1 and a doctor poked you in the chest and said "You've got consumption; get your affairs in order." and healthcare in 2010 cost $1000 and a doctor poked you in the chest and said "You've got tuberculosis; take these antibiotics and you will probably live.", I don't think you can say healthcare got 1000x worse.

Would you make the same argument in favor of the cartelization of internet service providers? If in the 90s the ISPs banded together and got a government to prohibit competition, would we be asking if it's fair to compare "internet service measured in baud" with our much faster internet service of today? Humans are very clever; technology can improve even in the most oppressive regimes.

As the video stated, we will never know how lodge practice would have developed.

Right. We don't know. The video isn't wrong but it sure isn't right. Its arguments are speculative only.

That’s an amazing video, thanks for sharing.

And the comments are actually useful – there’s a pinned link to a New York Times article published in 1910 which explains the argument at the time for cartelizing the industry.


I will keep this in my monetisation handbook. "If I had cancer I would be wiped out which is why XYZ is no longer free. thx for your support"

But the non-pretty version of Dwarf Fortress is still free and will continue to be free. If that weren't the case there would probably be quite some backlash from the community.

Also in the article but buried:

4) Steam/itch.io and Katfox take a cut so if you want to really help out Zach and Tarn you should donate directly @ http://www.bay12games.com/support.html


itch is interesting in that game developers can choose the revenue cut, it defaults to itch getting 10% but can be set to anything from 0% to 100%. Steam is 30% as usual.

Kitfox is taking 20% in exchange for handling marketing and customer support (after the store cut), leaving Zach and Tarn with 72% or 56% for itch and Steam respectively (assuming they use the itch default cut).


But as the old adage goes, 100% of 0 is still 0. The hope with releasing the game like this would be to bring in new players and a new form of revenue. I would also imagine that existing players might want to buy this version as well.

Steam also lets you sell steam keys on your own site, and they don't take a cut of that.

There is a bit of an issue with selling your own Steam keys and selling on multiple platforms though. The more people who purchase your game on Steam, the higher Steam's algorithm will rank the game, so there's something to be said for not spreading out sales.


It's such a disaster to see people so severely affected by the healthcare system in America. If you haven't been keeping track, there's been a similar issue with SomethingAwful's Lowtax, who is deep in debt as a result of some of the medical issues he's going through.

It's enough to certainly make me consider working in a different country. I wonder if there would be any possibilities of the Dwarf Fortress developers moving elsewhere such that they don't have to worry about a medical disaster bankrupting them.


This webcomic speaks directly to this issue.

http://smbc-comics.com/comic/healthcare


What kind of issues is Lowtax having?

Some sort of Bone disease IIRC. One of the many rare conditions that are pretty much guaranteed to bankrupt you in the US, even with an expensive Cadillac healthcare plan.

Bah: I was trying to check the announcement, but their forum is in lockdown mode again for some reason.

Edit: Lockdown mode off. Link here: https://forums.somethingawful.com/showthread.php?threadid=38...


Suffice to say that we're chipping in for Lowtax's spine fund.

Seems like every week I hear about some horrible thing happening in the US healthcare system that makes me feel both disgusted and very lucky to not have any current health problems.

Incidentally, Meph has also made one of the most fantastic game enhancing DF mods out there, Masterwork Dwarf Fortress.[1]

I'm really glad to hear he is involved with this.

[1] http://www.bay12forums.com/smf/index.php?topic=98196.0


Oh man, I’m so sorry for the people involved who are in this position, yet I’m torn because the outcome here beyond that is ideal. I’m going to assuage my conflict with a big donation on bay12 and then I’m going to tell everyone I know who didn’t want to get into DF that the time is now!

Since they live around Seattle, maybe they should consider immigrating a few hundred miles north to Canada? They might qualify under the self-employed artist category?

https://www.settler.ca/english/immigration-to-canada-for-art...


If you are able to pay, American healthcare can be higher quality and more timely than Canadian care. Especially the hospitals and doctors in and around Seattle. That's why wealthy Canadians come to the US for some treatments.

The hope is that they earn enough from the Steam royalties (which should happen given the popular rumor and storytelling around the game among gamers).

Also, Canada has medical requirements and refuses immigrants whose admission "might cause excessive demand on existing social or health services provided by the government":

https://www.canada.ca/en/immigration-refugees-citizenship/co...

https://www.canadavisa.com/immigration-medical-inadmissibili...


Uh... as an American/Canadian dualie I can state that this simply isn't the case. The reports of timeliness are mostly tied to super rich folks that would get treatment faster in the states because they'd cut in line in front of people who need that treatment more. Up here healthcare is prioritized based on need.

The clause about barring excessive health costs isn't unreasonable, Canada, as a country, is basically an insurer and is being dickish about letting people with pre-existing conditions onto their insurance who haven't paid into it, this is a defense against the US's broken system that would encourage all sick citizens to flee to Canada. That said when I immigrated I had several long term health issues that posed no barrier to entry and the cases where this is enforced are rather rare.

Canadian healthcare is perfectly fine, but it isn't your rebound date when the US healthcare fails you. People shouldn't immigrate just to take advantage of the system.

All that said, I am hopeful you guys will get Medicare for all down there and actually cut your costs-per-patient and enable people to be more free to pursue their individual liberties.


I'm pretty sure the wealthiest go to the US because they have some of the best doctors, and they can afford to pay for it?

There are private clinics here if you have money and don't want to wait, but of course it doesn't cover very specialized things. When I wanted to see a dermatologist, I would have had to wait 1-2 months for my first appointment in the public sector. I went to a private clinic and paid 200$ (plus like 75$ each subsequent visits) and was seen in 2 days.

If you have a life-threatening condition, you're not gonna wait months. If they can't do the operation in Canada because of whatever is lacking (including equipment or personnel), they can send you to the US and the government will pay for it.

https://en.wikipedia.org/wiki/Healthcare_in_Canada#Canadians...


> If you are able to pay, American healthcare can be higher quality and more timely than Canadian care. Especially the hospitals and doctors in and around Seattle. That's why wealthy Canadians come to the US for some treatments.

It's unlikely you'll find higher quality or more timely care in the US than Canada for anything that would be triaged as urgent (such as a cancer scare). The entire ethos of the Canadian healthcare system is that there should be a single tier system regardless if you're wealthy or poor--everyone gets the same quality of care. This means triaging happens based on urgency of treatment instead who has the most money.

You will certainly be able to bypass any triaging in the US for elective or non-urgent matters, for a sufficient premium (effectively a bribe).

If you're comparing quality with Seattle specifically, then compare against Toronto which has some of the best cancer treatment facilities and doctors.


You're neglecting the fact that the incentive system in the US is reversed, such that patients are more likely to receive more unnecessary surgeries and have extended hospital stays, both which is dangerous to patients [0].

Also, wealthy persons will travel to a foreign country if that country is like to have a "world-leading" specialist in a certain surgery. Sometimes this place is the US, sometimes it's Canada, sometimes it's the EU.

Furthermore, if you want private care in Canada, you can receive it. I'm not sure any of your points make sense in light of the above.

[0] https://www.newyorker.com/magazine/2015/05/11/overkill-atul-...


This is not particularly true. It's not just wealthy Canadians, its the wealthiest of Canadians in general. Most people, even regularly wealthy Canadians, can't afford uninsured healthcare in America. We see far more people leaving the US for medical tourism than Canadians crossing the border for healthcare here.

"The U.S. spends about twice what other high-income nations do on health care but has the lowest life expectancy and the highest infant mortality rates, a new study suggests."

https://www.reuters.com/article/us-health-spending/u-s-healt...


2) They are putting on steam largely because of the USA's shit healthcare system

I know both sides of this. Obamacare was truly a boon to me when I was an "independent consultant." We in the USA need to value our liberty. But if you want people to value liberty, you first have to keep them safe from Kafkaesque nightmares which involve their bodies not working correctly and not getting fixed. Basically, it works just like hunger.

In particular, in the present day US, the societal cohorts which create media seem to be comprised of 1) out of touch left-leaning upper class people or 2) people with so few resources they are at risk. Together, they form a larger faction. This is a recipe for a society that stops tells itself it wants freedom and changes into a society that wants to take care of people. (1 are people who identify as those doing the taking care of, and 2 are people who would be taken care of.)

If you want people who appreciate and take care of their freedom, you have to make sure they're not hungry and sick. History shows us this clearly.

http://smbc-comics.com/comic/healthcare


I don't understand what you've written at all. Are you in favour of the US healthcare system, or against it?

I don't understand what you've written at all. Are you in favour of the US healthcare system, or against it?

There's this thing called "nuance."

In very general terms, I'm for personal liberty and autonomy. However, I also recognize that people don't care about that, when they are hungry or fear bankruptcy and illness. [1]

The US healthcare system is broken, in that large numbers of people are left in a state of risking bankruptcy and illness. For me, the path forward would involve a safety net for such people, while minimizing encroachment on personal freedom. Not sure what that would look like.

[1] - A stable society must provide a minimum across society, based on perception of relative status. Otherwise, people are wired up to cause chaos. https://www.youtube.com/watch?v=M3XYHPAwBzE


How does a national health care system (say such as Canada or UK) encroach on personal freedom? (Short of say the obvious...increased taxes for you.)

I've found a lot of "opponents" of universal healthcare actually support a safety net for less fortunate people - they just don't want to pay for it. This is a perfectly valid reason, but I wouldn't call it encroaching on personal freedom, so I'm curious as to how else you see it affecting liberty?


Taxes are quite clearly an infringement of personal freedom. Government-run healthcare removes (or greatly reduces) the choice of care from the open market and puts it in the government's control. You can't operate or patronize a medical service provider that is insolvent because the government offers a subsidized alternative service.

There are tradeoffs, and well spent taxes can open up opportunities otherwise precluded, NHS might be better than a private alternative, but in the cost/benefit analysis, the costs really do exist.


Government-run healthcare does not always reduce the choice of care, it can do the opposite! In Australia, many medical services are subsidised by the government, meaning many of them (for example, a visit to a GP) can be free. However, a GP is still free to claim this money from the government, while still charging extra on top of that. The end result is that people who can’t afford health insurance still get health care, while people who can afford to pick and choose quality of care can still do so, and at a reduced cost.

I’m not saying Australia has it right in every way, I’m just saying that universal health care doesn’t need to restrict your choice of care.


I don't see how taxes are an infringement of personal freedom, could you elaborate?

It's a slightly roundabout set of links that tends to become very clear to people paying >40% of their income in taxes. First, some setup:

The base case is I think the world needs to change, so I spend 8 hours changing it for the better.

The extended case is other people notice I am making the world better, and want to pitch in. We've got this great indirection system in money to allow that to happen with a highly abstract measure of 'resources' so even if they don't know how to contribute personally they can signal how important my work is to others.

Now, there are respectable schools of thought that believe something like (a) there are people who do not have the capacity to meaningfully contribute resources or (b) initial control of raw resources is more impactful than human endeavor. They employ taxes to change how resources are distributed.

And now, the freedom angle:

Without government tax, if I work for 8 hours I can presumably provide for myself in about 2-3 because modern production is so efficient, and then I get 5 hours to reshape the world into something I want to live in. With government tax, the split is basically 2-3 for me, 2-3 for the government, 3 for changing the world to taste. This is effectively a loss of liberty, because now I have half the control over how the world changes.

That isn't particularly profound, it is just how taxes work. But one of the points of money is abstracting direct work for contributing. In a sense, this is the same as labouring directly on a government project for 2-3 hours, and that would be slavery. Obviously taxes aren't slavery because they aren't mandatory (don't want to pay taxes, don't work) but the parallel is there for reducing liberty.


Interesting argument, though I think this could also support the claim that paying taxes increases personal liberty. By having a portion of income paid into the commons for the general benefit of society, this means you don't have to work directly on such government-led projects, giving you increased freedom in where you apply your labour.

I think you're being a bit idealistic to assume that people would generally spend their excess resources shaping the world for the better.

Instead, we seem to see a lot of people spending those resources on shiny toys to make their own lives a little better, and in some cases, spending those resources to ensure that they get more resources in the future, at the expense of others.


The problem is that most people act selfishly with that "5 to reshape the world into something you want to live in". The world they want to live in has them lazing on a beach, not providing healthcare for the masses.

The world they want to live in has them lazing on a beach

Far better places to play with a LASER than on a beach.


they just don't want to pay for it. This is a perfectly valid reason, but I wouldn't call it encroaching on personal freedom, so I'm curious as to how else you see it affecting liberty?

For one thing, why are you so insistent that I'm an opponent of health care reform. (Subjectively speaking, there's this sour stickyness of you assuming things inside my head around that. If you are, please, don't. You would be wasting our time and energy with that.) I voted for Obama the 1st time in large part because of health care reform. That said, I've since changed my mind. The individual mandate in Obamacare is too big an encroachment on individual freedom.

Big government agencies tend to encroach on individual freedom because they tend to accrue de facto then de jure power. Would anyone dispute that the IRS has considerable power, enough to create some potential for abuse? (Not saying we should get rid of them, however.)

As far as individual freedom goes generally, watching the events of the past several years, including those around "activists," and big tech companies, has made me a lot more concerned about individual freedom. A lot of people seem to be paying lip service to concepts like Freedom of Speech and Due Process, but then putting wide ranging things into effect which interfere with or abrogate those rights, though they are not technically illegal. (yet)


> For one thing, why are you so insistent that I'm an opponent of health care reform

I think the assumptions others may have made because you've largely described what you don't want.

Do you have suggestions or thoughts for what an effective system is? What is the system that you do want?


I'd like for people on both sides of the aisle to come together and design a system which tries to prioritize both dignified almost-total coverage and individual autonomy. Probably not the answer you were looking for, but thanks for asking the question. I think I've clarified to myself how I'm to vote.

Obamacare was both sides of the aisle coming together. It's a repackaged version of the proposed Republican 1993 HEART Act (including the individual mandate).

What? Obamacare didn't receive a single republican vote

True - but that is completely independent from the fact that the ACA was the Republican healthcare reform model (see Romneycare). The Republican Party went completely at war against President Obama regardless of whether or not he was proposing solutions they explicitly supported (in the past) or actively designed.

You keep talking about personal freedom and autonomy. How exactly are you using those in a healthcare context? No one has ever proposed a system that forces adults into getting treatment against their will.

Are you instead talking about being forced to pay for a healthcare system, either directly or indirectly through taxes? Because in that case, then yeah, obviously it would need to be paid for. The alternative is not having it at all. And we already don't have a system where people who can't afford healthcare are denied treatment and forced to die, and such a system is untenable according to our modern society's morals anyway.

I agree with the others; you're using wishy-washy words without clarifying exactly what you're proposing, or even explaining how alternatives to the existing types of systems are possible at all.


Our respective positions have almost zero overlap, but I appreciate that you've articulated and shared yours.

I have and continue to spend a lot of time on healthcare. Despite 15 years of grinding, I feel like I barely understand what's going, and am continually surprised. For example, I totally didn't foresee hospital consolidation tipping the balance of power back to them (from insurers), begetting the scourge of surprise billing.

The best, and perhaps only, label for our current system is confusopoly (h/t Scott Adams).

In your travels, all that I ask, given your desire for bipartisan bonhomie, is while you read reform proposals (from policy wonks), please note who is participating in the conversation, and who isn't.


I generally agree with you but I'm for a single payer system like Canada. Because eventually, you have to stop looking for the ideal system and pick a good one. This has been talked about since Bill Clinton was president.

I run across this all the time with my brother. He's conservative. He's in his 50s. He says, I don't think health care is in a good place, but we can't do X, Y, or Z. It's never what we can do. It's always what we can't. He offers no solutions.

When you're in a privileged position its easy to say we must wait for the perfect solution. When you aren't it's easy to rush to a solution. However, like I said: this has been debated for over TWO DECADES in the United States. It's been enough time. If you can't think of a solution you like, it's not going to happen in a reasonable timeframe.


When you're in a privileged position its easy to say we must wait for the perfect solution. When you aren't it's easy to rush to a solution.

I've been in both positions. I suspect what we'll wind up with will be a two tier system (kind of what we have now) that covers almost everyone, but this system won't make anyone happy and the debate will continue.


I can tell that he is against but the rest of it was completely opaque to me

I can tell that he is against

Not exactly. (Or maybe not necessarily.) I could picture a system I'd like that would look a lot like the system we have right now. I'm not expert enough to know how that would work.

but the rest of it was completely opaque to me

Are you part of the societal cohort comprised of left-leaning upper class people in tech and media? Are you part of the societal cohort comprised of lower middle class people working in tech and media? Are you from a different part of society? That would be useful information for writing a clarification. Exactly what part was opaque to you?


One thing that amazes me about Dwarf Fortress is that the creator(s) don't use version control[1] (as of 2014, things may have changed):

"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."

I can't fathom how you can manage the complexity of a game like DF without a VCS.

[1] https://www.reddit.com/r/IAmA/comments/1avszc/im_tarn_adams_...


They take backups, name each folder based on the date, and what feature that was just completed (or just about to be started) that prompted the backup. I bet you a pound.

This is what everybody that says they don't use version control does.


So they don't use version control software.

> They take backups, name each folder based on the date, and what feature that was just completed (or just about to be started) that prompted the backup. I bet you a pound.

All they need to do is to compress those folders with zlib, and then they've reinvented git.


Nonono, that method existed long before Git. Git reinvented the wheel, if they did a better job about it is not for me to judge :-)

That's what I do (for personal projects where I don't care about complex commit-graphs) and I do call it version control.

Justifications like "where I don't care about complex commit-graphs," of which there are a few in this thread, always sound like they're trying to hide confusion about the tool by making it sound overly complex. Nobody cares about complex commit-graphs!

If you're just one person, you can work directly on master and just commit everything every time:

    git commit -am "I did some work"
Don't try to follow gitflow or githubflow or whatever it is that's made you bail on real version control. But why play the copying folders monty game in 2019?

You don't seem to understand my previous comment. Tarballs are better. Complex commit-graphs are not a reason to avoid git for small projects, they are a reason why I can't avoid git for large projects. The revision history is complex or not regardless of what software I'm using to slog through it.

diff, branch, merge, blame, stash

But if you're going to go through all that work... isn't it easier to just use Git, or some other VC?

I've used git when I've contributed to open source projects. It's an over-complicated mess of a system when you're just one or two devs. Regular backups and notes are more than sufficient and never require you to google how to unfuck your branch.

To jump on the wagon here - at its core git is just compressed snapshots.

Having to 'unfuck your branch' is a result of doing more than just storing compressed snapshots.

This is probably because all the training material and tutorials assume people want to do more than just snapshots, so as you follow along when getting set up it's easy to get into those kinds of situations.

As others have said, doing the compressed snapshot workflow is as easy as adding everything to a git repository, and committing it every time you want to make a snapshot.

The biggest hurdle is having each snapshot 'replace' the current one if you want to go back and look at it, but that's not a hard thing to adjust to for the value you get by using git's machinery for the snapshot workflow:

- fast and efficient remote backups

- greater compression (by using a shared object store for all snapshots)

- easy comparison of different snapshots

- bisection of snapshots to identify when a bug was introduced (including ability to easily automate running tests while bisecting)

- ability to change workflow in the future as needs change, in particular adding in remote collaborators, without having to change versioning system/workflow (well not too much of the workflow)

- rich ecosystem to easily publish source if desired at some point

- and lots more!

Many of these things are possible when you have a list of compressed archives of your source folder, but git really does make it much easier and you don't need to go all in on complex workflows to take advantage of it.


There is a learning curve, true, but it definitely pays off once you are comfortable enough with the (admittedly bad) UI. Even for 1-2 person teams.

I disagree. Compressed backups of the source and a changelog are very simple, straightforward, and effective on this scale. Too many people in this industry fetishize complexity and end up over-complicating even the smallest things, which might be why they get on the internet and criticize someone like Tarn for not doing so instead of actually creating something worthwhile.

How the heck is that simpler than

-- git add .

-- git commit -m "I did something"

-- git push

How???


“git show-me-the-code-as-of-last-Wednesday” is not a command that git understands. Of course, you can _do_ this in git, by memorising arcane commands, and you still only get the output on your terminal. The other option is basically using a GUI interface for git.

On the other hand, finding the folder for last Wednesday and opening it up is easy.


"git log" is a truly arcane command indeed.

Also, pushing your repo to Github / Gitlab / Bitbucket / (a thousand different free services) and then looking at the commit history visually is incredibly difficult.

Come on people, get a grip.


The actual command you need to use is something like “git show HEAD@{2013-02-25}:./file”, which I would count as arcane. And pushing your repo to github and looking at the commit history is using a graphical interface.

No, the actual commands you need to use are "git log", copy the commit ID, and then paste it to "git show <PASTE_COMMIT_ID_HERE>". Of course you can use shortcuts, but those are entirely optional.

For a single-person, single-branch workflow, git is extremely easy. It gets really complicated when doing something more, until you stop seeing git as a VCS tool, but rather as a tool to manipulate the data structure used to do the VCS. But that's a completely different, unrelated topic to this thread.


Most people that _play_ dwarf fortress probably memorise more arcane commands than that, let alone the people that write it.

I've never needed to see the state of the code at a particular date, but I frequently look up when a particular line of code has changed, who did it, and why.

I’m not saying git is bad and you shouldn’t use it, I’m answering the question asked which was “how could anything but git possibly be easier”.

>The other option is basically using a GUI interface for git.

Unless you don't use a GUI for browsing your file system, you really can't dismiss the GUI that comes with Git. It's easy to use the history browser to check out code from certain dates. And it even simplifies tagging commits so you can check out "release 3" instead of referring to a list of release dates.


git log --since=2019-03-06

Windows:

1. Click folder in Windows Explorer

2. Press Ctrl+C

3. Press Ctrl+V

4. Press f2

5. Type new name

6. Press Return

Mac OS X:

1. Click folder in Finder

2. Press Cmd+D

3. Press Return

4. Type new name

5. Press Return

(No real idea about Linux, which I'm only confident with from a programming perspective.)

If nothing else, it's at least fewer keypresses.


This is not really the use case of git. It's not a simple copy. You can look at old changes, reverse old changes, branch and merge new features at a later time.

It's does everything you would need to do manually do with copy paste (diff, merge, find old changes, comment changes, etc) but with much less effort (assuming you use a GUI).


As Donald Norman would say, it's all about the affordances. While supporting almost any inexplicably bad workflow imaginable (git-flow and kin), doing the reasonable thing for a two person crew has way too much cognitive burden.

Because "simple" and "complex" both have two completely different meanings in software engineering. Something can be simple and/or it can be simple to use. Usually they're inversely correlated. You're both working on different definitions of simple.

If there's one of you, whatever, it's your problem.

If thre's two of you, I might be so bold as to suggest it would be worth giving SVN a try. All the usual handy version control system stuff that makes collaboration easier, but the mental model is simpler than git (with all the things you can imagine that might imply), and you've got a handy escape hatch, in the shape of svn lock, for non-mergeable binary files. Great for PSD files and so on.

(Another thing about SVN that's different from git: working copy disk usage is proportional to size of HEAD, not size of repo. You can reasonably use it for distributing binary builds to non-programmer team members, for example.)


Trying to learn git was a humbling experience.

Everything seems so simple and then suddenly you accidentally deleted all your local changes and have a bunch of similar but not identical branches. You get a message saying your head is detached and that feels right. At least your working tree is clean, you'd hate to have a dirty working tree.

You have a pressing need to learn merge but that launches its own fun minigame:

https://stackoverflow.blog/2017/05/23/stack-overflow-helping...

It's so popular and well documented that every time you get confused it feels like a personal failure.

The promise of git is phenomenal, and I know a lot of people realize that by mastering it. I just wish I had figured out a way to learn it more iteratively. It felt like there were a bunch of frontloaded concepts you need to master to get yourself back out of trouble. And if you ask for help from someone who doesn't include whatever you messed up in their normal workflow, even if they've used git for years they might not have any idea.


I have to say that I disagree with you. When I've worked on projects by myself, or perhaps one other developer, I've found git to be much easier to use than making manual backup-folders. There isn't really any need to use that many branches when you're only two developers, so most of the time you're just going to be using git commit, pull and push. It takes about as much time as making backups, and the ability to see exactly which lines where changed in each commit can be invaluable at times.

The ease with which you can review how things have changed in a large code base (one written even by just one person) is invaluable. Not hard to use and the upsides - being able to diff different commits - is really something that shouldn't be taken lightly.

> when you're just one or two dev

Version control has nothing to do with the number of developers, it's a tool used to snapshot code, allowing easy tracking, reversal, and plain old "I'll finish this later". I couldn't imagine trying to develop without being able to make a branch, try something out, jump back and fourth between features, and then merging everything together later.

I can't stand the command line tool, but a nice GUI like Sourcetree or TortoiseSVN makes juggling very nice.


Love Tortoise, it is my go to for Git % SVN

I'm sorry but if you've been writing one of the most complex and elaborate video games in human history, you can figure git out, probably faster than it took Linus to write it (a weekend).

I'm sorry, but if your development model works fine for you and has allowed you to create a cornerstone of gaming culture and keep updating it for nearly 2 decades with a 2 person team... maybe you don't need to take advice from internet know-it-alls?

...or maybe you could use some help!

Copy folder, rename folder... it's fewer keypresses in Windows Explorer than committing to git from the command line! "Using git is less work than copying a folder" is not an argument I personally can get behind.

Honestly, for personal projects where I'm the sole developer, I only use git nominally. I mean, it's there, and sure, I commit; but it's not like I'm spawning feature branches or anything like that. It's a rather linear set of commits, functionally almost equivalent to having a zip of the source every now and then. I'm sure many people are the same.

Even for small personal projects, for me the real killer feature is commit messages. Otherwise, it's almost impossible to remember which numbered folder has the change I want, and looking through commit messages is often a good way to get back up to speed on a project I haven't touched in a while.

Sort of.

I've used git for so long and so deeply that it's ingrained in the way I think about code - I break things into atomic commits, and regularly traverse and edit the commits in the feature branch that I'm working on. That doesn't change when I'm working solo, nor do my commit message style rules. I find it very useful to be able to investigate the history of a piece of code, even as it moves across multiple files, and figure out what happened and why.

That said, when I'm working on a team I generally don't care how many concurrent branches are being worked on - it's not a problem at all if the threaded view is n levels deep. When I'm working alone I tend to have a linear (single threaded) history, with tags for each release or deploy.


"I break things into atomic commits"

This is something that I struggle with. And it sets me apart from the apparent majority of (younger) programmers.

At best, once I've baked something enough that I'm satisfied, I can go back and break up the work. But then what's the point?

From my perspective, the agile/scrum mindset (velocity!) leads to spamming the code base with poorly reasoned trivial changes, frequently just kicking the can down the road, happily accumulating technical debt like an accretion disk.

Alas. I think the youngsters are more correct. Code bases are now so short lived that anything more than the bare minimum is just wasted effort.

I miss the days of product development and burning CD-ROM gold masters and people at least tried to hammer nails straight.

I know, I know, get off my lawn and all that.


Linear git history is infinitely better than no version control, even on small solo projects.

This is how many large teams do software development, including most of Google (see e.g. my team's project at https://nomulus.foo ). It's totally sufficient for personal programming, and that's what I do too.

You're still using git for real even if you only ever have one branch.


Hear hear! That said, it's pretty damn useful to have a log of my changes. Commit often, and it's even more useful! IntelliJ IDEs have pretty nice ways of viewing the diffs over time per file, and many other tools exist for doing this. Super useful!

I don't use branches either, but what I do like to use every now and then is stash. Sometimes you program yourself into a corner, or you realize that you need to take a step back. Or to quickly check what caused that regression you just noticed.

What if you decide to implement a new feature/big refactoring and don't finish it for some reason? This is where feature branches shine, you can just switch back to master and start working on something else.

Git flow is dead simple to follow, I find it even easier than coming up with anything else on the fly.

They almost certainly use some sort of version control, like all novice programmers do, right? -- copying files/directories, creating backups, etc. (MyProject02.old.bak.zip).

Ah yes:

  myproject.final.zip
  myproject.production.zip
  myproject.backup.zip
  myproject.backup2.zip
  myproject.shipped.zip

myproject.final2.zip

myproject.final3.zip

myproject.final_for_real.zip

Been there done that. I prefer git where it's all just meaningless hashes, or semver tags.


I'd be surprised if that is not the case. No way they could have gotten this far without at least this minimum level of version control.

No development team, no need for version control.

I meta love DF for it's primitive development practices too.

Guy decides to make a game with a block of stone and a chisel, development community calls him crazy and says games can't be made that way, but he keeps chiseling away.


This is like stone carving with a chisel, but striking the back of the chisel with your hand instead of using a hammer. A hammer adds a bit of complexity, but you will save yourself a significant amount of pain.

Until you hit your hand with the hammer, then you can't use either the hammer or your hand any more (pedantic, I know, but meant in good spirit)

I think one problem is he doesn't, or at least it is managed through heroic effort as opposed to efficiently. Updates take longer and longer and have a longer period of 'everythings broken' as the game progresses. From all reports the code is a complete mess. It's an amazing piece of work, but it does seem like there is some wasted potential there (though I can believe that it may not be possible to harness that potential without giving up on the incredible ambition of the game, because this is the kind of thing that can only really be accomplished by someone who is completely unreasonable).

Tarn isn't known for being a good developer. He's just very dedicated :)

In fact it's pretty well known that Dwarf Fortress has a horrible code base and it would be a huge project to bring it up to a good standard.


Maybe he just said he wasn't the greatest developer and that the code wasn't well organized. That's called modesty and honesty.

In this era of self-promotion some people actually can't recognize those things.

But I think its very obvious that he is a good programmer. His work is literally legendary.


I feel the same way about Notch. He was being modest when being critical of his own code. Besides, Minecraft was little more than a weekend project when he started. The whole idea is to move fast when prototyping game ideas.

It's unfortunate that people latched on and the "Notch is a bad coder" meme took off. I imagine the same is true with Tarn.


>But I think its very obvious that he is a good programmer. His work is literally legendary.

"His work", as in, the game he made. Game development is a multi-faceted beast. It is quite possible that while game design is awesome, technical implementation is a mess even if it reaches the goals.

I have heard DF being praised for having so many things to do, for being able to create wild stories, etc, but never for technical excellence.


Good devs get shit done. Feel however you want about the cleanliness of your code vs that of others, but Tarn created something that will be recognized for its significance to gaming culture for the foreseeable future.

Well they say hard work beats talent when talent doesn't work hard...

DF is definitely an admirable and awe-inspiring project, regardless of the beauty of its innards


> Tarn isn't known for being a good developer. He's just very dedicated :)

Genius is one percent inspiration and ninety-nine percent perspiration - Thomas Edison.


I feel like I see this quite often with large, single man projects, both inside and outside of IT (Henry Darger comes to mind). I feel like there might be some kind of bias at work here, but I do think it's interesting to see that traits like "being a good developer" don't seem to correlate very strongly with making large, successful personal projects.

One thing that amazes me about Dwarf Fortress is that the creator(s) don't use version control[1] (as of 2014, things may have changed)

A friend of mine, years ago, took the "daring, revolutionary" step of convincing NASA management to embrace version control. I also know of a European consulting firm which made a lot of money swooping in and saving a major Euro bank's problems due to lack of version control.


It makes a little sense. They aren't working with any kind of time limit, so if they break something they just work at it until it is fixed. There's no rolling back to the last good version.

But yeah, this is undoubtedly a factor in the games rather glacial development rate.


Copy of Copy of Copy of DFSource.zip

Tarn Adams did however release the RAWs of the games to the public domain. As a personal project, I wrote a script to take the different zipped releases, extract the RAWs, and layer them into a git repository while attributing everything to Adams' handle Toady One. I separated the script I used to create it, and the layered RAWs into two separate repos. It's not up to date, but here it is:

https://github.com/tareqak/df_raws_helper https://github.com/tareqak/df_raws


I think as long as you have a system for versioning the source code you are working on you will be fine. It's just that it will be a little more manual a process to perform (hence you might do it less often), but if it's a stable process then it should suffice.

Configuration Management isn't just about keeping your source in source control software / server somewhere, it's also about the tools, dependencies, and other artefacts that you need to build and distribute the software.

How many people take great care for the version control system but forget everything else?


Dwarf Fortress is a popular game, but it's progress has been stalled for years.

One of its big issues is performance. For an ascii game.

If anything, it is an example of how saying "Eh, screw it." can stall your progress


DF does massively complicated and computationally expensive simulations. It eats CPUs alive. How it shows those results (ascii, tile pack, etc) has nothing to do with it - it isn't GPU-bound the way just about every other game is, because it's as much a simulation as a game.

What do you mean by "stalled for years"? I haven't played in a while but according to the website[0] the last development progress wasn't even a month ago.

[0]http://www.bay12games.com/dwarves/


I've played DF a lot.

Biggest problem that I had is that it eventually becomes a challenge to manage the framerate. I realize there are ways to fix this that are intertwined with the gameplay, but I'd rather play the game instead of butchering kittens and other things in an effort to keep the game performant.

Second issue is with military organization. I never really became confident in my ability to get the squads doing what I wanted them to do (wearing the proper uniforms, training with a crossbow).

Despite this, I've had a lot of fun with the game. Building, farming, and managing a metal industry is a lot of fun. The barrier to entry is still pretty high, and I don't think the announced additions are going to change that.

(haven't played in the last year or two, so my criticism may be outdated)


I once had a mature fortress laid waste by a black dragon. My dwarves got it killed, but there were only three surviving dwarves (who had been fully plate armored) out of 200, and after the battle they were so stricken with grief they could hardly do anything.

I've had invasions of orcs and goblins thrown back by fortresses. What a complex and !FUN! game.


No the criticisms are still valid. There's still severe frame rate issues under quite a few circumstances. The military thing is more subjective though, it's still a complicated system, but such is the way of DF.

As much as I can see why Tarn wants to keep the code closed source, I really wish he'd allow someone to help him with some optimisations.


I'd disagree that the military issues are subjective, as of 0.44.x dwarves still put on a random assortment of what you assign them, normally missing something important like a right gauntlet or a shield.

Multithread w h e n ???

Also, early embark setup fatigue is real. Setup the stockpiles. Plan the rooms. Have the plans outpace your current productivity and have it take way too long. Do this every time.

Once that's over, though, you get to enjoy sorting through droves of migrants, assigning each to the tasks they're most appropriate to or which need the most dwarves right now (the game actually approximates this automatically in that it generates migrants vaguely in reflection to the fortress's needs, but it's not like it assigns all burly, tough, slow-to-tire dwarves to your melee squads or that talented bonecrafter to more useful crafting jobs, so it's up to your manic OCD). Do this every season.

Somewhere in there, have some !FUN!.


Multithread never. You know in your heart of hearts that DF wasn't built with modularity in mind and that the code is a horrific mess of dependencies everywhere and making it multithreaded would require a near complete rewrite of the system.

Actually, one of DF's biggest CPU-sinks is AI pathfinding, which is a: embarrassingly parallel and b: highly speculatable[0], so the only hard part would be keeping map walkablity data in-sync or read-lockable (depending on whether you want a separate copy or not).

0: ie, you can fire off a pathfind from your current position, keep walking for several steps (many game ticks) before getting the result back, and just do some minor fixups to make it work.


> the only hard part would be keeping map walkablity data in-sync or read-lockable

I suspect that this is entirely the problem. For quite a while not I've gotten the impression that all of the game state in in a single data structure.

Also I'm pretty sure that there are update anomalies galore even now. It's almost certain to be a herculean task. I might be wrong, but the fact that Tarn has never even attempted it makes me suspect that I'm right ;-)


Should rewrite it in rust

Given what we can see on the surface, DF is probably a mess under the hood. I'd bet a competent C programmer could speed it up a LOT with old-fashioned single-threaded optimizations.

By the time you synchronized all that state would there be a performance payoff? My gut tells me the overhead would eat up a lot of the benefits.

I prefer to embark next to volcanos and have the dwarves tap the volcano to make defenses (think magma traps and moats) and power furnaces and forges.

Once, my dwarves built a box structure on top of their underground fortress entrance. Built a wall around that, and filled the in-between space with magma to create a sheath defense. The ingenuity of dwarves is marvelous!


Don't forget how dwarves drop their personal items all over your fortress, even when they have an assigned bedroom. Some ahole leaves their sock in your front door and the vile forces of darkness just waltz on through.

But all of the half-implemented features, years-old bugs, "screw you" approach to UX, and general jankiness are worth it when a fire imp immolates 10 people in your great hall only to have its skull caved in when it tangles with the wrong toddler.


> The barrier to entry is still pretty high, and I don't think the announced additions are going to change that.

This would be a problem for a new game, especially in Steam's early access program - but at this point DF has a huge "brand", and people know what they're getting into. I think it could even be argued that the difficult UI is part of the experience, as weird as that sounds.


I would buy a copy just to support development and the past fun I’ve had. But I’m likely in the minority.

I'll likely buy a copy and continue to download and play the "free" version.

I've never been able to get into DF but I would suggest people check out RimWorld. I've heard it described as "Dwarf Fortress is Rimworld for people who hate fun" [0] and people often draw parallels between the two [1].

[0] https://www.reddit.com/r/RimWorld/comments/7dm7j8/how_does_r...

[1] https://www.reddit.com/r/RimWorld/comments/6xeie3/coming_ove...


I love RimWorld, and have hundreds of hours in it, but I'd say it's really more like Babby's First DF game than truly comparable to DF. It just doesn't have the depth, or capability to present a deep challenge forever. It also takes place in a single layer, whereas DF has gobs of layers.

I actually really enjoy the way RimWorld's gameplay is simpler and more focused. Feels more like a game you actually get to play and less like a simulation you feel compelled to tweak every few hundred ticks.

Obviously, you're not going to get "infinite hours of gameplay" out of it the way you can with DF, but it can be a fun ride for hundreds of hours.


RimWorld has a giant and engaged modding community. I know many people with multiple thousands of hours in the game.

There's also a very active subreddit at r/RimWorld


The other thing going for Rimworld is Steam Workshop integration and a very robust modding community.

You want Warhammer 40K in Rimworld? Got it.

You want Lovecraftian horrors in Rimworld? Got it.

You want different types of cats, or barbed wire, or typewriters? Got it.


>It just doesn't have the depth

Literally. There's no z-levels, which really kills it for me in a post-apocalyptic sim where you can't dig a defensive moat or put riflemen in towers.


Same. I haven’t played DF nearly as many hours as Rimworld, but I can still grok that DF contains far more surprises and emergent gameplay. That said, Rimworld has proven to me how useful a pleasant GUI can be. Even though the gameplay loops are ultimately very predictable I’m always surprised at how I can get sucked into a session with it’s relaxing rythyms.

I played DF many years ago when the modding scene was a lot younger and found it’s complexity to be too intimidating. I eventually quit playing after a few weeks because of it.

I’ve been playing the hell out of RimWorld over the past few weeks. It really is a great entry to the kind of game DF is. The creator did a really good job of designing mechanisms to hold your hand in the beginning. The warnings on the right hand side of the screen were a godsend for me picking up RimWorld to make sure that my housekeeping was in enough shape to keep exploring without having an entire colony wipe for some ridiculous reason. It’s made me ready to try to tackle DF again after successfully running colonies in RimWorld.

I suspect someone can mod DF to give the same kind of gentler entry experience (if they haven’t already).


"The Lazy Newb Pack" has always been a must for me, and for me made it finally playable and enjoyable. One you get the hang of the "Dwarf Therapist" component, the game suddenly becomes much more approachable.

That is a really good point. Rimworld has a predictable and fairly simple loop, but it's a good one, and the UI lets you easily and fully manage everything and react to situations appropriately.

RimWorld doesn't really compare. The world is dead comparatively.

I heard some people recommend Oxygen Not Included, as also being in a similar vein, albeit at a smaller scale(ie, you have only 2 or 3 people in your colony), but with nice visuals (Klei are generally good with the animations, most things are animated, machines have cranks and pinions that move, water and other liquids actually flow with gravity, and visuals match the simulation as far as I have seen). ONI has a somewhat detailed array of systems like electrical wiring, plumbing( separate systems different for liquids and gases, with pumps, sumps, valves, etc), thermal management, people management (food, sleep, breathing air quality, lighting, waste management, morale, etc.)

Hardly comparable to Rimworld. ONI doesn't have combat beyond slaughtering animals. You can end up with your colony starving or suffocating, but you usually caused it yourself / were not careful enough. It also feels like the later part of ONI was quite a bit influenced by Factorio, leading to lots of automation while Rimworld pretty much only only tech subsystem is an electrical grid that explodes whenever you do well.

My first somewhat successful ONI run resulted in me over producing oxygen. Cut to the mid game and now all the tunnels are packed full of bacteria laced oxygen that I can barely keep up scrubbing. All the while my dudes' ears are constantly popping due to the high amount of pressure from the sheer amount of oxygen being pumped into the base.

Rimworld is kinda lame if you've played DF. They are not even comparable.

Honestly, Rimworld is the better game. DF may be the better simulation, but most of the time that simulation does not contribute that much to gameplay, and many aspects of DF detract from the gameplay. I would like rimworld to develop more depth, but it has at least acknowledged that how the player interacts with it is important.

how so? the production chain is almost as deep. the damage model it's close in detail, and it's not terribly broken (whips anyone?) which should count as far as features go. you can actually caravan, explore people and exterminate faction without being restricted into adventure mode. and when you ask a neighbor for something in the caravan, you get what you asked. weather and climate is much more prominent, including more dangerous event like dry thunderstorm; the storyteller driven game is also quite ahead of seasonal invaders. husbandry is about the same and farming has terrain and light modifiers.

as far as game mechanics go rimworld lack building on multiple z levels and fluids.

and then you have gnomoria....

the real differentiation is the depth world history that df has that's quite unique.

I love dwarf fortress, but let's not put that on a golden pillar.


For the way many people play DF, I think Rimworld is a better game. However, one of the core features of DF is that the world persists and has history. That's why there is no winning condition. Rimworld has a kind of lame winning condition (get off the planet), but it's there for precisely the reason that it doesn't exist in DF: Rimworld is a game with mechanics optimised for good gameplay. DF is a fantasy world simulator where you immerse yourself in the world and do whatever you want.

Again, for a lot of DF players that point is lost. They want to set up their efficient workflows or build their wonderful creations or they want to slaughter wave after wave of goblins. However, DF is set up in a way that the player is not necessarily important to the world. You die and the world just continues. You explore the world as an adventurer. You get killed by a duck. Life goes on. Your fortress falls to a weregopher. Life goes on. You explore the ruins of your fortress, track down the weregopher and get your revenge. That's DF. Rimworld has none of that.

Rimworld is a good game. DF is more like a toy.


The way I see it, it's like the difference between people who follow a Lego manual (RimWorld), and people who are creative enough to just build awesome things without it (DF). It's 100% what you make of it.

There's an amazing channel on YouTube, called Kruggsmash, that does DF lets plays. In his current series, he initially founded a new settlement based entirely on bee agriculture and trading - no fighters. He kept the population small so they were under the notice of the local goblins, and got set building an awesome looking place with custom bee related statues, engravings and the like. Unfortunately the other dwarf settlements around him (NPC ones) die off because of the local goblin fortress, and refugees start flocking to his settlement. (SPOILERS AHEAD!) He ends up throwing a vampire goblin down the well, and stabs him with spikes which ends up bloodying the water. The dwarves that drink the water then end up turning into vampires themselves, so he now has a fortress of vampire dwarves! He also has a massive prequel to this fortress series where he plays in adventure mode as a boar man and his compatriot goblin buddy (the one now down the well...), going around stealing artefacts and building his own role-play story, with some amazing illustrations to show what's happening in through all the ASCII graphics.

Honestly, he's more than worth a watch. You get very attached to all the characters, especially the dwarves that have been there from the beginning. He's one of the few YouTubers I've ever contributed towards on patreon.


the problem with rimworld is that there's too much micro and that the amount of emergent behavior is extremely limited compared to DF. There's no freedom to create and there's no serendipity. There's randomness but it's not nearly the same thing.

Rimworld took DF and removed all the innovative elements to fit it into a more traditional base building game. Then yes, if you restrict yourself to some very specific elements of gameplay they can be comparable but you don't play DF for the production chains.


The huge range of mods available for RimWorld allow you to address both of these things to whatever level you see fit. I find RimWorld shifts back and forth between a lot of micromanagement and a lot of passive automation depending upon how advanced your colony is and how dire your current set of circumstances is (e.g. I tend to do a lot of microing early on, and after the colony is established I only really have to micro during specific tense situations, like heavy raids).

I've played both. RimWorld became... repetitive really quick compared to DF, however, certain limitations in DF have significantly hindered how much I want to play it, namely I find it super hard to have a good overview of what goes on in my DF fortress after a while while in Rimworld I didn't get that feeling.

both games really shine if you just hit random and go. especially rimworld minmaxing the beginning picking biomes etc makes the game a little more dull.

I love Rimworld.

That said, wake me up when you find that your engraver has engraved a room full of images of rats, out of spite because he doesn't like the noble who owns that room.

Or when your Rimworld character, when trying to build a well, gets swept away by the current, scratches himself against the bottom, and now you have a full colony of vampires. Because it turned out that character was actually a vampire.



Does DF have a multiplayer mod like rimworld? I love playing together with my partner.

https://github.com/Zetrith/Multiplayer


* Simplistic world generation that doesn't really have a concept of weather or geography/climate.

* No liquid simulation (water/lava) with little physics simulation (falling/flying objects etc)

* Simplistic combat simulation

* No world politics simulation that dictates what happens in the world

* No 3D is the biggest one. RimWorld is Dwarf Fortress as it was a decade ago with a single 2D sheet.


* true, mentioned it

* true, mentioned it

* not really, you get layers and damage type and bleeding and organ failures impacting pawn abilities

* not really you can do diplomacy in rimworld between the colony and factions and it's deeper than current fortress mode options. diplomacy in worldgen is non actionable.

* true, mentioned it

the issue is 4/5 of those thing you repeat from my post don't add to gameplay (fluids) and some detracts even (path has severe issues caused by stairways).


Rimworld is wonderful if you've played DF. They are very similar games with different levels of complexity and detail.

Agreed. Fans will dv this, but it's like saying an etch-a-sketch is on the level of photoshop.

Also (since RimWorld has been mentioned) Prison Architect, may also have some similar qualities, like complex intertwined systems, and emergent events like prison riots, etc.

After the second time I stayed up to 2 AM playing that I deleted it from my computer. Too much fun :(

Then you should never install Factorio... :) I’ve put an ungodly number of hours into that game.

Kitfox Games is run by Tanya Short, who’s co-authored a book on procedural generation in games.[1]

She gave a pretty interesting talk in Vancouver about how it integrates into her studio’s production methodology. A lot of Kitfox’s games employ procgen, so I feel like they’re a good fit for the title. [2]

[1] https://www.amazon.ca/Procedural-Generation-Design-Tanya-Sho...

[2] https://m.youtube.com/watch?v=TH11Q7VPXj8


Co-authored with Tarn Adams, the co-creator of Dwarf Fortress.

Tanya Short and Tarn Adams (of DF) are collaborating again for a new book built around procedural storytelling that is set to release soon. [1]

[1] https://www.crcpress.com/Procedural-Storytelling-in-Game-Des...


I've often wondered if DF will ever get an open source version that tries to recreate the same experience but focuses on consistent interface design, performance and multithreading, and ease of extensibility.

DF has a huge head start, and two of the most incredibly passionate developers out there, but it's also clear they prioritize expanding the model first and foremost rather than trying to tackle any of the user experience issues that have plagued the game forever.

(To be clear, I adore DF. I've put many, many hours into DF. It's a truly amazing game and I continue to wish the developers success.)


I feel like every time someone sets out to create a F/OSS successor to DF, they end up mired in creating dungeon and world generators and never produce a functional game.

Really, that's what DF is anyhow; they even call it a "story generator" IIRC. Tarn just managed to put enough of a playable game together before getting lost in the details of world generation, and people have stayed engaged enough with it to keep him involved in the project.


Yeah, and with FOSS this is all the more important. No one is going to play your game, if it's not fun. Few people are going to play your game, while it's not yet in some tangible way better than DF.

And if people don't play your game, they're not going to contribute to it.


This is a common trap in game dev. You have to get that steel thread pulled through before you spiral off into building systems in depth.

I've heard a rumour that DF is planned to be opensourced once zach and tarn die, but they're keeping this a secret in order to keep from being assassinated.

I think there will eventually be an open source game that captures the same kind of magic that DF has. I don't think it will be DF, though. If the DF source code was ever opened, I think it would be pretty similar to what happens when any classic games opens it's code: nobody touches it for a long time. You need someone passionate about developing the code to keep it going -- and if you are passionate about developing it, you're more likely to write your own.

If only I could stop playing the game long enough to write some code... ;-)


Dungeon Crawl Stone Soup is to Nethack as __________ is to Dwarf Fortress. My understanding is that Gnomoria isn’t there yet, but I haven’t played it, so I could be wrong. It certainly would be an interesting technical challenge to write a competitor in a modular, maintainable way that allows tile-based frontends without injecting memory.

Rimworld is kind of this. It's obviously a different, far more accessible experience. But I can't help but feel like it took much of its inspiration from this very idea of making a DF with much better UX.

It's good but it doesn't have the same kind of emergent feel that DF has. It feels a lot less alive compared to DF.

Hopefully when the developers are eventually incapacitated they've made provisions for the source code to be released. I know I stopped playing because occasionally there were bugs were so bad that the fortress had to be abandoned; and there is substantial evidence in the bug count and framerate that there are underlying architectural issues in their design.

An open source version would be technically superior; although how that would affect their income stream I do not know.


Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: