[Wolfenstein: Blade of Agony] v3.1 released (p204)

For Total Conversions and projects that don't otherwise fall under the other categories.
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
User avatar
0mnicydle
Posts: 93
Joined: Thu Jun 27, 2013 6:19 pm

Re: [Wolfenstein: Blade of Agony] Release (v3.0)

Post by 0mnicydle »

Graf Zahl wrote:That gem ranks high among the things that would ruin any game for me... :?
Indeed, I don't know how the devs could stand it, unless they are all playing with rendering interpolation disabled as a matter of course. The hilarious thing is how minimal the strafe tilting effect actually is in this game anyway.

The actor culling seems like a good idea in theory, but the respawning of culled actors is too much as soon as the radius for that exceeds the most basic level. A throttle for respawning actors seems like an obvious solution, unless constantly spawning actors is just a bad idea in general... Very glad to have the nuclear option for this in my arsenal until it's figured out.

A separate issue is that some of the models used in these maps take too long to load, to the point where some of them get in the way of even maintaining 35fps. I'm interested if my idea of quickly scaling up the mod's LOD system to encompass the whole map on level start, and then ramping it back down would work to in effect preload all the models. Or maybe there is even a simpler way to accomplish this already...

Well anyway, for anyone having trouble with this mod's performance even though you have a decent rig I suggest the following:

1) Use Vulkan
2) Accept that 60fps is probably the sweet spot for this mod and cap here
3) Nuke culling: scripts\actors\effects\effects.zs lines 204-242
4) Nuke tilt: scripts\items\tilt.zs lines 222-248
5) Create an alias to toggle the scenery LOD between your preferred level, and 1024 (or lower), so for the maps that just went completely overboard with models you can just quickly hit a key to recover. For example:
alias lodtoggle1 "boa_scenelod 1024; bind z lodtoggle2"
alias lodtoggle2 "boa_scenelod 8192; bind z lodtoggle1"
bind z "lodtoggle1"

Temporarily reducing scenery LOD let me keep 60fps on that crazy zombie city zone of c3m0 for instance.

Keep in mind, the script edits may only apply to the initial c3 release package.

While still not perfect due to the aforementioned model loading issue, the difference between this and the stock config is night and day for me. Hopefully it can help someone else out.

EDIT/ If you need even more emergency performance, add the other LOD types to your lodtoggle, starting with boa_treeslod. On my system, scenery seems to be the real killer so far, but I can imagine adding at least trees to the stack could be helpful for some lesser systems.

EDIT/ And please note, the culling nuke is only meant for the very specific use case i've outlined: high end systems targeting 60fps. In this specific use case, the current culling system does more harm than good in my experience. Bypassing the culling system on medium and low end spec will probably make things even worse, is my guess. The tilt nuke should benefit everyone, except those who have rendering interpolation disabled, in which case the problem is already solved.

EDIT/ And finally a note for the devs: I suggest making the boa_strafetilt cvar actually bypass execution of the script, instead of just removing the visual effect. Actually just nuke it from orbit and get rid of it altogether, but failing that, at least make it possible to bypass, put a note in the game saying it should only be used with interpolation disabled, etc. But honestly, why even have it at that point? The effect is so laughably miniscule the way it's implemented anyway. I was afraid maybe it was being used for the flinch too, and I was gonna be forced to cheat, but it didn't even affect that, so... And regarding my concerns with the current culling system, it comes down to what kind of gamer you are and how you perceive performance. Do you run uncapped and look at peaks and averages and want those as high as possible at any expense? Well then the current system is probably doing some good in this regard. However if you're the type to pick a target you think is going to be regularly achievable, and want to minimize anything which will cause you to miss your target (any individual frame time, not average FPS), the current system has some problems, because on a high end system you can't even run capped at 35fps without massive actor respawn glut which happens in some areas causing you to miss your target. Of course it's not the only thing doing this (the killer model loading), but every little bit helps. But please, don't view this as me crapping all over your hard work. I really appreciate this mod and love it very much, which is the only reason I've been so concerned with getting it running smoothly. Thank you to everyone who worked on this, it's really awesome! Like seriously.
:rock:
User avatar
AFADoomer
Posts: 1339
Joined: Tue Jul 15, 2003 4:18 pm

Re: [Wolfenstein: Blade of Agony] Release (v3.0)

Post by AFADoomer »

Thanks for the feedback! I've already implemented a per-tick spawn cap for the culling code in the next version - as well as a CVar to kill culling completely, if desired.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49192
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: [Wolfenstein: Blade of Agony] Release (v3.0)

Post by Graf Zahl »

