Jump to content

Helion - C# (0.9.3.0 6/24 - Goodbye BSP tree rendering)


Recommended Posts

 

9 hours ago, Shepardus said:

Also, has anyone on Linux (Fedora especially) encountered a problem with the music becoming all garbled (not sure how to describe it, but can provide a video if needed)? It was working fine for me the last time I posted here, but since then something has changed and I'm not sure what. I thought it had to do with a Fluidsynth update that I installed, but I tried downgrading the package and still had the issue. Maybe something to do with PipeWire, but I have no idea where to look for that. The only logs I have from Helion related to Fluidsynth are: 

 


I want to get fluidsynth packaged with Helion so these problems don't happen, but the pre-built Linux libraries aren't easily accessible (or at all?) if you are on Windows. Their github repo only provides them for Windows and Android.
 

9 hours ago, Shepardus said:

The status bar seems to affect the viewport differently in Helion than it does in other source ports, making playing with the status bar enabled and mouselook disabled (i.e. "classic" style) awkward. 


Helion currently can't change the viewport which is why it looks off. The workaround was to push the gun sprite up so the hud didn't cover it. I don't use the full hud so I have forgotten about this. 0.9.2.2 is pretty much set with a basic menu being worked on, but I will add the full hud viewport feature to the list for the release after.


I'm also going to make fun ourselves because we often do this:
837wt4.jpg

Share this post


Link to post
2 hours ago, hobomaster22 said:

Helion currently can't change the viewport which is why it looks off. The workaround was to push the gun sprite up so the hud didn't cover it. I don't use the full hud so I have forgotten about this. 0.9.2.2 is pretty much set with a basic menu being worked on, but I will add the full hud viewport feature to the list for the release after.

 

I actually noticed the viewport discrepancy too but as I wasn't sure if it was just some random glitch didn't report it. Glad to hear a fix is coming!

I am partial to GZDoom for its features but Helion could easily become my second main source port in the future.

 

I like the performance obviously and the innovative rewrite of the rendering (even if I do not understand it beyond a superstitial level) but also how it looks in hardware render mode, mimicking the software lighting look.

 

And honestly even now if I were to play a performance intensive wad, it'd be really hard to pick another source port over Helion, lols.

Edited by Finnisher

Share this post


Link to post

For those are curious about the slow ticking option I have made a couple videos. The first is running around in Sunder MAP11 and MAP15 on the slow laptop from 2013 with an AMD A6-5200 CPU and Radeon HD 8400 GPU. I have been able to increase the performance of sprite rendering significantly as well as monster movement. Couple this with the slow ticking option and Sunder is playable on this ancient hardware. The render distance is left defaulted so no sacrifice there, just a slow tick distance of 2000. Running at it's native resolution of 1336x768.

Had to awkwardly record this with my phone since this thing is so slow it can't play Sunder and record it at the same time.
 


For those that are interested, here is a video showing how the slow tick option is working up close. This was recorded on my main laptop with the Ryzen/RTX 3070 so the slow ticking is not required to run the map.
 

 

Share this post


Link to post
On 10/20/2023 at 12:24 PM, hobomaster22 said:

 


I want to get fluidsynth packaged with Helion so these problems don't happen, but the pre-built Linux libraries aren't easily accessible (or at all?) if you are on Windows. Their github repo only provides them for Windows and Android.
 

 

 

The FluidSynth project is a shit show. I ended up integrating its source into ZMusic so that I only have the good parts of the library without the baggage that causes all the problems.

 

Share this post


Link to post
36 minutes ago, Graf Zahl said:

 

The FluidSynth project is a shit show. I ended up integrating its source into ZMusic so that I only have the good parts of the library without the baggage that causes all the problems.

 

Yeah, it's unfortunate that something as simple as playing MIDI files turns into a pain point. I didn't know ZMusic was a thing and it looks pretty cool, probably worth it for Helion to switch to that in the future.

Share this post


Link to post

Can confirm that Intel hardware definitely has issues here: My HD4600 should be faster than the HD8400, but it pummels and at a lower resolution:

MAX FPS, Render distance 4000, slowtick enabled, 800x600 res:

 

Sunder MAP11:

Starting ground 50 FPS

