FEATURES
- WARNING: All the features in this page are still relative to the OLD engine version (1.5). We will update the page with S2ENGINE 2009 features soon.
-
RENDERING
-
-
Visible surfaces determination system
With S2Engine technology you can build complex scenes featuring indoor and outdoor locations. This is possible using an hybrid system based on a bsp/portal main scenegraph structure and an octree/antiportal structure for every sector for fast geometry culling useful for big sector locations. - User can be put portals inside strategic point of scene and S2engine automatically generates the minimum set of sectors required. This optimizes the use of scene culling into indoor locations without affecting outdoor scene performaces.
-
-
Terrain
-
S2Engine, from 1.5 version, supports Terrain editing. Terrains can be sculpted on heightmap basis manually and with combination of special filters like erosion and thermal weathering, etc... It is possible to add to terrain geometry as many as layers you want to paint rocks, sands, grass, etc.
It is also possible to paint onto terrains vegetation models like trees, bushes, etc... -
-
Static Geomtery and instancing
Today games are rich of geometry data so a big amount of geometry data is needed. With Instancing S2Engine lets you to copy the same geometry model many times in the scene at the cost of a single model memory amount. On the other hands instancing is more computationally expensive than non-instantiable geomtery. S2Engine lets you to have either instantiable models (when you need to replicate many times the same geometry) and not instantiable geometry (when you do not need to replicate the geometry but need more rendering speed). - All level meshes can have more than one material so you can create big bunches of complex geometry with many materials in a single model that can be rotate, translate, scale.
-
-
Mesh Grouping
Level meshes can be grouped together. This lets you to have big groups of many objects that you can translate, rotate, scale and clone in a single pass. Grouping is also useful to optimize scene culling and/or object selection/picking: if a group that contains many objects is entirely outside camera point of view it's entirely culled, so the engine doesn't need to perform culling on any single object.
-
-
Dynamic Portal Scissoring
S2Engine is capable to render big indoor environments filled with dynamc lights and shadows thanks to a bsp/portals system integrated with our propretary technology: DPS. DPS (Dynamic Portal Scissoring) let the system to decide which portals to use for culling shadows and lights effects from non-visible geometry based on player point of view.
-
-
Shadows
S2Engine has been designed to perform fast dynamic shadows rendering with a stencil shadow volumes algorithm optimized with an aggressive use of scissor buffer. Soft shadows can also been simulated via projective lights. -
-
Lighting
- S2Engine features a complex per-pixel dynamic lighting system which let customize distance light attenuation functions via simple texture mapping. S2Engine shaders support, moreover, diffuse and specular bump mapping with Glossisness and Fresnel reflections. S2Engine is also capable of simulating inditrect lighting throw a propretary system that lets to have diffuse ambient lights with bumpmapping granularity.
- Currently 4 light types are supported:
- OmniDirectional lights with customizable distance attenuation function via texturing or cube maps
- Spot Lights with cube map or 2D texture projection
- Directional lights with attenuation via texturing
- Global Ambient light featuring bump-mapping
-
Materials
Thanks to a flexible architecture and a powerful lighting system the engine can support mullti-textured materials with simulation of:- Phong specular reflection
- Cubemap bumpmap reflection
- Transparency
- Self-illumination
- Glossisness
- Parametric specular highlights.
- Fresnel reflection
- Every material can support two bumpmaps channels (standard + detail) and two texmap channels (standard + detail).
- Every texture can animate its coordinates by traslating them in a customizable direction. This let you to simulate , for example, water waves movements using two channels of bumpmaps.
-
-
Post Processing
S2Engine is capable to perform a variety of post processing effects that can be included/excluded from the rendering pipeline - Colorization and Desaturation
- Bloom
- Motion blur
- These images show the effect of screen colorization and desaturation
|
|
-
ANIMATION
Keyframed animations
Animation system has been created as a natural extension of the node-based scene rappresentation that lets the objects to be organized in an hierarchical manner. The current version of the engine supports keyframed animations applied either to bone based mesh skinning and simple hierarchical models (needed expecially in mechanical animations).
-
-
Animation blending
S2Engine is also capable to perfom a parametric animation blending to smooth innatural rapid movements which can be applied to both hierarchical or skinned models.
-
PHYSICS
Modularity
S2Engine is interfaced to a physics\collision system which is separated from the system core. This feature permits to constantly update the physics\collision module without change anything else.
-
-
Collision system
Currently two collision tests can be performed: AABBox-scene collision (via BSP and sector/mesh local Octrees) and AABox-AABox collision.
-
-
Dynamics
The object dynamics is monitored by a particle-based subsystem via Euler integration. The physics interface lets to associate a particle to every object in the scene.
-
-
Picking
Every object into the scene can be 'picked' on a per triangle basis. this is due to a per-triangle line-mesh and line-surface intersection system.
-
ARTIFICIAL INTELLIGENCE
-
Layered AI
S2Engine includes a powerful AI System organized in multiple layers. Lower levels contain path-finding and steering behaviors and higher levels contains FSM (Finite State Machine), message routing system and scripting system.
-
Hierarchical path-finding
S2engine is capable to perform a two levels hierarchical path-finding. At higher level the path is automatically extracted from bsp/sectors structure and at lower level the designer can customize paths for each room/sector by connecting local waypoints. This let the engine to find the best path very fast by rejecting all unuseful path informations.
-
-
Message routing
All objects into the scene can comunicate each other by sending messages. This feature lets to combine different object (i.e. triggers, switchs, weapons, etc.) to obtain different game behaviours.
-
Script language
All game entities behaviours can be customized by a simple IF (conditions) THEN (actions) scripting language that lets to obtain different behaviours from the same object type in a very simple way and WITHOUT hard-coding.
-
TOOLS
-
WorldEditor
World editor is useful to create level geometry. It also contains a Bsp-Portal map generator that builds the level graph and shows the generated portals during the level creation. With S2WorldEditor you can create and modify various types of objects, you can also import meshes from external modellers like 3dsmax.
Thanks to the flexible architecture of S2Engine new types of objects can be implemented using the editor sdk. -
SceneStudio
SceneStudio has been designed to easily insert object and lights into the scene and view real-time game simulation.
When you implement new objects with the sdk via c/c++ you can test directly their in-game behaviours using Scene Studio. -
MaterialEditor
Using Material Editor you can set in real-time materials properties in few clicks and see the effects showed in the main interface. -
ModelStudio
Model Studio is designed for merging animation and allows to attach gadgets to the desired node of the model.
The user can add/play/remove model animation and he can apply different animations to different components of the same model.
Model and animation, moreover, are located in two different files so the user can associates same animation to different models. -
Exporting tools
S2Engine Toolset also contains Exporting plug-ins for the most used modelling editors.
These programs let to export different type of proprietary files which contains: simple meshes, skinned models, level structures, hierarchical mesh models, etc… -
Supported third-parts file formats
S2Engine also support a variety of well-known file formats supported by other editors. These file formats are: WAV for sounds, TGA for textures, COLLADA for models and animations. Other third-parts file formats are scheduled for future releases: OGG for sounds, DDS and PCX for textures.
COLLADA exporting Plug-ins are available at: www.feelingsoftware.com.
|
|
|
|
|
|
|
|
|
-
PROGRAMMING
-
SDK (PRO - FULL)
In the PRO license version S2Engine is provided with a complete SDK which allows to modify or customize lowlevel engine modules without changing high-level architecture: RenderDevice, AudioDevice, Input Device, Resources, Surfaces. With S2Engine SDK is, also, possible to customize and extend game objects via C++. Moreover SDK is supplied with Standard object packages: BasePack, CharacterPack, GadgetPack, TriggerPack, DoorPack. BasePack contains Billboard, Base Light, Base Camera, Paricle systems. CharacterPack contains Player Character, Non Player Character. GadgetPack contains Base Weapons. DoorPack contains base door classes. TriggerPack contains base trigger classes.