Jump to content

Nugget Doom 3.1.0 (updated May 16th, '24)


Alaux

Recommended Posts

I've started using this source port yesterday and I'm very pleased with it. I was especially surprised by the fact that in some graphically intensive maps, I can get a better framerate than in DSDA.

 

Question - is support for native resolutions going to be introduced anytime soon? I'm running Doom on a 1366x768 screen (weird I know), and the closest I got was with the 3x (600p) option, which is 1284x720. The game still looks a bit low res to me even with the smooth pixel scaling option set to on, and the 4x mode doesn't seem to make much of a difference because it's beyond my screen's rendering capabilities and it results in huge lags during recording. I would really appreciate a clear explanation on what the internal renderer does in cases like these where my native resolution doesn't conform to the presets.

 

Other than that great job, it's an excellent port.

Share this post


Link to post
1 hour ago, DreadWanderer said:

is support for native resolutions going to be introduced anytime soon?

The Woof devs are working on that. Nugget should inherit the changes later on.

 

1 hour ago, DreadWanderer said:

I'm running Doom on a 1366x768 screen (weird I know)

Not so weird; my screen is the same.

 

1 hour ago, DreadWanderer said:

I would really appreciate a clear explanation on what the internal renderer does in cases like these where my native resolution doesn't conform to the presets.

I guess the game screen is downscaled or upscaled to fit the window size (which, if you're on fullscreen, is your screen size), but I admit I'm not sure. You should still be getting a bit more detail when using 4X -- at least, I think I notice a little blockiness in 3X but not in 4X.

If you want, you can enable integer scaling in the CFG to prevent the uneven scaling, at the cost of getting black borders all around.

Share this post


Link to post
4 minutes ago, Alaux said:

The Woof devs are working on that. Nugget should inherit the changes later on.

 

Not so weird; my screen is the same.

 

I guess the game screen is downscaled or upscaled to fit the window size (which, if you're on fullscreen, is your screen size), but I admit I'm not sure. You should still be getting a bit more detail when using 4X -- at least, I think I notice a little blockiness in 3X but not in 4X.

If you want, you can enable integer scaling in the CFG to prevent the uneven scaling, at the cost of getting black borders all around.


Cool, thank you for your answer. As I said the differences are pretty small but I'll stick to 3X if I ever record with Nugget Doom, or 4X if I'm just playing. Will follow this page closely and Github for updates.

Share this post


Link to post

Here's a lil' vanilla widescreen NUGHUD, it should be semi-compatible with wads that change the HUD.
Posting it here because I think it fits with the other HUDS being posted :)

 

Preview (D64D2):

Spoiler

nugg0005.png.bc9944eb63218c955cb6ee6812a5726f.png

 

le Wad...

 

Edited by Beemer
moved the HUD to github

Share this post


Link to post

That looks... oddly familiar. :) Good job! Didn't know NUGHUD was capable of doing this. However, I guess this one isn't dynamically cutting apart the custom STBAR lump from the PWAD. 

Share this post


Link to post
8 hours ago, NightFright said:

That looks... oddly familiar. :) Good job! Didn't know NUGHUD was capable of doing this. However, I guess this one isn't dynamically cutting apart the custom STBAR lump from the PWAD. 

 

Thanks :)

But nah no cropping here, just a wide custom STBAR with a transparent middle.

Edited by Beemer

Share this post


Link to post

