1. S2ENGINE HD
  2. News

S2ENGINE HD News

IT'S COMING BACK

Hi guys,

First I'm sorry for the long long long delay.
I've worked mainly on HELLSEED in the last year and I haven't had time to release any update of the engine, even if the engine has been updated internally for the production of the HELLSEED game.

Now, HELLSEED early access has been published and sufficiently fixed/improved to give me the time for returning back to the engine and making all necessary tests and updating all DLCs in a way that it is possible to publish a public update.

I can anticipate some of the news of the next update:
  • Texture Streaming
  • Faster loading times
  • A lot of new GameMachine actions
  • AMD radeon drivers fix
  • Some graphics fixes and improvements.
  • Physics extrapolation for updating characters that prevents movements flickering even at high frame rates.
  • General improvements (time has passed and engine has evolved inevitably)

Now I need time to update ALL packages, DLCs, and contents and make ALL necessary tests, but, generally the new update is almost ready.

A Lot of news and improvements are planned this year for the engine.
Stay tuned.

PROFENIX STUDIO

HELLSEED: Screenshots from new Hospital location

Hi guys,

we have almost completed the graphics of the new "hospital" location in HELLSEED videogame.
I've posted some screenshots showing the results of this HUGE work :).

The hospital will be a crucial step for the player to understand what happened to the doctor...

Enjoy and stay tuned!

S2ENGINE PATREON

Hi guys,

Today we have finally opened the Patreon page of S2ENGINE.

You can find it at:
https://www.patreon.com/s2engine

The page will finally lets you to give an additional help to us for the improvement of this fantastic engine.

In addition we have inserted various benefits for supporters to be unlocked basing on reached goals:
  • Exclusive monthly "work in progress" BETA downloading, for touching with hands what we are working on for the next public free update.
  • Non-public exclusive preview and work in progress contents
  • Discounts on DLCs
  • And more...

We have a lot of plans for improving the engine, some of which you can find and join on S2ENGINE Trello Board, and make it even more easy and powerful as you and us dreamed for years.
So,
If you believe in our project, if you think we can make the engine growing and make our dreams reality, Help us to make s2engine the best engine for passionates!

[h2]IMPORTANT NOTICE[/h2]
Nothing changes: all prices, free updates, all will remain as before.
Patreon page is only an additional opportunity for who want to support us more effectively.



In any case, big news are on the way.
Stay tuned!

PROPFENIX STUDIO

S2ENGINE HD 2022: TEXTURE STREAMING

Hi guys,

In the last months we have worked on a completely new feature:
Texture streaming.

[h2]WHAT IS TEXTURE STREAMING?[/h2]
Texture streaming is a feature used in most of AAA games today.
Today games have many high resolution textures that comsume a lot of video memory.
Texture streaming is implemented for keeping video memory usage under certain values while keeping texture quality high.

[h2]HOW IT WORKS?[/h2]
Textures are loaded into or removed from video memory on-fly, during the game, basing on what is currently visible.
Texture loading is asyncrhonous, this means that texture data is loaded into system memory on a separate thread, while the rest of the game runs.

[h2]TEXTURE STREAMING IN S2ENGINE[/h2]
In s2Engine Texture streaming is exactly as we have described before:
  • Async loading of data
  • Currently visible textures pool managing
  • Mipmap chains selection
  • Amortized texture uploading on video memory

Thanks to these features texture streaming is now possible on s2engine and results are incredibly good.

[h2]RESULTS[/h2]
The best practical application of this new feature was certainly HELLSEED.
The game is rich of High quality / High resolution textures, in addition there is one single big level with different locations all existing at the same time in memory.
We haven't finished to add contents in the game but we have already reached about 4GB of video memory!!
We had 2 solutions:
  • 1 - Separate the game in more than one level, but we didn't want this (breaking atmosphere, loading times, etc...)
  • 2 - Texture streaming :D


The following is a screenshot showing the same scene without and with Texture streaming.
We have used MSI Afterburner for scanning video memory usage:


De facto, Texture streaming will make it possible to develop HELLSEED! :D

As first iteration of the feature, we have added some performance counters like memory used and streaming pool computation timing in addition to the rendering profiling information:


In the engine configuration you can decide what percentage of available video memory must be reserved to the texture pool (target memory) and, when profiling, you can see how much memory, from the target memory pool, is used.

There are some other parameters added, like:
  • Per object streaming priority (to enable/disable streaming on a per object basis)
  • Texture upload amortization (for avoiding frame stalling due to poor video card memory bandwidth)
  • Number of textures to upload per frame (only if amortize is not set, to speeding up texture visualization at the cost of bigger memory bandwidth of video card used)

[h2]MORE...[/h2]
If you are interested in knowing more about the engine development or if you want to support us and believe in our work and in our engine you can join the new Patreon Page dedicated to S2ENGINE:
https://www.patreon.com/s2engine

Now it is time to return back to rendering optimizations :D
Stay tuned!

S2ENGINE HD 2020.4 released

Hi to all,

Today we have released the version 2020.4 of S2ENGINE HD.

[h2]WHAT'S NEW[/h2]
In this version we have started to speed-up the code.
In particular we have increased the string to string comparison.

The strings are used in almost all parts of the engine, when you get a model node, when you get an object, when youo send a message or an event, when you set a parameter, all is done with strings.

Comparing 2 strings, for example, for making a search or for retrieving an object from a table, is an important operation.
Usually this operation is very computationally expensive.

We have increased the speed of string comparison of a factor between 4x and 16x, this reflected on the general velocity of the overall engine and in particular when many characters, using gameMachines for logic, are on screen.
The only drawback is that, now, all strings are NOT case-sensitive, this means that a node called "ROOT" is the same as "Root" and the same as "root", or an event called "START" is the same as "Start" or "start", etc...

In the following video test there are many zombies, every zombi has 3 different gameMachines.
The framerate is stable upon 30 FPS on an AMD radeon RX 550. With 2020.3 version (the previous version) the framerate of this test scene dropped to 14 FPS when all zombies were on screen:
[previewyoutube][/previewyoutube]

Another relevant change is about the editor interface:
We have replaced the "freeze/unfreeze" button with "enable/disable" simulation button.
This means that now, during the editing, the objects are freezed (not simulating) by default, you must push a button to enable simulation during editing.
Of course you can change the start state (enabled or disabled) of the button into the preferences of the editor.

Many bugfixes have been made as usual as well as other minor improvements:

[h2]RELEASE NOTES[/h2]

[h3]CORE[/h3]
  • [IMPROVEMENT] Now the game simulation is freezed at start, and freeze button has been replaced by simulation button.
  • [BUGFIX] When inserting a GUIObject from Create frame and a GUI is already in the scene, the Create frame GUIObject selection isn't erased.
  • [BUGFIX] Fsm and FSMparams parameters are still in the parameters of the GUIObject.
  • [IMPROVEMENT] Added Cube and Sphere models inside the Default folders of the basic packages.
  • [NEW] Added parameter simulationAtStart in Editor preferences
  • [NEW] Added SetObjectNodeScale action in GameMachine
  • [BUGFIX] Events of gamemachines on top of the first are not displayed on class panel.
  • [NEW] Added GetSourceModelNodeFromTarget action in GameMachine
  • [NEW] Added AlignObjectToDirection action in GameMachine
  • [BUGFIX] Wrong Scatter Color list in Material Props containing duplicated elements.
  • [BUGFIX] Events from animation keys are not sent to gamemachines after the first.
  • [BUGFIX] Animation keys aren't sorted when they are moved along the timeline.
  • [BUGFIX] If an asset is duplicated, without being renamed, more than one time, the new asset isn't referenced into the resource file table.
  • [BUGFIX] GameMachine Hitinfo and event stack aren't cleared when re-spawning an Object
  • [IMPROVEMENT] Speed up Culling thread synchronization when many objects move
  • [NEW] Added PhyRagdollToCharacter GameMachine action, for passing from ragdoll to character animations
  • [IMPROVEMENT] Speed up message Dequeuing
  • [BUGFIX] VoxelLightmap creation dialog wrong dimension.
  • [BUGFIX] Film grain post processing FX not visible
  • [BUGFIX] Sometime system crashes when duplicating a gameMachine state
  • [IMPROVEMENT] Added parameter "local" to Teleport trigger object class
  • [IMPROVEMENT] Added parameter "channel" to "SetSourcePitch" action in GameMachine
  • [IMPROVEMENT] Added parameter "channel" to "SetSourceVolume" action in GameMachine
  • [BUGFIX] When sending an event to a gameMachine owner, the event is sent only to the first gameMachine of the object
  • [BUGFIX] When an animation finished the event ANIMATION_FINISHED is sent only to the first GameMachine of the owner object
  • [IMPROVEMENT] Now switches send events (OPENING and CLOSING) respectively when they start to open and when they start to close.
  • [NEW] Added "WaterCausticsOfs" scene parameter for controlling ocean caustics height.
  • [NEW] Added "borderless" window mode as alternative to fullscreen for runtime applications.

[h3]EGP[/h3]
  • [NEW] Added "Locked" and "lockedText" parameters to ItemTAG class Object.
  • [BUGFIX] ItemObject "fsm" and "fsmParams" already visible.


[h2]FINAL THOUGHTS[/h2]
THIS IS ONLY A SMALL IMPROVEMENT, but it gives an idea about how much large is the room for optimize the engine.
In the next months we will be mainly focused on HELLSEED game and on optimizing the rendering engine.

Enjoy and Stay tuned!
Profenix Studio