4 ms·
Personally I don’t care about the graphics they are cool but the one feature I wish DF would have instead is being multi threaded to take advantage of modern pr
by xwdv 4y ago
Personally I don’t care about the graphics they are cool but the one feature I wish DF would have instead is being multi threaded to take advantage of modern processors with multiple cores.
There comes a point where you just can’t play anymore because everything is way too fucking slow.
- kibwen 4y agoSadly this will probably never happen. Tarn is no slouch as a coder, but he's an old school C programmer working on a massive, legacy, single-threaded C++ codebase. Introducing useful and stable multithreading to similar codebases has taken teams of programmers years to achieve.
- hyperman1 4y agoI heard the pathfinding is slow, and that's almost readonly and very parrallel. So a model where the game only threads this part might be a first step. Talking as someone who knows nothing from the codebase here, of course.
- jonov 4y agoI'm not an experienced reverse engineer by any means but I took a peek at dwarf fortress in IDA and found what I believe is the combat simulation function. At least it uses strings like: "flies off in an arc" and concatenates them together. The function itself is massive, I had to increase the node limit for IDA graph view to see it in graph mode. If rest of the code base is similar then I can see how it would be a big job to untangle it all and parallelize. Tarn has also said that he is not a SW developer, coding is just means to an end for him to make a game so I sort of expected spaghetti. The game is great though!
- outworlder 4y agoSimulations are notoriously difficult to parallelize. You always have a bunch of things all dependent on the results of one another.
- krupan 4y agoThis. See also: verilog
- Gigachad 4y agoI’m not terribly familiar with the game but I imagine half the frustration would be in the UI slowing down rather than the game speed. I’d imagine it would be much better if the UI and map still worked full speed but the game state slowed down and become almost turn based.
- xwdv 4y agoThat’s why you use instances and break up the simulation into discrete spaces. At the very least for instance, you can simulate different Z layers on different cores.
- waiseristy 4y agoYeah I have the same opinion. I have played way way too much DF, and new graphics aren't going to get me back into it. I just want to be able to ward off FPS death until I have at least 1000 dwarves and a giant magma moat