Engine Features - Scripting |
Scripts are heart of the game. Using nodes to create scripts allows community to easily expand game logic without need for deep knowledge of programming languages such as C++.
Integrated language database access allows easy script localization.
- Node based scripting allows us to create game logic without program recompilation or knowledge of C++ programming.
- Each script is assigned to single world object ( entity, region, level...).
- Each script receives events from game engine. These events are handled by script using user defined logic. Each script event can be handled by creating logic using object nodes (basic: integers, boolean variables, strings, vectors, colors, float variables etc. and advanced objects: entities, documents, animations, itemholders, shopholders, sounds etc). These objects are manipulated using provided object functions. For example Sound objects have Play, Play Looping, Play From Start, Set Frequency, Restore Frequency, Set Pan, Set Volume and many other functions. Thus it is very easy to create script that plays sound when user has clicked on specific entity. If player has clicked on locked door, all you have to do is create Entity Clicked event node and connect it to Sound Play node and that's it.
- Engine allows scripting access to most of the game systems, including:
- Entity managements
- Event propagation
- Camera controls
- Creature emitter and spawn controls
- Cutscene and conversation management
- Decals management
- GUI and user interface manipulation
- Itemholders and shopholder manipulation
- Quest functions
- Player and World access
- System functions for threading, flow control, randomization, state management, function calls and much more.
|