this post was submitted on 29 Jun 2023
119 points (100.0% liked)

Gaming

30532 readers
79 users here now

From video gaming to card games and stuff in between, if it's gaming you can probably discuss it here!

Please Note: Gaming memes are permitted to be posted on Meme Mondays, but will otherwise be removed in an effort to allow other discussions to take place.

See also Gaming's sister community Tabletop Gaming.


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 2 years ago
MODERATORS
 

In this release, we're updating the engine from SDL to SDL2, and there are many optimizations to go along with it. Aside from the optimizations, SDL2 is also the stepping stone to ports. We have Linux compiling and playable; it just needs some testing.

Moreover, there is now a(n experimental) multithreading option in the game settings that makes the game even faster!

We also have some new individual tree graphics, and an update to grass ramps as well.

This has been mostly the hard work of Putnam! Meanwhile I've started up on adventure mode - the long work of updating menus and adding audio has begun! Hopefully we'll have some progress to show their soon, as we continue updating fortress mode as well.

top 28 comments
sorted by: hot top controversial new old
[–] tochee 10 points 1 year ago

Super excited about this as the game runs like shit on my laptop and there's a long running issue of fortresses becoming unplayable at high populations. Anyone tried it out?

[–] [email protected] 9 points 1 year ago* (last edited 1 year ago) (1 children)

Putnam has been such a huge blessing to this game since they took ~~him~~ them on.

With a Linux port I might have to install it again too. Ugh my sleep.

Edit: I was an idiot.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (2 children)

Fully agreed! It's 'took her on', though.

It's just insane how competent some people are. Here's an interesting video interview from 5 month ago. And here's a written interview about her joining the team, which I also found interesting and very impressive.

[–] [email protected] 4 points 1 year ago (2 children)

It absolutely does matter - male default needs to stop!

[–] [email protected] 5 points 1 year ago* (last edited 1 year ago) (1 children)

I didn't use male as the default, I had just seen various forum posts over the years referring to Putnam as him and assumed that was correct. Of cause I assumed wrong.

[–] [email protected] 4 points 1 year ago (1 children)

Oh sure - I'm not calling you out or anything. But somewhere along the line the people whose forum posts you were reading had made the male default assumption, and it stuck with you! Not your fault that someone else made that assumption.

[–] [email protected] 3 points 1 year ago

All good - I should have been more mindful and probably used gender neutral language instead.

[–] [email protected] 2 points 1 year ago (1 children)

In case someone is wondering about your response: My comment originally included the phrase "Not that it matters, [...]", but I immediately edited my comment after I posted it, because I agree with your sentiment. You were faster than me.

[–] [email protected] 2 points 1 year ago

Thanks for leaving context here, so I don't look like a raving lunatic :P

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

I learnt something new today.

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago) (1 children)

This has been a decade too late for me, but I'm still excited to play again once Adventure Mode is up to speed.

[–] [email protected] 7 points 1 year ago* (last edited 1 year ago) (3 children)

a decade too late

It's amazing how quickly important performance and QoL features get development priority once there's money on the table, isn't it?

Not that I'm complaining. I tried DF multiple times over the years and always bounced off, it's the mouse-driven interface that's made the game playable for me. Multithreading is great to see too. I'm excited to see what the future of DF holds.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

I don't think it's money that is doing it, it's toady opening up the project. He's a great guy and made a masterpiece game, but he can't do everything. Commercialising the game was the impetus for him getting help, but Putnam in specific would almost certainly have helped him in this way any time had he asked her. She was doing free work for dfhack before, and has contributed to other foss stuff like CDDA

[–] [email protected] 2 points 1 year ago (1 children)

They hired a really talented programmer from the modding community to come in and make performance improvements. If you're at all interested in technical bits of Dwarf Fortress's development, checkout the update interviews they do on youtube here.

[–] [email protected] 1 points 1 year ago

What mods did she make before joining the team?

[–] [email protected] 1 points 1 year ago