0mnicydle wrote:However if you're the type to pick a target you think is going to be regularly achievable, and want to minimize anything which will cause you to miss your target (any individual frame time, not average FPS), the current system has some problems, because on a high end system you can't even run capped at 35fps without massive actor respawn glut which happens in some areas causing you to miss your target.
I'm the same kind of person. I do not care much of running 90% of a mod at 200 fps when the remaining 10% tank to 30 fps. I consider it important that the game can hold 60 fps throughout.

The tilt script also seems to have some serious design issues. For once, running it in the item's Tick function is certainly not the best idea - the proper place would be DoEffect which is from inside the player's own Tick function. There also seem to be some issues with how it works. It contains several 'if' blocks writing to the variable 'r', which then gets added to another variable, but r never gets reset, so if for whatever reason one block won't get executed it will add the previous one's 'r' twice.
No idea if this would make any difference, it's just something I immediately spotted.

Also, putting such an invasive script in there without a built-in kill switch is unforgivable.
User avatar
0mnicydle
Posts: 93
Joined: Thu Jun 27, 2013 6:19 pm

Re: [Wolfenstein: Blade of Agony] Release (v3.0)

Post by 0mnicydle »

AFADoomer wrote:Thanks for the feedback! I've already implemented a per-tick spawn cap for the culling code in the next version - as well as a CVar to kill culling completely, if desired.
Woohoo, great news! I'll definitely be happy to be able to reap the benefit of the culling with that spawn cap in place. Is there any merit to the ludicrous LOD at level start fake preload idea, or some other method of model preload you might be able to implement? That would really be the cherry on top for me.

And I'm sorry but I gotta gush some more about how awesome this release is. I'm over here playing way past my bedtime because I just can't put it down. It is--so--good. Ermahgerd, seriously. LOVE IT.
User avatar
Zenon
Posts: 537
Joined: Thu Apr 20, 2006 6:05 pm
Graphics Processor: nVidia with Vulkan support
Location: New Zealand

Re: [Wolfenstein: Blade of Agony] Release (v3.0)

Post by Zenon »

Gotta be honest, not a huge fan of not knowing exactly how much health and armor I have. I need numbers. They help me strategize and figure out when it's too early to pick up a medkit, etc.
User avatar
Solid_Beard
Posts: 18
Joined: Mon Jul 10, 2017 5:20 am

Re: [Wolfenstein: Blade of Agony] Release (v3.0)

Post by Solid_Beard »

So far, great improvements with the 3.0.

Though I encounter a problem while playing.
In the level of Operation Exodus, near at the end of the level while fighting the SS Ubersoldat's the game froze at some point and also a crash. I believe that the Ubersoldat's while they are using their cluster bombs at the same time and other scripting stuff going on might cause the freezing as if the game doesn't read properly. Luckily I used the flamer against them quickly and I finished the level with no other problems.
A similar instance happened with the Operation Overlord but it didn't froze, I mean so far I haven't ecounter any freezes while playing that level.
User avatar
AFADoomer
Posts: 1339
Joined: Tue Jul 15, 2003 4:18 pm

Re: [Wolfenstein: Blade of Agony] Release (v3.0)

Post by AFADoomer »

Zenon wrote:Gotta be honest, not a huge fan of not knowing exactly how much health and armor I have. I need numbers. They help me strategize and figure out when it's too early to pick up a medkit, etc.
Are the percentages on the hud/status bar not working for you?
User avatar
0mnicydle
Posts: 93
Joined: Thu Jun 27, 2013 6:19 pm

Re: [Wolfenstein: Blade of Agony] Release (v3.0)

Post by 0mnicydle »

Just an update on the model loading issue: I did a batch resize on all the model textures reducing them to 25% original size nearest neighbor, and not only does it better suit the look of the game IMO, but it has massively reduced model related hitches after some quick testing at 60fps. Even if precaching these assets isn't possible, you might want to consider a low res model texture pack or something.
User avatar
Ozymandias81
Posts: 2067
Joined: Thu Jul 04, 2013 8:01 am
Graphics Processor: nVidia with Vulkan support
Location: Mount Olympus, Mars

Re: [Wolfenstein: Blade of Agony] Release (v3.0)

Post by Ozymandias81 »

Meanhwile I noticed that C3 release ipk3 of BoA runs under GLESZDoom, with some limits obviously.
Solid_Beard wrote: Though I encounter a problem while playing.
In the level of Operation Exodus, near at the end of the level while fighting the SS Ubersoldat's the game froze at some point and also a crash.[...]
A similar instance happened with the Operation Overlord but it didn't froze, I mean so far I haven't ecounter any freezes while playing that level.
What are your pc specs? Are you running it from Delta Touch? Are you using a different version of GZDoom? Did you change some options under Performance Settings? Are you running other apps in background?
Zenon wrote:Gotta be honest, not a huge fan of not knowing exactly how much health and armor I have. I need numbers. They help me strategize and figure out when it's too early to pick up a medkit, etc.
Which kind of resolution are you running? Did you press the fullscreen button to max? Sounds weird... Are you using C3 shipped version of GZDoom or recent ones?
User avatar
Nash
 
 
Posts: 17468
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia

