TracNav
Zen Engine
- Introduction
- Credits and Contributors
Overview
Zen Core
Zen Enterprise
Miscellaneous
Zen Engine Features
This page is a (work in progress) list of features and benefits of Zen Engine.
General Features
Zen Engine API
Zen Engine is designed using as pure of an Object Oriented Design as possible. In some cases we used generics / templates in order to achieve certain implementation requirements, but anywhere that OO was a valid choice, we chose it.
The API is arranged in layers so as to allow more flexibility without making the engine too difficult to use and extend.
A simple yet flexible script based interface allows game designers to accomplish their game design goals.
The advanced C++ API provides a flexible layer to allow engine developers to extend and enhance the game engine.
The intermediate layer allows technical game designers and engine developers to enhance the functionality and provide game specific behaviors and other implementation and expose them to the scripting layer for use by the game designers.
With this layered approach, game designers will find Zen Engine extremely easy to use without giving up the flexibility required for creating innovative game-play.
Game Rules
Zen Engine uses flexible dynamic non-deterministic finite state machines in order to implement game rules. These rules can be created using a combination of C++ and scripting in order to implement many aspects of your game.
Game Rules can be used to control the GUI, combat, NPC interaction, quests, and even to add smart AI and behaviors.
You are not required to use these NDFSM's if your game doesn't require them, and you are free to create your own system for implementing game rules.
Example games show a variety of approaches for using a variety of scripted and NDFSM rule combinations.
Cinematics and Choreography
Used in conjunction with the game rules, the Cinematics framework can be used to create complex sequences of cut scenes, or timings for spells and buffs, or for any other variety of game sequences involving time.
Zone Loader
The Zone Loader framework provides for a variety of methods for loading your game.
Very simple script-based
