1. S2ENGINE HD
  2. News

S2ENGINE HD News

S2ENGINE HD 2024.0.2 OUT NOW

[h2]Release notes[/h2]
  • BUGFIX: Zombies in zombie pack lock player forever.
  • NEW: Now spawner changes the random seed every time it is initialized, improving its randomness.
  • NEW: Spawner randomness now is also on spawning locations.
  • BUGFIX: ResetXform operation in model Editor doesn't reset tangent transforms causing wrong normalmap computations.
  • BUGFIX: Potential leak in the animations job.
  • NEW: Added new "RecomputeTangents" option in the EditVerts tab of the model editor.

S2ENGINE HD 2024.0.1

[h2]Release notes[/h2]
  • BUGFIX: Lights, StaticLights and FillLights do not fade smoothly in the distance
  • NEW: Lights on transparent surfaces are faded out when camera distance from them is greater or equal to their radius.
  • NEW: Inserted new parameter "ID" into Lights and StaticLights. This parameter is used to exclude lights from rendering on transparent surfaces when they are set to a negative value.
  • NEW: Inserted new parameter "ID" into Particles systems. This parameter is used to exclude their light from rendering on transparent surfaces when it is set to a negative value.


Stauy tuned,
PROFENIX STUDIO

S2ENGINE HD 2024 OUT NOW!

Hi guys,

I have finally released the new S2ENGINE HD 2024.0.0.
There are a lot of news in this update.

[h2]IMPROVED PERFORMANCES[/h2]
As anticipated in the previous post I have improved performances a lot expecially on NVIDIA cards.

What I haven't said is that, thanks to the Discord community, we have discovered that also on Radeon cards the performances are much better, meaning that now the number of objects you can have on screen, while keeping a high framerate, has been incremented by 4x-5x and more.
From the last post I've also improved the matrix multiplication code by using the SIMD instructions. Since the matrix multiplication is a frequent operation, the overall engine performance has been improved another bit.

Last but not least I've started to change the Multithreading system by introducing a new Task-based parallel system that will gradually replace the old job system.

The advantages of the new system are several:
  • In the old system jobs allocation is predefined, this means that a job is allocated into a thread at start and never changes, this reduces a lot the scalability with the number of cores. In the new system a task is allocated every time it restarts (usually everyframe) optimizing CPU core usage.
  • In the old system the number of threads was limited to 3, in the new system the number of threads is scaled with the number of processor cores.
  • A task can be subdivided again in more parallel code fluxes resulting in a more aggresive usage of the available system computational resources.
  • In the previous system the synchornization points were per-thread this means that if a job has finished its work it has to wait for all other jobs in the thread! the new system has a per-task synchronization, this means that if a task has finished its work it hasn't to wait for all other tasks to finish before fetching its results.
For now I have ported in the new system only 2 tasks (projectiles and particle systems) but gradually all oid jobs will be ported to the new system.

[h2]IMPROVED AUDIO SYSTEM[/h2]
Thanks to the wotk I'm doing with HELLSEED I have discovered another bunch of bugs affecting the Audio system that could potentially prevent sounds to be played.

[h2]BUGFIXES and minor improvements[/h2]
A lot of Bugfixes has been done but also some minor improvements.
The most notable of these improvements are:
  • Finally I've fixed the bug that, expecially on NVIDIA cards, creates a hole in the middle of the ocean surface.
  • Finally I've found a solution to the physics character "sliding walls on air" problem.
  • Finally I've found the problem that caused a wrong ambient occlusion computation in the voxel lightmaps when 512 samples were selected.