Re: [Wolfenstein: Blade of Agony] Release (v3.0)

Post by Nash »

Some remarks about the Tilt++ as it was originally a mini mod by me

1) Every now and then (meaning: most likely less than 10 in total, ever since the mod's creation in 2017) I get people claiming that the mod "messes with interpolation", "adds input lag" and things like that but for the life of me I cannot reproduce it. At all. Not only on TWO completely separate computers that I own/used to own (the mod was created on a computer that I no longer use)... but ALSO on several other computers and laptops (other peoples' belongings; not mine) I've tested the mod with. On computers with good hardware and also on potato hardware. I literally don't know what's up with this claim and I'd fix it if I could. But I couldn't reproduce it. I'd think with the mod at 9111 downloads, there'd be WAY more complaints about this but so far, as I said, I've probably gotten like less than 10 reports about it. Seems like the almost-ten-thousand-people who've used this mod aren't having this issue... I don't mean to sound arrogant, like I said, I'd LOVE to fix it, especially since it is a recurring topic, but I have no idea how to even reproduce it. I'd also like to note that I play with rendering interpolation; ALWAYS. I never use capped frames. 60 FPS on my old computer, and now 144 FPS. I develop and work on a LOT of projects (both my own and collaboratively with other mod authors), and I know what I see - with the tilt code OR without, there is literally no difference to my eyes (and on all the hardware I've tested it on!). So, again, I don't know. Sorry. :( I'd be open to do something about it, if I knew where to start looking.

2) Noted about Tick VS DoEffect - the mod was launched very early during ZScript's inception and I'm not sure if DoEffect was already exported by then, or I just simply wasn't aware of it (you have to remember, this was a time when ZScript was still a hot moving target and literally only Graf was the person who knew anything about it and had to suffer the entire community bombarding him with questions on how to use ZScript... :P). I have indeed starting using DoEffect eventually for other projects that try to do similar things, but the legacy nature of this mod means probably not everyone has updated it. I will go ahead and change this for the mod version of Tilt++.

3) In the original mod version, I have made great effort to make sure it is turn-off-able from the menu, and doing so completely would've bypassed the entire code path. If BoA isn't allowing it to be turned off by the user, that's most likely a mistake. I know I wouldn't approve of such a thing, even as the person who made the thing. :P

4) "it contains several 'if' blocks writing to the variable 'r', which then gets added to another variable, but r never gets reset, so if for whatever reason one block won't get executed it will add the previous one's 'r' twice." - this was deliberate. I wanted the previous effect to stack with the next effect. The various blocks are different conditions on when tilting should be applied - user input (strafing), being underwater, dying, etc. In practice, this works exactly as I'd expected it to. Whether it is acceptable or not is of course subjective to user taste/tolerance. :mrgreen: The tilt effect was inspired by Quake 1. I am fully aware not everyone likes it, but hey, it's the user's choice whether to download the Tilt++ mod or not. :P But, for TCs that embed it (like BoA) I can understand it starts to become a sensitive subject.

5) Also, in the latest version of Tilt++ (not publicly available yet) - the tilt is no longer applied on the PlayerPawn, but on the PlayerInfo's ViewRoll - meaning the effect is now render-only. The command is SetViewRoll(double roll, int flags). Maybe team BoA can consider making that change (and see if it improves the so-called "video interpolation" complaint)...
User avatar
0mnicydle
Posts: 93
Joined: Thu Jun 27, 2013 6:19 pm

Re: [Wolfenstein: Blade of Agony] Release (v3.0)

Post by 0mnicydle »

Nash wrote:Some remarks about the Tilt++ as it was originally a mini mod by me
Hmm very interesting. Well what I can say is, the only reason I thought to look into the tilting here is because I remember seeing a very similar effect back when I tried your mod quite some time ago and noped out, even though I really wanted to be able to make it part of my autoload. I noticed the boa_strafetilt cvar and followed it from there. What I will say though is from my memory, the effect is much more pronounced in BoA C3 than it was in your standalone version. Nuking the tilt is a 100% no effing way is this placebo difference, it's absolutely monumental. And it's not a performance related thing as frame times can be completely solid the whole time, yet it feels like dropped frames as you try to look/move around.