it's the mouse-driven interface that's made the game playable for me.

Funny, it was the keyboard only interface which makes me love the game.
I also still love the original character graphics, I bought the steam version to support the devs.

[–] [email protected] 3 points 1 year ago

I hope this means the Mac version is coming soon!

[–] [email protected] 3 points 1 year ago

Been a dream of every long time dwarf fortress player for this all to happen. It's wonderful having an extra person on who can work on all this stuff while tarn and zach full steam ahead with updates.

[–] [email protected] 3 points 1 year ago (1 children)

Wow. That is a cool. My limited experience working with single-threaded game-stuff tells me it is exceptionally hard to port stuff that is written without threading in mind, to multi-threading. Getting the behavior to stay the same while still actually getting better performance requires some really deep insight into how stuff works in the program. On a (program-)global scale. Mad respect if it works out. This should make huge maps or huge fortresses possible.

I haven't yet played the steam version (it is on my todo-list though), but sank quite some hours into the "legacy" version. It can become laggy if you play on big maps with a lot of dwarfs/critters etc on it. I am excited to have even more stuff possible in this already very complex and huge game.

[–] [email protected] 1 points 1 year ago (2 children)

I'm really curious how they're doing it, too! I'm making a multithreaded simulation game and the parts that can't multithread well are related to AI / character logic / tasks and errands / pathfinding, and anything to do with rendering.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)

Would you mind explaining to me why you would include "anything to do with rendering" in that list? I haven't tried myself at multithreading yet, but rendering was easy enough (in my limited experience) to completely decouple from the actual game state or game logic.

I'm simply curious, because I'm toying with the idea to utilize multithreading in my next project.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

By "rendering" I mean when you interact with OpenGL, the GPU, etc - at least in my engine (lwjgl/libgdx), it's expected to be on the main thread. From what I understand too when you get into GPU land everything is already kinda-asynchronous on the driver side - it's only when you call flush() that it actually blocks your thread - which makes it difficult to profile some things.

But I am still a newb at all of this! I'd love to hear your experiences!!

[–] [email protected] 0 points 1 year ago (1 children)

Yes, would be cool to get some technical overview on how they do it. Maybe a lengthy blog post or something.

Rendering can be multi-threaded if you do it grounds up and use a rendering API made for it such as Vulkan or DX12. I used Vulkan a bit and you can create command-buffers from threads, and assemble them into your queue then. So you could have one thread creating the command buffer to draw all static meshes, and another one doing it for the particle system. And there is the "Async Compute" that allows the GPU to do compute shader tasks while CPU is busy building draw commands etc. I don't know enough to tell you details as my own work with Vulkan is very basic. But the in-house engine at my workplace uses those techniques to multithread.

There are systems that can run in parallel to each other. The sound system often needs to be their own threads. Low priority tasks such as wayfinding for NPCs. They don't need to recalculate their paths in a tight loop every frame, they "interpolate" to the next waypoint in between.

Parallel stuff is so dang hard to get correct and actually gather speed. Kudos to you that you are doing that. May your data access never be a race condition. :)

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Yeah in the future I've already decided I want to try creating IntBuffers and stuff on threads but I'll need to do a lot of testing to make sure it's actually faster across a wide range of hardware 😀

I wrote a little blog post about my latest work if you're curious!

[–] [email protected] 2 points 1 year ago

Also nice to see the Linux edition getting more love as well, hopefully they release it soon.

Tried the Steam version when it came out I think a year ago, but got frustrated because stairs were broken. Don't suppose anyone knows if they fixed the bug/misfeature where you couldn't build up stairs without access to the floor above?

[–] [email protected] 1 points 1 year ago (1 children)
[–] [email protected] 1 points 1 year ago (1 children)

Rimworld already utilises multithreading.

[–] [email protected] 1 points 1 year ago

Yep. Multithreading isn't a magic fix for these really complex games. At the end of the day some stuff just has to happen in order.

load more comments
view more: next ›