TracNav
Overview
- Introduction
- Credits and Contributors
Zen Core
Zen Engine
Zen Enterprise
Miscellaneous
Contents
Zen :: Plugins
The top level projects such as Zen Core, Zen Engine, Zen Studio, and Zen Enterprise are all frameworks that utilize the Zen Core plugin system.
The frameworks define extension points, which are points that can be extended. Plugins implement these as extensions.
This page is dedicated to what we call the "Z" plugins, which are plugins supported and maintained by IndieZen.org developers. There may be third party plugins, and you're also welcome to write your own. Feel free to redistribute your own plugins commercially or as open source. If you'd like your plugin to become a "Z" plugin and part of IndieZen.org, please contact SgtFlame.
Zen Core Plugins
The only extension point currently supported by Zen Core is the Scripting extension point. Current plugins include:
| Plugin | Description | Status | Maintainer |
| ZLua | A Lua scripting plugin. | Stable | Tony |
| ZTamarin | A Tamarin (aka ActionScript) scripting plugin. | Under development | Tony |
| ZPython | A Python scripting plugin. | Stable, missing a few features. | Tony |
Zen Engine Plugins
Zen Engine supports many extension points, including Physics, Rendering, Resource Management, Audio, CLI (command line interface), and others. The "Z" plugins for Zen Engine are:
Zen Engine CLI
| Plugin | Description | Status | Maintainer |
| ZBasicCommandLineParser | A basic CLI (Command Line Interface) parser plugin. | Stable | Matt |
| ZBasicConsole | A basic Console plugin. | Stable | Matt |
Zen Engine Rendering
| Plugin | Description | Status | Maintainer |
| ZOgre | An OGRE rendering plugin. | Stable | Matt, Tony |
| ZSky | A basic Skybox plugin. | Stable | Matt |
| ZTerrain | A basic terrain plugin. | Stable | Matt |
| ZCam | A basic custom camera plugin. | deprecated | none |
| ZCloud | A cloud rendering plugin. | Under development | Matt |
Zen Engine Widgets
| Plugin | Description | Status | Maintainer |
| ZCrazyEddie | An CEGUI widget plugin. | Stable | Matt |
Zen Engine Audio
| Plugin | Description | Status | Maintainer |
| ZFMOD | An FMOD Sound plugin. | Under development | Az |
| ZOpenAL | An OpenAL sound plugin. | Under development | Az |
Zen Engine Input Devices
| Plugin | Description | Status | Maintainer |
| ZInput | A basic input plugin (keyboard/mouse). | Stable | Tony |
| ZNavigator? | A plugins for 3dConnexion devices | Not maintained (as of 0.1.0) | Tony |
Zen Engine Physics
| Plugin | Description | Status | Maintainer |
| ZNewton | A Newton physics plugin. | Stable | Azaezel |
| ZPhysX | A PhysX physics plugin. | Incomplete | Needs a maintainer |
| ZODE | An Open Dynamics Engine physics plugin. | Incomplete | Tony |
| ZBullet | A Bullet physics plugin. | Incomplete | Matt |
Zen Engine Misc
| Plugin | Description | Status | Maintainer |
| ZCollada | A Collada import/export plugin. | deprecated? | was Matt |
| ZRakNet | A RakNet networking plugin. | Abandoned? | Needs a maintainer |
| ZMicroPather? | An A* pathfinding plugins using MicroPather? library | Stable | Tony |
Zen Enterprise Plugins
Zen Enterprise supports extension points for protocol adapters and for application services.
Zen Enterprise Databases
| Plugin | Description | Status | Maintainer |
| ZMySQL | A MySQL database plugin. | Stable | Matt |
| ZPostgres | A Postgres database plugin. | Incomplete | Needs a maintainer |
| ZSQLite | An SQLite database plugin. | Stable | Tony |
Zen Enterprise Adapters
| ZBoostNetworking | Protocol Adapter plugin using Boost ASIO | Stable | Tony |
Other Zen Enterprise application services
| Plugin | Description | Status | Maintainer |
| ZWebServices? | Sample Web Services plugin | Stable | Tony |
There are a large number of other application services related to Zen Worlds and Zen Studio. I'll list them in those areas instead of creating duplicate listings.
Zen Studio Plugins
Zen Studio plugins are separated into multiple libraries. Some of the libraries are generated code, while others are manually written.
The reason these are separated is to split the functionality into client and server libraries to have common libraries which are common between both client and server.
For example, for the GameBuilder? plugin, there's:
- GameBuilder? - All of the GUI code that uses wxWidgets.
- GameBuilderClient? - The application service plugin that implements the client logic.
- GameBuilderServer? - The application service plugin that implements the server logic.
- GameBuilderProtocol? - The protocol library that implements the messages that are sent between the client and server. This library is generated using the Zen Spaces protocol code generator.
- GameBuilderModel? - The database model library that implements the object to database mapping. This is used for reading and writing the database and converting between the database model and C++ objects.
- GameBuilderCommon? - This is the common library, which generally has no implementation. It's used to define the interfaces that are implemented in the other libraries.
| Plugin | Description | Status | Maintainer |
| GameBuilder? | Game Entity Editor | Stable | Tony |
| WorldBuilder? | World / Zone Editor, which is like a scene graph editor except it uses GameBuilder? defined objects and does not directly use .mesh files. | Deprecated? Possibly going to use Ogitor instead. | Tony |
| ArtLibrary? | Mesh and Audio distributed file repository. | Under development | Matt + Tony |
Zen Community Plugins
Zen Community implements some application services related to making a community for games. These plugins are arranged much the same way as Zen Studio plugins, with Client, Common, Protocol and Model libraries.
| Plugin | Description | Status | Maintainer |
| Chat? | Chat service | Under development | Tony |
| Lobby? | Game Lobby service | Under development | Tony |
| Session? | Game Session service, which essentially controls user accounts, authentication, etc | Under development | Matt + Tony |
Zen Worlds Plugins
Zen Worlds implements some application services related to making an online virtual world or MMO game, but it can also be used for other online games. It does not define any genre specific details so although it supports MMO games, it does not specifically support MMORPG games.
Zen Worlds libraries are also arranged in Client, Server, Protocol, Model libraries.
| Plugin | Description | Status | Maintainer |
| World? | Main Zen Worlds service. This is the top level "server" or "shard" service. | Under development | Tony |
| Zone? | This is the zone service which implements the individual zones, maps, mission, level, etc services. | Under development | Tony |
| ZWGameClient? | Zen Worlds Game Client. This is the main game client that exposes the bulk of the rest of the services to script in order to facilitate creating games without C++. | Under development | Tony |
