storm-engine

Game engine behind Sea Dogs, Pirates of the Caribbean and Age of Pirates games.


Project maintained by storm-devs Hosted on GitHub Pages — Theme by mattgraham

[Entities]

back to Index

Storm Engine Logo

Related articles: Scripting Functions

Each object in the scripting language can be an instance of an entity (predefined during engine compilation), or class archetypes.

In order to become one, an entity must be registered as such (via CreateClass or CreateEntity function) and added to the respective layers.

Layers

There’re two base layer types: EXECUTE and REALIZE.

Each frame, the game will go through all its layers and make execute and realize passes.

During the execute pass, game logic for the entity is updated: light flickers, seagulls react to world state, etc. During the realize pass, graphics are sent for rendering or sounds for reproduction.

Layer order is important as well as the entity priority inside a given layer. The smaller layer numbers and priority levels are executed first.

At the end of each frame, a cleanup is made, and entities marked for removal are deleted from each layer.

Some entity types have specialized execute and realize layers, while others (purely graphical effects like rain drops or blood splatters) only have realize layers.

Currently implemented layers (in order of priority):

Layer name Layer Id Type
EXECUTE 0 Execute
REALIZE 1 Realize
SEA_EXECUTE 2 Execute
SEA_REALIZE 3 Realize
INTERFACE_EXECUTE 4 Execute
INTERFACE_REALIZE 5 Realize
FADER_EXECUTE 6 Execute
FADER_REALIZE 7 Realize
LIGHTER_EXECUTE 8 Execute
LIGHTER_REALIZE 9 Realize
VIDEO_EXECUTE 10 Execute
VIDEO_REALIZE 11 Realize
EDITOR_REALIZE 12 Execute
INFO_REALIZE 13 Realize
SOUND_DEBUG_REALIZE 14 Realize
SEA_REFLECTION 15 Realize
SEA_REFLECTION2 16 Realize
SEA_SUNROAD 17 Realize
SUN_TRACE 18 Realize
SAILS_TRACE 19 Realize
HULL_TRACE 20 Realize
MAST_ISLAND_TRACE 21 Realize
MAST_SHIP_TRACE 22 Realize
SHIP_CANNON_TRACE 23 Realize
FORT_CANNON_TRACE 24 Realize
ISLAND_TRACE 25 Realize
SHADOW 26 Realize
BLOOD 27 Realize
RAIN_DROPS 28 Realize

Entity Type Index

Depending on usage, each entity can be considered a class, a service or a script library.

These are the following:

Animals

Animation

Ball Splash

Battle Interface

Blade

Blot

Collide

Dialog

Geometry

Island

Lighter

Location

Locator

Mast

Model

Particles

PCS Controls

Renderer

Rigging

Sailors

Script_library

Sea

Seacreatures

Seafoam

Sea_ai

Sea_cameras

Sea_operator

Shadow

Ship

Sink_effect

Sound

Soundservice

Teleport

Tornado

Touch

Waterrings

Weather

Worldmap

Xinterface

Steam


Home Site Map