Waking up monsters in room below: 40-50 FPS

 

MAP15:

This is around 35 FPS, and can drop even below

 

Compare that to HD8400 at 1366x768: 75 FPS with dips to 55, but it is clear that Intel iGPU's will have the hardest luck here.

 

However, it still runs and it is slightly above what Doom used to be, so its alright to me. But yeah.

Share this post


Link to post

Does anyone know how to build this on Linux? I cloned the repo and all there is, apart from the source directories, is a .sln file for MS toolchains and no instructions how to compile it in an OS where VS does not exist :( I have no experience creating .NET software in Linux and last wrote anything in C# years ago with .net 2. Am I missing a built script or something?

 

I have installed .NET 7 but cannot find on Google a definitive guide to building multi-project .NET programs on Linux.

 

In short, please can somebody give me step-by-step instructions for doing this that have resulted in a working program?

Edited by Martin Howe

Share this post


Link to post
57 minutes ago, Martin Howe said:

Does anyone know how to build this on Linux? I cloned the repo and all there is, apart from the source directories, is a .sln file for MS toolchains and no instructions how to compile it in an OS where VS does not exist :( I have no experience creating .NET software in Linux and last wrote anything in C# years ago with .net 2. Am I missing a built script or something?

 

I have installed .NET 7 but cannot find on Google a definitive guide to building multi-project .NET programs on Linux.

 

In short, please can somebody give me step-by-step instructions for doing this that have resulted in a working program?


I believe you would just execute this command:
dotnet build Helion.sln
And for a release build:
dotnet build Helion.sln --configuration Release

Edit: You will likely have to manually copy Assets.pk3 into the bin folder since it's packed with powershell script.

Edited by hobomaster22

Share this post


Link to post
6 hours ago, hobomaster22 said:


I believe you would just execute this command:
dotnet build Helion.sln
And for a release build:
dotnet build Helion.sln --configuration Release

Edit: You will likely have to manually copy Assets.pk3 into the bin folder since it's packed with powershell script.

Thanks. I looked into installing PS for Linux, but there are so many different versions. I note your scripts have a '.ps1' extension; is there any specific version of PS I should install?
 

As to the compilation itself, I get:

martin@luna:~/Games/Engines/Helion/helion$ dotnet build Helion.sln 
MSBuild version 17.4.8+6918b863a for .NET
  Determining projects to restore...
  Restored /home/martin/Games/Engines/Helion/helion/Client/Client.csproj (in 275 ms).
  Restored /home/martin/Games/Engines/Helion/helion/Generators/Generators.csproj (in 275 ms).
  Restored /home/martin/Games/Engines/Helion/helion/Core/Core.csproj (in 275 ms).
  Restored /home/martin/Games/Engines/Helion/helion/Tests/Tests.csproj (in 290 ms).
/usr/lib/dotnet/sdk/7.0.112/Microsoft.Common.CurrentVersion.targets(1229,5): error MSB3644: The reference assemblies for .NETFramework,Version=v4.8 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks [/home/martin/Games/Engines/Helion/helion/Assets/Assets.csproj]
/usr/lib/dotnet/sdk/7.0.112/Microsoft.Common.CurrentVersion.targets(5760,5): error MSB6003: The specified task executable "sh" could not be run. System.IO.DirectoryNotFoundException: The working directory "bin\Debug\" does not exist. [/home/martin/Games/Engines/Helion/helion/Assets/Assets.csproj]
/usr/lib/dotnet/sdk/7.0.112/Microsoft.Common.CurrentVersion.targets(5760,5): error MSB6003:    at Microsoft.Build.Tasks.Exec.GetWorkingDirectory() [/home/martin/Games/Engines/Helion/helion/Assets/Assets.csproj]
/usr/lib/dotnet/sdk/7.0.112/Microsoft.Common.CurrentVersion.targets(5760,5): error MSB6003:    at Microsoft.Build.Utilities.ToolTask.GetProcessStartInfo(String pathToTool, String commandLineCommands, String responseFileSwitch) [/home/martin/Games/Engines/Helion/helion/Assets/Assets.csproj]
/usr/lib/dotnet/sdk/7.0.112/Microsoft.Common.CurrentVersion.targets(5760,5): error MSB6003:    at Microsoft.Build.Utilities.ToolTask.ExecuteTool(String pathToTool, String responseFileCommands, String commandLineCommands) [/home/martin/Games/Engines/Helion/helion/Assets/Assets.csproj]
/usr/lib/dotnet/sdk/7.0.112/Microsoft.Common.CurrentVersion.targets(5760,5): error MSB6003:    at Microsoft.Build.Tasks.Exec.ExecuteTool(String pathToTool, String responseFileCommands, String commandLineCommands) [/home/martin/Games/Engines/Helion/helion/Assets/Assets.csproj]
/usr/lib/dotnet/sdk/7.0.112/Microsoft.Common.CurrentVersion.targets(5760,5): error MSB6003:    at Microsoft.Build.Utilities.ToolTask.Execute() [/home/martin/Games/Engines/Helion/helion/Assets/Assets.csproj]
/usr/lib/dotnet/sdk/7.0.112/Sdks/Microsoft.NET.Sdk/analyzers/build/Microsoft.CodeAnalysis.NetAnalyzers.targets(593,5): warning : The .NET SDK has newer analyzers with version '7.0.0' than what version '5.0.1' of 'Microsoft.CodeAnalysis.NetAnalyzers' package provides. Update or remove this package reference. [/home/martin/Games/Engines/Helion/helion/Core/Core.csproj]
  Core -> /home/martin/Games/Engines/Helion/helion/Core/bin/Debug/net7.0/Core.dll
  Generators -> /home/martin/Games/Engines/Helion/helion/Generators/bin/Debug/net6.0/Generators.dll
/home/martin/Games/Engines/Helion/helion/Tests/Unit/GameAction/Misc.cs(36,26): warning CS8602: Dereference of a possibly null reference. [/home/martin/Games/Engines/Helion/helion/Tests/Tests.csproj]
  Tests -> /home/martin/Games/Engines/Helion/helion/Tests/bin/Debug/net7.0/Tests.dll

Build FAILED.

/usr/lib/dotnet/sdk/7.0.112/Sdks/Microsoft.NET.Sdk/analyzers/build/Microsoft.CodeAnalysis.NetAnalyzers.targets(593,5): warning : The .NET SDK has newer analyzers with version '7.0.0' than what version '5.0.1' of 'Microsoft.CodeAnalysis.NetAnalyzers' package provides. Update or remove this package reference. [/home/martin/Games/Engines/Helion/helion/Core/Core.csproj]
/home/martin/Games/Engines/Helion/helion/Tests/Unit/GameAction/Misc.cs(36,26): warning CS8602: Dereference of a possibly null reference. [/home/martin/Games/Engines/Helion/helion/Tests/Tests.csproj]
/usr/lib/dotnet/sdk/7.0.112/Microsoft.Common.CurrentVersion.targets(1229,5): error MSB3644: The reference assemblies for .NETFramework,Version=v4.8 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks [/home/martin/Games/Engines/Helion/helion/Assets/Assets.csproj]
/usr/lib/dotnet/sdk/7.0.112/Microsoft.Common.CurrentVersion.targets(5760,5): error MSB6003: The specified task executable "sh" could not be run. System.IO.DirectoryNotFoundException: The working directory "bin\Debug\" does not exist. [/home/martin/Games/Engines/Helion/helion/Assets/Assets.csproj]
/usr/lib/dotnet/sdk/7.0.112/Microsoft.Common.CurrentVersion.targets(5760,5): error MSB6003:    at Microsoft.Build.Tasks.Exec.GetWorkingDirectory() [/home/martin/Games/Engines/Helion/helion/Assets/Assets.csproj]
/usr/lib/dotnet/sdk/7.0.112/Microsoft.Common.CurrentVersion.targets(5760,5): error MSB6003:    at Microsoft.Build.Utilities.ToolTask.GetProcessStartInfo(String pathToTool, String commandLineCommands, String responseFileSwitch) [/home/martin/Games/Engines/Helion/helion/Assets/Assets.csproj]
/usr/lib/dotnet/sdk/7.0.112/Microsoft.Common.CurrentVersion.targets(5760,5): error MSB6003:    at Microsoft.Build.Utilities.ToolTask.ExecuteTool(String pathToTool, String responseFileCommands, String commandLineCommands) [/home/martin/Games/Engines/Helion/helion/Assets/Assets.csproj]
/usr/lib/dotnet/sdk/7.0.112/Microsoft.Common.CurrentVersion.targets(5760,5): error MSB6003:    at Microsoft.Build.Tasks.Exec.ExecuteTool(String pathToTool, String responseFileCommands, String commandLineCommands) [/home/martin/Games/Engines/Helion/helion/Assets/Assets.csproj]
/usr/lib/dotnet/sdk/7.0.112/Microsoft.Common.CurrentVersion.targets(5760,5): error MSB6003:    at Microsoft.Build.Utilities.ToolTask.Execute() [/home/martin/Games/Engines/Helion/helion/Assets/Assets.csproj]
    2 Warning(s)
    2 Error(s)

Time Elapsed 00:00:06.39

Do you have any suggestions? For that matter, what Linux environment do you build on? I'm amazed at 'sh' not being found LOL - it's right there in /usr/bin!

Edited by Martin Howe

Share this post


Link to post
1 hour ago, Martin Howe said:

Do you have any suggestions? For that matter, what Linux environment do you build on? I'm amazed at 'sh' not being found LOL - it's right there in /usr/bin!

We just tested in Ubuntu and updated the documentation and made a build script. Let me know if this works (it’s off the dev branch btw)

https://github.com/Helion-Engine/Helion

Share this post


Link to post

Oh now this is sick! Good that it supports pk3 files too. I'm also having issues with fluidsynth but I tend to use prerecorded soundtracks anyway. (except for freedoom, but that could change.) im gonna try out some zany maps in this!

Share this post


Link to post
20 hours ago, hobomaster22 said:

We just tested in Ubuntu and updated the documentation and made a build script. Let me know if this works (it’s off the dev branch btw)

https://github.com/Helion-Engine/Helion

Thanks very much, yes, it worked! This is what I did, in case it helps anyone else:

sudo apt install dotnet-sdk-7.0 libfluidsynth-dev libopenal-dev
cd ~/Games/Engines
git clone "https://github.com/Helion-Engine/Helion.git" 
cd Helion
Scripts/build.sh 
Client/bin/Release/net7.0/Helion -iwad /usr/share/doom/doom.wad

This was on Mint, but its guts are pretty much stock Ubuntu.

 

I'll give it a proper run out on some big maps later in the week.

 

Cheers :D


 

 

 

Edited by Martin Howe

Share this post


Link to post
2 hours ago, Jovian D. Ragon said:

ah, actually it seems .ogg soundtrack replacements aren't supported? Unless I'm doing something wrong. I used an archive wad for it.

Helion is only using fluidsynth so mus/midi is what is supported at the moment. We are considering switching to ZMusic that will give us all the music functionality and remove the headache of using fluidsynth directly.

Share this post


Link to post

Helion 0.9.2.2

 

Finally, Helion has an options menu! The initial options menu comes with mouse support too.

It also wouldn't be a Helion release without going faster. The world simulation for monster ticking and movement routines has a significant increase. This increase alone is twice as fast compared to the previous version and really increases the FPS on slower systems when playing slaughter type maps. Calculations for sprite rendering are also significantly faster. The CPU only needs to calculate a single vertex per sprite and the rest is handled by the GPU. This means less wasted CPU and less data being sent to the GPU for maximum speed.

This release also includes the new slow ticking option for maps with tons of monsters on more constrained systems. Maybe even useful on faster systems with maps that have really absurd amounts of monsters. Full explanation in the list of bug fixes and features below:
 

Spoiler

Fixed warp/idclev to function without mapinfo.
Fixed parsing error on bad characters in dehacked (fixes goodwad.wad).
Fixed chainsaw damage calculation.
Fixed monster hitscan damage calculations.
Fixed duplicate episodes with custom episode definitions.
Fixed flood fill check for the zero-index texture with custom texture definitions moving the index (AASHITTY).
Fixed misc1/misc to correctly set player weapon sprite offsets.
Fixed dehacked melee range to convert from fixed point instead of using an integer.
Forced player to clamp to surrounding sectors (fixes Phobos Anomaly Reborn E1M6).
Fixed issue with caching that could cause a texture to incorrectly pull the wrong image for a patch.
Fixed incorrect view position being passed to renderer when rendering transparent lines that could cause them disappear.
Fixed issue with lower texture calculation that would cause jitter when moving with sector.
Thing flags were changed and it will break saves from previous versions.

Add configuration option for changing offset for the gun sprite with full size hud.
Add autoscale option for hud that is on by default; will automatically scale minimal hud and text based on the resolution.
Implemented options menu with mouse support.
Significantly improved performance of monster movement and ticking routines.
Significantly improved sprite rendering performance.
Implemented slowtick option. Designed for slower systems to be able to play large slaughter type maps with thousands of monsters.

Enable: if slowticking is enabled.

Distance: the distance where monsters will start slowticking.

Chase failure skip count: The amount of times a monster will skip calling A_Chase if it failed to move in all directions.

Chase multiplier: The amount to multiply the ticks for A_Chase.

Look multiplier: The amount to multiply the ticks for A_Look.

Tracer multiplier: The amount to multiply the ticks for A_Tracer (revenant fireballs) or A_SeekTracer.


A final interesting point, testing on Ubuntu shows that Helion runs 15-20% faster on the same system compared to Windows.

Share this post


Link to post
55 minutes ago, hobomaster22 said:

Helion 0.9.2.2

 

Finally, Helion has an options menu! The initial options menu comes with mouse support too.

It also wouldn't be a Helion release without going faster. The world simulation for monster ticking and movement routines has a significant increase. This increase alone is twice as fast compared to the previous version and really increases the FPS on slower systems when playing slaughter type maps. Calculations for sprite rendering are also significantly faster. The CPU only needs to calculate a single vertex per sprite and the rest is handled by the GPU. This means less wasted CPU and less data being sent to the GPU for maximum speed.

This release also includes the new slow ticking option for maps with tons of monsters on more constrained systems. Maybe even useful on faster systems with maps that have really absurd amounts of monsters. Full explanation in the list of bug fixes and features below...

 

I got a question:  No matter what number of frames per second I set Helion to, the GPU sounds like a jet engine taking off.  Is that because Helion is using OpenGL, which uses one full CPU core on multi-core systems?  Merely curious.

 

Great work you're doing regardless.

Edited by Master O

Share this post


Link to post

Simply amazing, really cool we have such great developers, thank you!

31 minutes ago, Master O said:

 

I got a question:  No matter what number of frames per second I set Helion to, the GPU sounds like a jet engine taking off.  Is that because Helion is using OpenGL, which uses one full CPU core on multi-core systems?  Merely curious.

 

Great work you're doing regardless.

 

This means Helion made it available for your system to squish the most out of your GPU, simply cap your FPS. If you're on nvidia, it's better done via nvidia control panel -> 3d options -> helion.exe -> limit max fps - > I prefer 165.

Share this post


Link to post
52 minutes ago, Master O said:

 

I got a question:  No matter what number of frames per second I set Helion to, the GPU sounds like a jet engine taking off.  Is that because Helion is using OpenGL, which uses one full CPU core on multi-core systems?  Merely curious.

 

Great work you're doing regardless.

curious, what gpu are you running?

Share this post


Link to post
1 hour ago, faad3e said:

curious, what gpu are you running?

 

My card's an Nvidia, so I simply followed Darkcrafter07's advice about limiting the FPS in the Nvidia control panel. 

 

@Darkcrafter07, I assume that Nvidia setting can also be used in conjunction with render.maxfps in Helion's config.ini, or does render.maxfps mean something different?

Share this post


Link to post
31 minutes ago, Master O said:

 

My card's an Nvidia, so I simply followed Darkcrafter07's advice about limiting the FPS in the Nvidia control panel. 

 

@Darkcrafter07, I assume that Nvidia setting can also be used in conjunction with render.maxfps in Helion's config.ini, or does render.maxfps mean something different?

You can use both but Helion’s maxfps option should be enough. It also depends on the values you are setting and what the GPU is capable of. For example if the GPU maxes out at 250 FPS on a map and you limit to 144 then it’s not going to do much.   Other cards are capable of well above 1k FPS and will coil whine and blast the fans. I usually set maxfps to 200 which keeps it cool but that’s an RTX 3070. 

Share this post


Link to post
4 hours ago, hobomaster22 said:

Helion 0.9.2.2

 

Finally, Helion has an options menu! The initial options menu comes with mouse support too.

It also wouldn't be a Helion release without going faster. The world simulation for monster ticking and movement routines has a significant increase. This increase alone is twice as fast compared to the previous version and really increases the FPS on slower systems when playing slaughter type maps. Calculations for sprite rendering are also significantly faster. The CPU only needs to calculate a single vertex per sprite and the rest is handled by the GPU. This means less wasted CPU and less data being sent to the GPU for maximum speed.

This release also includes the new slow ticking option for maps with tons of monsters on more constrained systems. Maybe even useful on faster systems with maps that have really absurd amounts of monsters. Full explanation in the list of bug fixes and features below:
 

  Hide contents

Fixed warp/idclev to function without mapinfo.
Fixed parsing error on bad characters in dehacked (fixes goodwad.wad).
Fixed chainsaw damage calculation.
Fixed monster hitscan damage calculations.
Fixed duplicate episodes with custom episode definitions.
Fixed flood fill check for the zero-index texture with custom texture definitions moving the index (AASHITTY).
Fixed misc1/misc to correctly set player weapon sprite offsets.
Fixed dehacked melee range to convert from fixed point instead of using an integer.
Forced player to clamp to surrounding sectors (fixes Phobos Anomaly Reborn E1M6).
Fixed issue with caching that could cause a texture to incorrectly pull the wrong image for a patch.
Fixed incorrect view position being passed to renderer when rendering transparent lines that could cause them disappear.
Fixed issue with lower texture calculation that would cause jitter when moving with sector.
Thing flags were changed and it will break saves from previous versions.

Add configuration option for changing offset for the gun sprite with full size hud.
Add autoscale option for hud that is on by default; will automatically scale minimal hud and text based on the resolution.
Implemented options menu with mouse support.
Significantly improved performance of monster movement and ticking routines.
Significantly improved sprite rendering performance.
Implemented slowtick option. Designed for slower systems to be able to play large slaughter type maps with thousands of monsters.

Enable: if slowticking is enabled.

Distance: the distance where monsters will start slowticking.

Chase failure skip count: The amount of times a monster will skip calling A_Chase if it failed to move in all directions.

Chase multiplier: The amount to multiply the ticks for A_Chase.

Look multiplier: The amount to multiply the ticks for A_Look.

Tracer multiplier: The amount to multiply the ticks for A_Tracer (revenant fireballs) or A_SeekTracer.


A final interesting point, testing on Ubuntu shows that Helion runs 15-20% faster on the same system compared to Windows.

 

Aw heck yeah! Also even more performance yikes, lols!

 

Out of curiosity what was bugged in monster hitscan damage calc before?

 

Also an optional feature request at some point if you deem it suits the port: ambient occlusion.

 

I understand a perf heavy ish shader effect like that is against the principle of Helion and it's a niche feature not many likely use but I really love how it looks in GZDoom, adding depth to the image.

Just thought since Helion is based on OGL hardware accelerated rendering that adding AO might be doable.

Share this post


Link to post

 

6 hours ago, Darkcrafter07 said:

Simply amazing, really cool we have such great developers, thank you!

 

This means Helion made it available for your system to squish the most out of your GPU, simply cap your FPS. If you're on nvidia, it's better done via nvidia control panel -> 3d options -> helion.exe -> limit max fps - > I prefer 165.

 

Apparently, I've found that it's not the GPU that's making that noise. Apparently, it's the CPU.

 

To fix that, the Maximum Processor State setting in Windows' Power & Sleep menu has to be adjusted so that Helion does not use 100% of a single CPU core on a multi-core system. If it is set to 80%, the CPU does not generate excess heat and the fans do not spin up. For a good test case, you can try this with either Nuts.wad or Nuts3.wad.

 

In Windows 10 and in the Power & Sleep menu, click on Additional Power Settings, then Change Plan Settings, then Change Advanced Power Settings.

 

Scroll down to Processor Power Management and open the sub-menu. In this sub-menu, click on Maximum Processor State.

 

Under the Maximum Processor State setting, change the Plugged In value from 100% to 80%.  

 

Of course, when finished gaming, put that setting back to 100%.

Edited by Master O

Share this post


Link to post
9 hours ago, Master O said:

 

 

Apparently, I've found that it's not the GPU that's making that noise. Apparently, it's the CPU.

 

To fix that, the Maximum Processor State setting in Windows' Power & Sleep menu has to be adjusted so that Helion does not use 100% of a single CPU core on a multi-core system. If it is set to 80%, the CPU does not generate excess heat and the fans do not spin up. For a good test case, you can try this with either Nuts.wad or Nuts3.wad.

 

In Windows 10 and in the Power & Sleep menu, click on Additional Power Settings, then Change Plan Settings, then Change Advanced Power Settings.

 

Scroll down to Processor Power Management and open the sub-menu. In this sub-menu, click on Maximum Processor State.

 

Under the Maximum Processor State setting, change the Plugged In value from 100% to 80%.  

 

Of course, when finished gaming, put that setting back to 100%.


Going to Options -> Render -> VSync and setting to on/adaptive will limit the CPU usage.

Share this post


Link to post

Thanks for another update!

 

Somehow the music started working fine for me again, both in the new version and in the previous version. Maybe something in the last system update I ran yesterday did it. No idea, but at least I know now that the log messages I shared before are not relevant, as they're still appearing even with the music working well.

 

I tried playing Machete and encountered this weird shotgun sprite on the first level:

helion-20231029-02-43-50-0033.png

Share this post


Link to post
14 hours ago, Finnisher said:

 

Aw heck yeah! Also even more performance yikes, lols!

 

Out of curiosity what was bugged in monster hitscan damage calc before?

 

Also an optional feature request at some point if you deem it suits the port: ambient occlusion.

 

I understand a perf heavy ish shader effect like that is against the principle of Helion and it's a niche feature not many likely use but I really love how it looks in GZDoom, adding depth to the image.

Just thought since Helion is based on OGL hardware accelerated rendering that adding AO might be doable.


For the damage calculation, the modulus and multiplication values of 5 and 3 were swapped. I went over all the damage functions since the chainsaw damage was found to be off. This one wasn't noticeable because with the randomization it works out to be 10 points of damage on average instead of the 9 using Doom's calculation.

Ambient occlusion is not against the principle of Helion. I have actually thought about AO and I can see it being an option in the future. We just have to prioritize with the other QOL and features that Helion needs.

Share this post


Link to post
12 minutes ago, Shepardus said:

Thanks for another update!

 

Somehow the music started working fine for me again, both in the new version and in the previous version. Maybe something in the last system update I ran yesterday did it. No idea, but at least I know now that the log messages I shared before are not relevant, as they're still appearing even with the music working well.

 

I tried playing Machete and encountered this weird shotgun sprite on the first level:

helion-20231029-02-43-50-0033.png


Looks like the dehacked file is modifying S_TNT1 (for no reason?) and it's breaking the do not render check so the teleport landings are rendering the shotgun sprite.
 

Frame 967
Sprite number = 1

 

Share this post


Link to post
32 minutes ago, hobomaster22 said:

Ambient occlusion is not against the principle of Helion. I have actually thought about AO and I can see it being an option in the future. We just have to prioritize with the other QOL and features that Helion needs.

 

Naturally fundamentals first but happy to hear it's possibly something to be added

Share this post


Link to post
7 minutes ago, hobomaster22 said:


Looks like the dehacked file is modifying S_TNT1 (for no reason?) and it's breaking the do not render check so the teleport landings are rendering the shotgun sprite.
 


Frame 967
Sprite number = 1

 

 

The teleport spots have MF_NOSECTOR, nothing with that flag should ever render at all.

 

Share this post


Link to post
6 minutes ago, Graf Zahl said:

 

The teleport spots have MF_NOSECTOR, nothing with that flag should ever render at all. 

 


Yeah, it appears our internal definition only has NOBLOCKMAP set but not NOSECTOR so that will need to be fixed. I still need to check if modifying the TNT1 sprite should result in rendering the sprite, kind of strange a case and it doesn't appear to be an intentional thing in the dehacked.

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...