Live data from Hacker News

How Dwarf Fortress is built

stackoverflow.blog

311–320 of 407 posts

Re: How Dwarf Fortress is built

#311

To me what was most surprising about Dwarf Fortress, given the complexity, is that Tad didn’t use git or any other code repository until more recently.

Well, if you deeply understand the code and reasons behind it (or it's superbly documented esp. with tests), the tool does not bring much beyond being a convenient backup or checkpoint system. And especially if you don't have to work with a team.

I feel that a free and open tool that allows you travel through the 4th and 5th dimensions with your code is very useful, especially when everyone tends to forget what they've written several months ago. It's also a tool that forces you to document your changes.

Is it possible to climb a mountain without equipment? Sure, but it's a lot more dangerous and it'll take you longer to reach your goal.

Re: How Dwarf Fortress is built

#312

Df is just like OpenTTD. Both are like Chess, easy to start, fun to play casually but it takes years to master. Great games, complex if you want to and a time sink if you don't keep an eye on it. Have had many hundreds of fun hours in both games

I agree with the spirit of your post, but Dwarf Fortress and Easy to Start do not fit in the same sentence in my opinion. I mean, the game is legendary for it's arcane user interface and the vast number of things that can go wrong even for experts. Dwarf Fortress is something like vim, where usually on the first interaction people don't even know how to start the game, let alone do anything in it. Chess is easy to st…

I love Dwarf Fortress and play it quite actively. I've been using Vim as my primary IDE for many years. That said, I wouldn't compare Dwarf Fortress to Vim.

Vim is mainly difficult to get into because the model itself is so different from what people are used to and there's inherent complexity. But, quirks aside, it's mostly very consistent and learning a few patterns will get you very far.

In Dwarf Fortress you need to fight not only incredible complexity, but also so very much bad UI/UX and inconsistencies between what should have been identical actions. A great example is searching a list of items. This is done with q for query. Or sometimes s for search. And in some cases f for filter. Or even better, the way k, v, t, q, are all just needles variants of "look at thing under cursor". And none of them work for some activity zones such as pastures, then you need i.

As much as I love DF I'm very much looking forward to the Steam version, mainly for the UI overhaul, which is so far looking really promising.

Re: How Dwarf Fortress is built

#313
post #260
post #2

I read everything about this game I can get my hands on. I don’t fully understand why I find dwarf fortress so intriguing. It’s such a pure passion project… that actually made it.

Games are interactive simulations, by nature. DF is an honest attempt at simulating things thoroughly. Therefore, DF is an honest attempt at making a thorough game. Very few games can make such a claim

Your reply is somewhat self-contradictory. If games are interactive simulations by nature, why is DF so unusual? There is a trend to call many modern games "immersive sims" and somehow they don't produce such stories.

In my opinion game developers have mostly stopped trying to simulate things. The focus is on clothes, rigid crafting systems, skill trees, storyline, cutscenes, vehicles, item collection. It's sandboxes, not simulations. Does Witcher 3 have emergence? Does GTA?

Compare that to Bullfrog, a game company which made simulations almost exclusively. In the 90's "simulation" was a game genre.

Re: How Dwarf Fortress is built

#314

This is a little bit of a hijack but if I wanted to start coding games as a side project, where would I start? Which platform? Mobile, PC, console? Any good introductions on the subject of solo game development? I know I can google this, but I trust HN users more than the Google algo.

The very first game you should make is a Pong/Breakout/Asteroids/Galaga/Frogger clone. It seems simple, but you need to have a surprising amount of systems: graphics, audio, controls, collisions, game states, menus, scoring, user interface. The engine and language does not matter for this first game. The only thing that matters is completing one small game. After that, you'll have the level of knowledge to make somew…

Breakout is a great candidate for a toy game. As is snake. I often make Breakout clones to familiarise myself with new systems.

If you're looking to get things done fast I think Unity is an excellent choice. After coming from years of working with custom engines and Frostbite, Unity feels like such a breeze.

As for r/gamedev I'm quite active there myself and while I like it and it's gotten a lot better recently it still has an issue where it's largely hobbyists and inexperienced indie developers. Their uninformed opinion will often drown out more qualified voices. So take information there with a grain of salt.

Re: How Dwarf Fortress is built

#315

This is a little bit of a hijack but if I wanted to start coding games as a side project, where would I start? Which platform? Mobile, PC, console? Any good introductions on the subject of solo game development? I know I can google this, but I trust HN users more than the Google algo.

I started doing game dev in DOS after reading Tricks of the Game Programming Gurus by Andre LaMothe in the 90s, so keep that in mind for the following advice. Depends on what you want to do. If you want to code games because you find the programming aspect interesting, start small by writing your own versions of some simple games. I personally wouldn't recommend any frameworks or libraries other than (maybe) SDL. Imp…

My father got me that book when I was getting more seriously into game programing and it's an absolutely wonderful tome. It has a lot of very good points about not just programming but also game design and how to achieve interesting and seemingly intelligent NPC behavior with a few simple tricks.

Parts of it may be a bit dated now, though.

Re: How Dwarf Fortress is built

#316
post #179

Earlier quoted context omitted.

Never write GUI code then.

Yeah that's the one downside of not doing OOP. OOP is the only way to do GUI stuff. Nobody on the face of the earth has ever used Functional Reactive Programming. It's a made up concept. In fact it's also definitely not one of the concepts that inspired the most popular pattern in React.

Last time I checked React happens to use OOP concepts from JavaScript, do you want a lesson on which ones?

Re: How Dwarf Fortress is built

#317
post #279

Earlier quoted context omitted.

He posts his revenue. http://www.bay12forums.com/smf/index.php?topic=177791.0

Oh, that's not that much revenue: > 2020: $130801.30 > 2019: $119133.25 > 2018: $92558.50 > 2017: $83491.24 > 2016: $89423.38 > 2015: $60603.43 > 2014: $66765.31 > 2013: $48999.11 > 2012: $57854.88 > 2011: $42294.19 > 2010: $54501.15 > 2009: $32516.44 > 2008: $32318.46 > 2007: $19052.28 Once he releases the paid Steam version with updated graphics he'll likely be making millions in revenue though.

Considering this revenue is entirely made up of donations I feel it's actually quite impressive.

Re: How Dwarf Fortress is built

#318
post #61

I know I will regret asking it… but what’s the modern way of starting playing DF?

The Wiki is probably the most up to date resource: https://dwarffortresswiki.org/index.php/DF2014:Quickstart_gu... It's really not that difficult once you get started, especially if you're used to learning some esoteric keybinds.

I would second this and highly recommend using the Starter Pack[0] previously known as the Lazy Newb Pack. It contains DFHack, tilesets and just really streamlines the user experience.

[0] http://www.bay12forums.com/smf/index.php?topic=126076.0

Re: How Dwarf Fortress is built

#319
post #88

Earlier quoted context omitted.

Hah, this is like EVE Online for me. I love reading about the espionage and cloak and dagger and pure insanity, but other than a brief toe-dip...oh no I will not play it. DF lives in my blood, however.

Totally agree on reading about EVE Online. This is a real classic if you haven’t seen it before, and actually contains a lot of very important notions for identifying Ponzi schemes: http://web.archive.org/web/20091026234156/http://geocities.c...

Use this date instead — the epilogue link fails in 2009.

http://web.archive.org/web/20080408110250/http://www.geociti...

Re: How Dwarf Fortress is built

#320
post #262

Earlier quoted context omitted.

Robot dogs inherit from robot and dog. Mammalian dogs inherit from mammal and dog.

In a multiple inheritance world yes. But I think most C++ devs decides that led to a big mess in large systems. Supposedly one of the best things about Java was no multiple inheritance.

Except it happens that there are architecture scenarions where multiple inheritance makes sense, so all major languages have it in some form anyway.

In what concerns Java you have multiple inheritance of interfaces, and as of Java 8, traits.

Windows C++ frameworks, from Microsoft and Borland/Embarcadero make use of multiple inheritance.

Post reply on HN