The following are the complete
[h2]RELEASE NOTES[/h2]
  • OPTIMIZATION: When selecting more than one object the per-object gizmo text is disabled, it is showed only the first selected object text, this speed-up selection group visualization.
  • OPTIMIZATION: HUGE performance improvement on NVIDIA cards thanks to some AZDO functions implementation
  • OPTIMIZATION: Matrix multiplication speed-up with explicit SIMD instructions
  • OPTIMIZATION: introduced more flexible and performant new Task-based job system that will gradually replace the old one.
  • NEW: added "verticalSlideLimit" parameter onto Character class for controlling at which slope characters can slide
  • NEW: added parameter "recomputeTangents" in Decal and DecalObject object classes.
  • NEW: Added parameter "GlobalSound" in switch object class.
  • NEW: Restored "progressive refinement" and removed "2 pass" parameters in VoxelLightmap generation tool
  • NEW: sorted messages and events list into the object class tool
  • NEW: Added parameter everyframe to PauseGame gameMachine action.
  • NEW: Now counters send events "COUNT_INCREMENTED" and "COUNT_DECREMENTED" to the GUI object every time the object count changes.
  • NEW: Added button "editing preview" in cutscene track tool
  • BUGFIX: Alpha blend surfaces aren't affected by reflection and roughness settings
  • BUGFIX: 3d Ocean surface artifact at 0,0,0 coordinates
  • BUGFIX: If a new scene is created into the root folder no ocean and rain materials are created and a wrong alert box appears causing engine to crash if OK button is clicked.
  • BUGFIX: Crash if reload the scene in the Building generator city project.
  • BUGFIX: Road feature models aren't visualized and cause memory leaks.
  • BUGFIX: Player character slide on vertical walls also if there is no ground.
  • BUGFIX: GetLevelParamVec3 GameMachine action doesn't work
  • BUGFIX: GetLevelParamColor GameMachine action doesn't work
  • BUGFIX: no-looping sound sources playing far from camera sometimes don't work if camera returns back close to them.
  • BUGFIX: SceneParamColor Track type doesn't allow to modify keyframe values for G and B channels.
  • BUGFIX: SceneParamColorHDR Cutscene Track type doesn't allow to modify keyframe values for G and B channels.
  • BUGFIX: PlaySound Cutscene Track type doesn't trig and stop sounds at right time.
  • BUGFIX: Objects Selection/Picking dialog doesn't work well when using the player / GUI set from project game configuration (playerStart system)
  • BUGFIX: When you clone an object and then change its layer, the object seems to belong to either the previous and the current layer
  • BUGFIX: when selecting 512 samples in VoxelLightmap generation tool, the ambient occlusion isn't computed in the right way.
[h3]E.G.P.[/h3]
  • NEW: Added Parameter "ShowInventory" to ItemTAG object class
  • NEW: Now inventory keeps in memory the previously selected tab and the previously selected cell

[h2]CONCLUSIONS[/h2]
This update is a real Milestone in the history of S2Engine since a lot of ancient problems (including performances on NVIDIA cards) have been solved.

From today a new series of improvements are finally possible and great things are waiting to be implemented in the future updates.

Stay tuned and enjoy!
PROFNEIX STUDIO

CEMETERY PACK 2.0 COMING SOON

Hi guys,

The new Cemetery pack 2.0 DLC for S2Engine is coming soon.

You can just now access to its store page for more info:
https://store.steampowered.com/app/2987820/S2ENGINE_HD__Cemetery_Pack_20

Enjoy and stay tuned,
PROFENIX STUDIO

HUGE PERFORMANCE IMPROVEMENTS in next update

Hi to all,

[h2]PREAMBLE[/h2]
When AMD published their new OpenGL drivers in 2021 the performance imrpovement of S2engine on Radeon cards was really impressive.
AMD OpenGL drivers now are much much much more performant that NVIDIA ones (even if NVIDIA stability remained unsurpassed), that still keep a big overhead.
From my point of view this is a shame: NVIDIA cards are the most performant and widespread cards on the market and I really don't want S2engine to underperform on those cards.
So,
In the last month I've worked on a new rendering system to reduce the gap between AMD and NVIDIA driver performances.

[h2]AZDO[/h2]
Today I'm proud to announce that I've just closed the hard part of the development of a new rendering system based on some AZDO (Approaching Zero Driver Overhead) functions that will improve about 30%-45% the performances on NVIDIA cards by reducing the driver overhead!

Results of the tests I've done on some s2engine demos are really impressive.

Following are OLD / NEW comparison screenshots of the Building Generator DLC city level,
The reference system specs are:
CPU - INTEL i5 8600K
GPU - NVIDIA GTX 1060 6GB
RAM - 16GB



Here, instead, are come comparison screenshots related to the UPCOMING New Cementery Pack, on the same reference system:


Finally are some comparison screenshots in HELLSEED (on the same reference system):


As you can see from these screenshots the improvements are HUGE.
The AZDO way seems to be the right way for an incredible performance evolution of the engine, so I'll continue to develop it by including all the remaining most recent AZDO functions in future.

[h2]ABOUT RADEONS[/h2]
As said AMD OpenGL drivers are today very very performant (in some cases they are still faster than NVIDIA ones) and they seems to work fine with and without AZDO, so the new rendering system seems to produce no improvement.
This conclusion could be not completely true due to the fact that my AMD reference system is very limited in graphics card (I use an old and poor RX550), so with a more performant and modern system results could change.
SO LET ME KNOW if you notice improvement on your RADEON card when the new update will be public.

For now it's all,
Stay Tuned,
PROFENIX STUDIO