So, a bit of an update regarding the viability of recording on my machine - I was under the impression that everything would be ok with 3X since it's the closest to my native resolution of 1366x768. However, I'm having absolutely crazy frame drops and the OBS encoder is overloading every time unless I turn it down to 2X, which is a bit too much in terms of quality drops. I've tested Woof's high resolution mode (don't know what resolution that is exactly) and never had this problem. I find it really strange because this almost never happens in DSDA while I'm running it native and recording with the same OBS settings, and Nugget Doom actually performs better or is tied with DSDA when simply playing.

Now obviously one can say it's just an issue of having low specs, but both DSDA and Nugget feel very well optimized, they just have wildly different results when attempting to record. My question is - could this have something to do with how the internal renderer interacts with OBS? After all, it might be the only relevant difference because afaik DSDA does not have an internal renderer and instead changes the resolution of the screen directly. Thanks.

Share this post


Link to post
2 hours ago, DreadWanderer said:

My question is - could this have something to do with how the internal renderer interacts with OBS?

I'm afraid I wouldn't know to answer that.

 

If I had to take a guess, though, I'd assume that the game window always matches your native resolution when using fullscreen, since it doesn't get blurry as I would expect from Windows's scaling. As for the internal renderer (assuming you're referring to the game's software renderer, and not SDL), I don't think it should be affected.

 

Remember that Nugget ought to merge Woof's approach for higher resolutions when it is officially released. Until then, maybe try toggling exclusive fullscreen?

Share this post


Link to post
7 hours ago, DreadWanderer said:

So, a bit of an update regarding the viability of recording on my machine - I was under the impression that everything would be ok with 3X since it's the closest to my native resolution of 1366x768. However, I'm having absolutely crazy frame drops and the OBS encoder is overloading every time unless I turn it down to 2X, which is a bit too much in terms of quality drops. I've tested Woof's high resolution mode (don't know what resolution that is exactly) and never had this problem. I find it really strange because this almost never happens in DSDA while I'm running it native and recording with the same OBS settings, and Nugget Doom actually performs better or is tied with DSDA when simply playing.

Now obviously one can say it's just an issue of having low specs, but both DSDA and Nugget feel very well optimized, they just have wildly different results when attempting to record. My question is - could this have something to do with how the internal renderer interacts with OBS? After all, it might be the only relevant difference because afaik DSDA does not have an internal renderer and instead changes the resolution of the screen directly. Thanks.

Maybe you can try uploading your OBS log to https://obsproject.com/tools/analyzer , usually tells you what specifically is causing slowdowns.

Share this post


Link to post
4 hours ago, Alaux said:

I'm afraid I wouldn't know to answer that.

 

If I had to take a guess, though, I'd assume that the game window always matches your native resolution when using fullscreen, since it doesn't get blurry as I would expect from Windows's scaling. As for the internal renderer (assuming you're referring to the game's software renderer, and not SDL), I don't think it should be affected.

 

Remember that Nugget ought to merge Woof's approach for higher resolutions when it is officially released. Until then, maybe try toggling exclusive fullscreen?

 

Thank you for your reply. I don't know what SDL is, I only noticed from previous posts in this thread that Nugget does not change the resolution the way DSDA does by changing the resolution directly like you would in the Windows desktop, but instead uses its internal renderer to try and match the native resolution.

 

I almost always play in software mode and with exclusive fullscreen on. I've also tried to fiddle around with integer scaling, smooth pixel scaling on and off and so on, and it didn't do anything for me. But yeah, my feeling is that it's probably best to wait for Woof and Nugget to implement support for native resolutions. Until then I will take Beemer's advice on checking logs to see what exactly is going on. Thanks again.

Share this post


Link to post
2 hours ago, DreadWanderer said:

I don't know what SDL is

I admit I'm not sure how to explain it adequately, but it's basically the middle-man between Nugget and the graphics hardware: Nugget's software renderer generates the frame, and then passes it onto SDL which puts it on the screen through a graphics API like Direct3D, making some adjustments on the way (e.g. resizing it to window size or applying smooth pixel scaling).

Share this post


Link to post
8 hours ago, Alaux said:

I admit I'm not sure how to explain it adequately, but it's basically the middle-man between Nugget and the graphics hardware: Nugget's software renderer generates the frame, and then passes it onto SDL which puts it on the screen through a graphics API like Direct3D, making some adjustments on the way (e.g. resizing it to window size or applying smooth pixel scaling).


I see, so then I was probably referring to SDL. In any case, I did what Beemer recommended and surprise surprise, the recommendation amounts to "get better hardware", which I already knew. Now the question remains why this isn't happening in DSDA. On top of that - and I know it's hard to believe - I'm getting perfectly OK frame rates in GZDoom with the exact same OBS settings while running the game in native!

Edit: Sorry for being such a pain in the butt but I've conducted a few more tests while fiddling with the settings and now things seem to be going great when smooth pixel scaling is set to OFF. Very strange. I really don't know what's happening but it seems that this particular setting plays a crucial role in leading to encoding overloads and bottlenecking when at 3X or higher. It's doubly weird because the effect is so subtle visually yet has such a tremendous impact. If you guys aren't too busy with other things I suggest having a look at the smooth pixel scaling algorithm and see what's going on.
 

logreport.jpg

Edited by DreadWanderer

Share this post


Link to post

There is no smooth pixel scaling algorithm. When that option is enabled, the program asks SDL to enable bilinear filtering when scaling the intermediate buffer to your screen's native resolution. If that option is disabled, it requests to instead use nearest-neighbor. Normally this scaling and filtering is handled by your GPU. So my guess is your graphics hardware can't handle the load from OBS + Woof.

Edited by mikeday

Share this post


Link to post
2 hours ago, mikeday said:

There is no smooth pixel scaling algorithm. When that option is enabled, the program asks SDL to enable bilinear filtering when scaling the intermediate buffer to your screen's native resolution. If that option is disabled, it requests to instead use nearest-neighbor. Normally this scaling and filtering is handled by your GPU. So my guess is your graphics hardware can't handle the load from OBS + Woof.

 

Thanks for the explanation.  As an extra point of comparison, I ran tests on the most recent version of Cherry Doom, which merged changes from Nugget 2.2.0. The result is that I am getting better performance in Cherry with 4X than I am getting in Nugget 2.3.1 with 3X, in both cases with smooth pixel scaling on. I don't really understand it but I'll manage.

Share this post


Link to post
4 minutes ago, DreadWanderer said:

As an extra point of comparison, I ran tests on the most recent version of Cherry Doom, which merged changes from Nugget 2.2.0. The result is that I am getting better performance in Cherry with 4X than I am getting in Nugget 2.3.1 with 3X, in both cases with smooth pixel scaling on.

2.2.0 only supports power-of-two resolution multipliers, up to 8X, while 2.3.0 introduced support for all integer multipliers up to 9X.

 

Increasing the maximum allowed resolution is known to degrade performance regardless of which resolution you actually use, and supporting non-power-of-two multipliers meant replacing a bunch of faster operations with slower operations.

 

With that, I do expect a performance loss, but not this drastic; I'd expect 3X to still be faster than 4X, and in fact, it is faster for me at least during casual play, no recording or anything. Then again, I don't use smooth pixel scaling which might be culprit, but I did notice that it has been notably tanking my performance in recent Woof dev builds.

Share this post


Link to post
1 minute ago, Alaux said:

2.2.0 only supports power-of-two resolution multipliers, up to 8X, while 2.3.0 introduced support for all integer multipliers up to 9X.

 

Increasing the maximum allowed resolution is known to degrade performance regardless of which resolution you actually use, and supporting non-power-of-two multipliers meant replacing a bunch of faster operations with slower operations.

 

With that, I do expect a performance loss, but not this drastic; I'd expect 3X to still be faster than 4X, and in fact, it is faster for me at least during casual play, no recording or anything. Then again, I don't use smooth pixel scaling which might be culprit, but I did notice that it has been notably tanking my performance in recent Woof dev builds.

 

Yup I noticed that indirectly with Cherry, which only goes 1X, 2X, 4X and 8X. Very nice to have implemented more steps. I was never planning on going beyond 3 or 4X anyway, I ran this test in Cherry simply to try to make sense of what is going on. Like I said earlier, these are issues only during recording. For casual plays, even 4X provides a decent framerate with smooth pixel scaling on.

 

Mikeday is most likely right that the combination of OBS and bilinear filtering is too much for my GPU to handle. I always play without filtering but I used it in Nugget because it seemed to me that it addresses some of the blockiness and low-res impression due to a lack of support for native resolutions. At the end of the day the difference between nearest-neighbor and bilinear is almost negligible since platforms like YT always compress the hell out of uploads. I'll be perfectly fine without smooth pixels.

Share this post


Link to post
  • 2 weeks later...

Is there a possibility to implement this alternate hud from DSDA Doom into Woof / Nugget?
Personally, I prefer it more than standard variant and currently available alternate huds, cause it fits all my needs of being minimalist, readable, and informative, but sadly it only remains in DSDA Doom and there's no Woof nor NUGHUD variant, =(

 

moTh7oP.png

Edited by Vanilla+Unicorn

Share this post


Link to post
2 hours ago, Vanilla+Unicorn said:

Is there a possibility to implement this alternate hud from DSDA Doom into Woof / Nugget?

You can actually approximate such HUD using NUGHUD, it's just a matter of making it. I've already made one which roughly emulates Woof/Nugget's own Boom HUD, so I might tweak it to match the one in your screenshot.

Share this post


Link to post
1 hour ago, Alaux said:

You can actually approximate such HUD using NUGHUD, it's just a matter of making it. I've already made one which roughly emulates Woof/Nugget's own Boom HUD, so I might tweak it to match the one in your screenshot.

Thanks, it would be great!

Share this post


Link to post
6 hours ago, Vanilla+Unicorn said:

Thanks, it would be great!

Alright, it's done. Available here.

Share this post


Link to post

Does anyone have good sound files for "Health-based player pain sounds" (DSPPAI25, DSPPAI50, DSPPAI75, DSPPA100)  for Nugget Doom?

I probably can extract sound files from random GZdoom mods and use them, but I wonder if anyone already made .wad file that contains them.

Edited by namsan

Share this post


Link to post
On 2/5/2024 at 8:02 PM, Alaux said:

Alright, it's done. Available here.

This is actually great! Sorry I missed the whole conversation, how do we load it? Oops, I've been away for a while and forgot about the autoload folder :)

Edited by CacoKnight

Share this post


Link to post
  • 3 weeks later...

Can someone help here? I checked yesterday and I thought it was a dev build issue but I checked again today and still won't start, everything is fine with a clean .cfg file. Can you please open this attached .cfg and see why Nugget won't start with it? I changed so much that it would take A WHILE to recreate all my settings.

 

Thank you.

 

Nevermind, all done with a new .cfg from scratch, I figured so much changed since all the Woof! integrations that it's better this way.

 

Thank you @Alaux (and Woof! devs) for all the new features!

Edited by CacoKnight

Share this post


Link to post

 

10 hours ago, CacoKnight said:

Can someone help here? I checked yesterday and I thought it was a dev build issue but I checked again today and still won't start, everything is fine with a clean .cfg file. Can you please open this attached .cfg and see why Nugget won't start with it? I changed so much that it would take A WHILE to recreate all my settings.

 

Thank you.

 

Nevermind, all done with a new .cfg from scratch, I figured so much changed since all the Woof! integrations that it's better this way.

 

Thank you @Alaux (and Woof! devs) for all the new features!

 

Can you tell me where you got the newest build from? The Github page still has the 15 Dec 2023 release and I'd be really curious to see how Nugget feels with the most recent Woof changes implemented. I don't know how to compile binaries and all that so if you could link a 64 bit, ready to play binary, that would be great.

Edited by DreadWanderer

Share this post


Link to post
2 minutes ago, liPillON said:

windows auto-generated binaries:

https://github.com/MrAlaux/Nugget-Doom/actions/workflows/win_msvc.yml?query=branch%3Amaster

 

linux auto-generated appimage packages:

https://github.com/MrAlaux/Nugget-Doom/actions/workflows/main.yml?query=branch%3Amaster

 

you'll need to create a (free) github account to download the files

 

 

Cool, thank you very much. I already have a Github account so it should all go well!

Share this post


Link to post

meanwhile I remembered there is also a website which provides access to github builds for unregistered users:

 

windows binaries: https://nightly.link/MrAlaux/Nugget-Doom/workflows/win_msvc/master?preview

linux appimages: https://nightly.link/MrAlaux/Nugget-Doom/workflows/main/master?preview

 

the only downside using this method is that you'll always get the latest build, so you're not be able to test previous/specific feature drops

 

Edited by liPillON

Share this post


Link to post
16 hours ago, liPillON said:

the only downside using this method is that you'll always get the latest build, so you're not be able to test previous/specific feature drops

Not necessarily, you can download every build you want manually, just go to the main page of both: https://nightly.link and https://github.com/MrAlaux/Nugget-Doom/actions, select the build (for example https://github.com/MrAlaux/Nugget-Doom/actions/runs/8060605019), copy the link over (https://nightly.link/MrAlaux/Nugget-Doom/actions/runs/8060605019) and download.

 

@DreadWanderer: it's not much but I made a markdown/pastebin page that I constantly update with some extra stuff you may like at https://rentry.org/doomstuff. I used to keep like 10 ports there with all the info and links but those three are all I need personally.

Edited by CacoKnight

Share this post


Link to post
32 minutes ago, CacoKnight said:

Not necessarily, you can download every build you want manually, just go to the main page of both: https://nightly.link and https://github.com/MrAlaux/Nugget-Doom/actions, select the build (for example https://github.com/MrAlaux/Nugget-Doom/actions/runs/8060605019), copy the link over (https://nightly.link/MrAlaux/Nugget-Doom/actions/runs/8060605019) and download.

 

@DreadWanderer: it's not much but I made a markdown/pastebin page that I constantly update with some extra stuff you may like. https://rentry.org/doomconfigs. I used to keep like 10 ports there with all the info and links but those three are all I need personally.


Cheers for this, I'm pretty picky with source ports and configs and whatnot so I do invest quite a bit of time until everything feels right. I'm happy to say that with the native resolution scaling implemented and all that, Nugget feels really good and I no longer seem to have issues recording with it, even with smooth pixel scaling on.

Share this post


Link to post

Oh agree, I keep switching between those three constantly, I will always keep GZDoom but I started using DSDA because of the OpenGL + native res etc. and now that Nugget has it I'm not sure I will be able to put it down! It feels just damn great.

 

On 2/5/2024 at 8:02 PM, Alaux said:

Alright, it's done. Available here.

@Alaux does NUGHUD_DSDA work even with the new dev builds (works fine on 2.3.1)? Trying to load it but I can't make it work, I copied it in the /autoload/all as NUGHUD-DSDA.wad, NUGHUD.wad and even tried to load it with -file but nothing, I don't see it.

Edited by CacoKnight

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...