Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Regarding the inefficiency of the engine. There is something seriously FUBAR with the design when you must choose the size of simulation (the rendered rows and columns of ASCII representing the playable zone in the window not the physical dimensions) at the beginning of a game before embarking. The performance of the game is directly proportional to the number of blocks in this zone + the number of dwarfs and NOT the actual stuff happening to them.

The bad part is that you have to completely start over and embark with new dwarfs if you decide that your system can/can't do a bit more and you wish to adjust the size of the zone.



Current hypothesis on the forums is that he uses some simplistic variant of A*; in extreme situations everything pathfinds to everything else once a tick in a totally serial program. The player base sometimes resorts to weird hacks and layouts to reduce the branching complexity of the path finding, but ultimately the more loose stone and objects you have to pathfind off and the more things you have pathfinding the worse everything gets. You don't even have to have a large number of dwarves for it to crop up; sheep are capable of bringing your machine to its knees if you don't ruthlessly cull them, or notoriously the catsplosion problem.


I would love to see a bunch of hard hitting engineers focus on optimizing DF with multithreading and GPGPU stuff. It would probably require a full rewrite. Having some experience with AI and pyopencl physics simulations I have no doubt that DF could be many orders of magnitude faster and capable of sooooo much more. That's really where my angst stems from.


> [...] focus on optimizing DF with multithreading and GPGPU stuff.

You should probably start with algorithmic improvements.


It could go either way IMO, GPGPUs are super great for naively simulating a bunch of different blocks in parallel.


Last time I played it, it wasn't that bad. It was like a year ago, before that minecart updates. People are exaggerating a bit or performance went worse?


Nope, it's about the same, if anything I believe there are some improvements...which just mean your system gets pushed to its knees doing something even more crazy.


"There is something seriously FUBAR with the design..." I call shenanigans.

I would like you to point out another reality simulator where you can dynamically resize the simulation. Can you ask SimCity "hey, generate me a few extra acres of The World around my periphery"? Or chop it back off again?

A fixed-size simulation is the norm. Anything else is fairly exceptional (and even Minecraft has caveats). What's different here is that you get to choose the size of the simulation in a very customizable manner.


I wrote a nbody gravity simulation that allowed this at one time. http://code.google.com/p/stableorbit


> There is something seriously FUBAR with the design when you must choose the size of simulation (the rendered rows and columns of ASCII representing the playable zone in the window not the physical dimensions) at the beginning of a game before embarking.

Minecraft does that (the fog distance).


Fog distance can be changed on the fly, though. You don't need to start a new game to adjust it.




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

Search: