1. S2ENGINE HD
  2. News

S2ENGINE HD News

EasyGamePack update coming soon



Hi guys,

In these last weeks, waiting for finishing the multi-threading system re-design and finally starting the implementation of the new S2ENGINE HD 2019.2 version, I've found time for implementing new features for EasyGamePack DLC.

First I've extended the possibilities provided by the inventory system.
Now it is possible to collect documents and examining objects, in addition to using them.
Also it is possible to customize inventory layout using tabs and grids for managing items and weapons.
Also I've integrated an ad-hoc key-target management to guarantee that a key is used only in proximity of its target (or pointing at its target in case of first person).

I've also integrated a smart commands visualization that changes itself if you are using kayboard+mouse or a Pad, commands can be visualized on screen on demand (using GameMachine), the system will be responsible to show the right command icon.

The last feature is the current objective notification (with a fade-in, fade-out animation) and the notification of player actions (ex. picked up a key, used a key, etc..)

For showing all these improvements I've made a test using EasyGamePack with Haunted House DLC simulating an horro game like Resident Evil 7.

Following is the result:
[previewyoutube][/previewyoutube]
For now it is all,
Stay tuned!

PROFENIX STUDIO

WHAT TO EXPECT IN FUTURE VERSIONS

Hi to all,

The time has come,
S2ENGINE is ready for the next big revolution: multi-threading.

MULTI-THREADING

Honestly Multi-threading is already in S2ENGINE architecture but in the next versions I'll move to a new approach.

Thanks to this new approach I will be able to improve S2ENGINE frame synchronization. This may seem trivial, but it is not so.

The main idea behind this is putting Rendering and Game Logic (GameMachines, physics, audio, AI, input) into two separated threads (in reality the threads will be 3 because S2ENGINE has a dedicated thread for objects culling + another bunch of secondary threads for animations, ocean simulation, etc...existing just now).

Every thread timing will be independent: the game logic will run ALWAYS at 60 fps without taking care of rendering, the rendering will take the last available information from game logic (mainly object transformations) to perform its task and, basing on the system and graphics card power, will take a certain, variable, not determined, time to complete the work. The time rendering performs its job, game logic will continue to do its job ALWAYS at 60 fps WITHOUT waiting for the rendering :)

Its clear now that physics, animations, AI computations, game logic, movement smoothing and input feedback will be finally computed with a stable framerate improving A LOT! the game experience: better input feedback, better character movement refresh, better physics behaviour, better collision response, etc...

In my opinion this will be the biggest improvement ever made for S2ENGINE and a very big step for reducing the separation between S2 and the Big Giants.

The work will be very hard and time could be long.
This is why I'll try to distribute this big change among more than one update:
  • 2019.2: preparation (nothing visible)
  • 2019.3: async resource loading (no more time to wait texture loading :))
  • 2019.4: the final cut :D :D :D


EASY GAME PACK
EasyGamePack DLC is, from the beginning, the "must have" for all S2 users and, in general, for all who want to make games in a very simple way.

My plans are to make it even more essential and full-featured.

Infact in the meanwhile I hope to do another big update for EasyGamePack:
  • New extended inventory system
  • New character model and animations
  • New system for managing weapons and easily adding new ones


I hope you like this roadmap.
Let me know what do you think about.

Do not forget to Follow the PROFENIX STUDIO page on STEAM to be up to date with new contents, DLC and updates:
https://store.steampowered.com/developer/PROFENIXSTUDIO/

PROFENIX STUDIO

S2ENGINE HD 2019.1.6 Finally released

Hi guys,

We are proud to announce that the new S2ENIGNE HD 2019.1.6 update is among us.

This new version contains a lot of new features and bugfixes.

PROCEDURAL TILES

We have introduced the new procedural tiles system that lets you to create and customize the geometry of tiles to be composed in game environments
Here are 2 new tutorials that explains hot to use tiles:
https://www.youtube.com/watch?v=LrDIsQA6Q3g&feature=youtu.be
https://www.youtube.com/watch?v=eedtLMl9IqE&feature=youtu.be

IMPROVED ASSET PACKAGES

Finally in this new version we have re-organized all the asset packages of the EasyGamePack DLC and all the basic asset packages.
The new folders structure is much more user friendly and allowed us to improve the basic assets game machines (FPS, TPS and racing).

Here is a tutorial about first person and third person characters interacting with doors (included into the New tiles asset package)
https://www.youtube.com/watch?v=2ECTRR_Q6k0&feature=youtu.be

VOXEL LIGHTMAPS

A new long-awaited rendering feature has been finally implemented.
It lets you to precompute ambient occlusion in a 3d texture increasing the scene graphics realism.
The following is a video tutorial about how to setup and generate a voxel lightmap:
https://www.youtube.com/watch?v=aKLCIT-BECk&feature=youtu.be

EASY GAME PACK

In this version we also improved the Easy Game Pack by introducing Platforms and climbing logic and a new enemy character class with specific parameters:
https://www.youtube.com/watch?v=2GQQtbNEdrs&feature=youtu.be
https://www.youtube.com/watch?v=O50WTHK062Y&feature=youtu.be

BUGFIXES AND OPTIMIZATIONS

As always a lot of bugfixes has been made and also some rendering speed-up optimizations

RELEASE NOTES

The complete list of news:

CORE
  • - [BUG FIXED] Crash if you use switch object class and then run game simulation without placing a camera
  • - [IMPROVEMENT] Check for preventing SmoothFrameRate parameter to be 1
  • - [BUG FIXED] It is impossible to clear "prefab" parameter (in "prefab" and "class" tools) using "x" button
  • - [IMPROVEMENT] Improved accuracy of models animation track timeline when adding/selecting keys
  • - [IMPROVEMENT] Recompiled in VisualStudio 2017
  • - [BUG FIXED] When renaming/moving an animation asset, modelscript asseets containing a reference to that animation lose speed multiplier and keyframes values
  • - [BUG FIXED] When renaming/moving a prefab asset, modelscript assets containing a reference to that prefab aren't updated
  • - [BUG FIXED] When renaming/moving a prefab asset, Game Machine assets containing a reference to that prefab aren't updated
  • - [BUG FIXED] Crash when re-saving an asset preview image with different size from previous preview image
  • - [NEW] Added possibility to use variable for "time" parameter into PhyKinematicDisplace and PhyCharacterDisplace actions
  • - [BUG FIXED] Input section in class parameters not visible
  • - [NEW] Added CompareVec3 action in GameMachine
  • - [BUG FIXED] Crash when deleting a cutscene and a track of the cutscene is selected
  • - [BUG FIXED] Missed autokey icon texture
  • - [BUG FIXED] Autosave doesn't save unsaved resource files
  • - [IMPROVEMENT] Improved autosave project folders storage
  • - [NEW] Project files recovering system added
  • - [BUG FIXED] runtime archives bigger than 2GB don't work
  • - [IMPROVEMENT] Improved object markers system in editor
  • - [IMPROVEMENT] New camera visualization (3d model replaces 2d marker image)
  • - [BUG FIXED] Crash when the game is tested in debug mode (F6) and Physics debug info is showed
  • - [BUG FIXED] Crash when the game is tested in debug mode (F6) and object markers are showed
  • - [IMPROVEMENT] Added a default mass for vehicle class (when it is instanced) in order to avoid crashes if mass is not set before setting the vehicle body
  • - [BUG FIXED] When starting game test and an animator object is selected and its curve is ahowed the engine crashes
  • - [NEW] PhySetCollisionMask action added in GameMachine
  • - [BUG FIXED] "Align to world" tool icons missed
  • - [BUG FIXED] Output of GetCloserObject action is boolean, must be string
  • - [BUG FIXED] Output of GetCloserObject action is wrong
  • - [NEW] Added "GetObjectCustomID" action in GameMachine
  • - [NEW] Added "SetObjectCustomID" action in GameMachine
  • - [NEW] Added new procedural tile class "Wall"
  • - [NEW] Added new procedural tile class "Floor"
  • - [NEW] Added new procedural tile class "Stair"
  • - [NEW] Added new procedural tile class "Column"
  • - [NEW] Added new procedural tile class "Roof"
  • - [BUG FIXED] local lights on Particle systems aren't computed properly
  • - [NEW] Added parameter "staticShadowmap" to staticlights for adding possibilityto make staticlights to draw only shadowmaps for static geometry speeding-up rendering
  • - [BUG FIXED] Sometimes it happens that objects in hierarchy aren't linked after level loading
  • - [BUG FIXED] Particle system rendering artifacts on AMD Radeon 19.7.2 driver version
  • - [IMPROVEMENT] Now if you have checked the "snapToGrid" option and move and object on one axis the snapping affects only that axis (It works only in worldSpace translations).
  • - [BUG FIXED] Crash when closing/opening the prefabViewport and a projectile is instanced by another object contained by the prefabViewport
  • - [IMPROVEMENT] Now you can set a variable for "TargetObject" parameter of "Orbit" Action in GameMachine
  • - [IMPROVEMENT] Added parameter "everyframe" to "GetEulerFromVector" action in GameMachine
  • - [IMPROVEMENT] Now when "Raycast" or "Pick" actions fail the "GetHitInfo" action returns the ray endpoint as hit point.
  • - [IMPROVEMENT] Improved aiming precision of the FPSPlayer and the TPSPlayer included into the basic asset packages
  • - [BUG FIXED] "IsPlayer" parameter doesn't work for any object class
  • - [BUG FIXED] When renaming / moving assets their reference in other assets isn't updated in some cases.
  • - [IMPROVEMENT] Added possibility to set variable for "object" and "node" parameters of the "nodeLookAt" action in GameMachine
  • - [IMPROVEMENT] Added possibility to set variable for "object" parameter in "rotateNode" action
  • - [NEW] Added "GetObjectParam" action in GameMachine
  • - [NEW] Added "GetObjectLayer" action in GameMachine
  • - [IMPROVEMENT] Added parameter "node" into PhyObjectSetCollideFlag action
  • - [IMPROVEMENT] Faster sorting of drawing primitives during rendering
  • - [IMPROVEMENT] Improved decals scaling
  • - [BUG FIXED] When changing the name of an asset or moving it into another folder its reference isnt't updated into the GameMachine owned by an object instanced into the scene.
  • - [NEW] Added Voxel lightmaps


EasyGamePack
  • - [IMPROVEMENT] Asset package folder structure Re-arranged
  • - [IMPROVEMENT] Removed "NearFocus" parameter from PlayerCharacter class, so you can set depth of field focus parameters directly from player camera.
  • - [IMPROVEMENT] Improved depth of field blur when inside inventory and menu
  • - [IMPROVEMENT] Added depth of field blur when inspecting the document/map item from inventory
  • - [IMPROVEMENT] Added aiming zoom even without handling a weapon in PlayerCharacter
  • - [IMPROVEMENT] Added ceiling collision check when jumping in playerCharacter
  • - [NEW] Added "platforms"
  • - [IMPROVEMENT] Replaced "AutoAction" check with "AutoActionMask" parameter in PlayerCharacter class
  • - [NEW] Added "Target" object class
  • - [NEW] Added "EnemyCharacter" object class implementing on-screen energy caption
  • - [BUG FIXED] "BatteryDischargeAtStart" mparameter of PlayerCharacter doesn't work
  • - [NEW] Added "climbing" Logic into PlayerCharacter GameMachine.
  • - [NEW] Zombies and marines game machines now automatically recognize player (no need to set a player input parameter)
  • - [NEW] Added engagement system logic in PlayerCharacter GameMachine


As always previous version has been exposed as old BETA

Do not forget to Follow the PROFENIX STUDIO page on STEAM to be up to date with new contents, DLC and updates:
https://store.steampowered.com/developer/PROFENIXSTUDIO/

Enjoy and Stay tuned
PROFENIX STUDIO

VOXEL LIGHTMAPS IN S2ENGINE HD 2019.1.6


Hi guys,

Today I would like to announce that I've implemented a new cool rendering feature for the upcoming 2019.1.6 version of S2ENGINE HD: I called it "Voxel Lightmaps".

Pratically you can instantiate, inside a scene, a volume covering a given area and telling s2engine to pre-compute lighting (for now only ambient occlusion) in that volume: the results are stored into a 3d texture.


FEATURES

There are a lot of other interesting features with this technique:
  • Voxel Lightmap volumes can be attached to an object, this means that you can compute lighting in a volume around an isolated object and subsequently move/rotate/scale duplicate it together with the object and the lighting will change accordingly around it.
  • Voxel lightmaps can overlap, this means that you can create a voxel lightmap for an object or a set of objects and than apply this on another voxel lightmap built around an entire level sectioin.
  • Voxel lightmaps are FAST. After precomputing a voxel lightmap requires only a read into a 3d texture to be rendered. Every voxel lightmap is deferred, just like a light, but much more cheap.
  • Voxel Lightmaps are as all other objects, they can be disabled basing on distance from camera
  • Voxel lightmaps are progressive, this mean the lightmapper store the results of previous precomputing and use them to add samples to subsequent computing requests. You can refine pre-computing calculus every time you want :)



"TRADITIONAL LIGHTMAPS" vs "VOXEL LIGHTMAPS"

    There are a lot of advantage over the traditional lightmap method:
  • Traditional lightmaps require UV mapping on a second UV channel, Voxel Lightmaps NO
  • Traditional lightmaps are completely static, Voxel Lightmaps can be attached to an object and moved and rotated together with it affecting surrounding environment accordingly.
    https://www.youtube.com/watch?v=BeHazUXj8B4&feature=youtu.be
  • Traditional lightmaps doesn't affect dynamic objects, Voxel Lightmaps are volumetric, this means that they affect the lighting of all the objects inside their volume, also dynamic.
    https://www.youtube.com/watch?v=RsIALjOsRxQ&feature=youtu.be


FINAL CONSIDERATIONS & FUTURE WORKS

Voxel Lightmaps are useful for simulating mid-high range ambient occlusion, this means that they can be mixed with SSAO for covering also micro details.

They do not require a big resolution due to low-frequency nature of ambient occlusion they simulate, also they can be instanced so you can reuse the same voxel lightmap on different object with same model but different rotation, position and scaling, in this way you can keep memory requirements low.

In any case the next step will be to find a way for compressing the voxels (sparse voxel octree?) in favour of a finer resolution.

Following are some screenshots showing the benefits of Voxel lightmaps. Framerate is the same with and without voxel lightmaps :)

A complete tutorial about how to use Voxel Lightmaps is coming soon.
Enjoy and stay tuned!
Do not forget to Follow the PROFENIX STUDIO page on STEAM to be up to date with new contents, DLC and updates:
https://store.steampowered.com/developer/PROFENIXSTUDIO/

Platforms in next EasyGamePack


Hi guys,

Currently we are working on integrating platforms logic into the next EasyGamePack update.

Following is a videoclip showing a test scene:
https://www.youtube.com/watch?v=2GQQtbNEdrs
Stay tuned!
PROFENIX STUDIO