Sometimes I do wonder about stuff like this, and things like screen tearing, frame time spikes etc, if many people are just insensitive to variance in motion fluidity as long as it's small enough or quick enough. I understand some minor frame time variance is unavoidable without significant effort, and there is a certain level I can tolerate. But believe me when I tell you, I can see the smallest measurable differences. Any time there is even the slightest blip in a frame time graph I already saw it, and just look for confirmation; yep, every time--didn't imagine it. I'm talking literally one pixel spike on something like the MSI Afterburner graph, I've already noticed it. The threshold where it goes from yeah I noticed it, but I'm not gonna let it bother me, to I feel like I just got punched in the gut? Not sure exactly, but I'm pretty sure it's in the single digit milliseconds. I see a big difference between 1000Hz mouse polling and 500 even, and I think if I got one of the new mice that go up to something like 3000Hz I might still notice the difference, though I will say I'm satisfied with 1000Hz. I feel like about 1 millisecond in general is the point in terms of latency for anything where I'm like yeah, close enough to call imperceptible. I hope I get to see the day we have 1000Hz monitors and I get to run some old games at 1000 FPS, and I would definitely be interested to see if I can see one frame flashed for 1ms just for kicks as an experiment. That would be interesting. So anyway, believe me when I tell you as someone extremely sensitive to any motion fluidity variance, while this is not a frame time issue, it is a motion fluidity issue, and the effect is MASSIVE.

If you want to try one more time to reproduce it, first of all do it in BoA because I feel it's more pronounced if my memory is correct, and find a spot where you know there will be no performance related frame time variance. Try to maintain a circle strafe in a nice open area, large radius and moving your mouse slow and steady to attempt to maintain a constant speed, and please tell me if you see absolutely nothing that looks like skipping, or jumping, or any other word you want to use to describe any deviation in motion fluidity. Also please be using a 1000Hz mouse :)

Btw, love and use loads of your stuff. Cheers! :cheers:
User avatar
Nash
 
 
Posts: 17468
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia

Re: [Wolfenstein: Blade of Agony] Release (v3.0)

Post by Nash »

I understand, and of course I'm not dismissing the fact that different people have different sensitivities to this kind of stuff (just as an example - I do agree that 60 FPS vs 144 FPS display is a HUGE difference, even though in the past I thought it wouldn't have been a difference and a waste of money to buy hardware that does more than 60 FPS :P).

And I didn't mean to come off as defensive; like I said in my previous post, I would be more than willing to do something about it, if I could actually reproduce it. So far I've been unsuccessful with all the various machines I've ran the mod's code on...

I'll play through BoA with the tilt effect more thoroughly to try and see if I can detect or "feel" the issues you're describing. Admittedly I haven't yet had a chance to play the final version of BoA as I have been busy with some other projects...

Oh and as for my current mouse: currently I'm using this: https://www.logitechg.com/en-my/product ... tech-specs

Previously, I have used several kinds of mice throughout the years, anything from no-name chinese brands to Razers. I haven't been able to feel any input lag or jitter as a result from the tilt mod...
riccardoman
Posts: 4
Joined: Wed May 05, 2021 3:35 am

Re: [Wolfenstein: Blade of Agony] Release (v3.0)

Post by riccardoman »

0mnicydle thank you so much for your suggestions! I just edited the scripts and while the fps is still bad, it seems that the horrible "stuttering" and "hitches" are gone for good. Now it became from unplayable to acceptable
User avatar
0mnicydle
Posts: 93
Joined: Thu Jun 27, 2013 6:19 pm

Re: [Wolfenstein: Blade of Agony] Release (v3.0)

Post by 0mnicydle »

Nash wrote:Oh and as for my current mouse: currently I'm using this: https://www.logitechg.com/en-my/product ... tech-specs
Good choice; Logitech is my brand too. I'm sure I don't have to ask, but it is set to 1000Hz via their software, yeah? I believe 125Hz is the default on most of them, and 125Hz looks almost as bad as the effect I'm talking about here. Also, are you using a VRR monitor?
User avatar
0mnicydle
Posts: 93
Joined: Thu Jun 27, 2013 6:19 pm

Re: [Wolfenstein: Blade of Agony] Release (v3.0)

Post by 0mnicydle »

riccardoman wrote:0mnicydle thank you so much for your suggestions! I just edited the scripts and while the fps is still bad, it seems that the horrible "stuttering" and "hitches" are gone for good. Now it became from unplayable to acceptable
Cool! Happy to know I helped at least one person, thanks for letting me know! It's an amazing mod and I'd hate for anyone to skip it because it's not running smoothly.

EDIT/ Removed something.
Last edited by 0mnicydle on Thu May 06, 2021 9:49 pm, edited 1 time in total.

Return to “TCs, Full Games, and Other Projects”