ParaEngine 特性列表

ParaEngine是一个3D网络游戏以及社区的开发平台(引擎). 点击查看产品演示


特性1: 一个引擎, 一种语言 (One Game, One Language)

和其他游戏引擎中的脚本语言不同, NPL[Neural Parallel Language]] (NPL) 的地位不是处理简单的游戏事件或UI, NPL是全部。 我们已经有超多50万行NPL基层代码, 30万行注释。 在ParaEngine中NPL无处不在,无论开发客户端,复杂的分布式服务器, 还是IDE编辑工具, 你不再需要另外一种语言了。 One Game, One Language 极大的降低了团队内的学习成本(同一个程序员可以参与更多环节的开发, 团队内的编程经验可以共享);简化了分布式应用(例如高度并行和多线程的Game Server)的开发难度;最大的共享数据,代码与逻辑(比如Client/Server, 比如产品/工具);提高了整体程序性能;方便调式; 允许多人团队(新老成员)更高效的合作开发。

好吧,我们不只支持NPL,我们还支持C++, C#, Mono .Net. 但是这些语言往往被看成是对NPL语言在特定领域中的扩充。 在C++, C#, Mono中有全部ParaEngine API,支持NPL中的多线程通讯原语,与异步编程模式,所有语言都运行在NPL 运行时环境中(NPL runtime),可以动态加载和彼此通讯。

特性2: 开发工具的工具 (Tools to build tools)

大多数游戏引擎都有自己的固定的集成开发环境与工具,这些工具往往不是开源的,或者需要很高的价格才能得到代码, 即使得到了,也很难修改。 这些工具越通用,就越复杂。然而开发一个有特色的产品,往往需要内容开发团队制作自己特有的开发工具, 满足特殊的需求或者提高某方面的开发效率。 ParaEngine也必须提供必要的开发工具,但是我们的工具定位是“开发工具的工具”。我们也是首个使用Visual Studio 2010 Shell作为容器的集成开发环境。 Visual Studio Shell有免费和付费两个版本可以使用,这是90%的中国程序员使用和最为熟悉的开发环境。 Visual Studio里面集成了NPL的调试工具(是的,你可以像调试C++一样调试NPL, 甚至更多),它还集成了所见即所得的3D编辑环境。 最最重要的是这个编辑环境全部是用NPL编写的, 你可以修改, 或开发自己的编辑器, 享受VisualStudio中自动产生的属性编辑界面,和3D编辑界面。 采用数据绑定的方式, 游戏开发者可以用NPL快速的开发出属于自己的编辑器,并完美的集成到VisualStudio中。 当然你也可以用C#, WPF等开发工具组件,除非你有很特殊的开发需求, 我们应该已经提供了99%的常用数据绑定控件。



Supported OS:

Windows XP/Vista/7


DirectX 9.0C


C/C++ (VC 9)


Graphic engine:

  1. 3D scene management and rendering system, supporting 40,000m*40,000m continuous game world. It is suitable for RPG games with super large continuous map, many globally movable characters, complex scene triggers and story design.
  2. dynamic portal system: mixing room based indoor environment with outdoors.
  3. Advanced programmable pipeline for all renderable objects in the scene.
  4. Flexible shader management on a per object basis. One can dynamically change the shader program of any scene objects on a per frame basis.
  5. Fixed function pipeline support, which allows the game engine to run on older machines while retaining most of the graphics qualities. It can be mixed with the programmable pipeline to adapt to a wide variety of graphics cards on the market.
  6. Hardware-occlusion testing can be turned on in the rendering pipeline, if there are a huge number of small yet dense models in the game scene.
  7. Tile based ROAM/CLOD terrain engine. Because it is tiled, there is no limit to the size of the terrain. Terrain holes can be created dynamically, which allows game developers to build caves, tunnels or underground world directly in the same global terrain environment. In-game terrain editing supports height field modifications, unlimited multi-texturing on terrain surface, auto-breaking super large terrain texture files in to smaller ones, fast ray-tracing on global height field.
  8. Voxel mesh support
  9. FFT based ocean wave simulation with reflection and refraction mapping for both above and underwater scenes. Supporting real time shorelines and underwater scene blur effect.
  10. Unlimited ranged light sources can be put anywhere in the game world.
  11. Robust shadow system: supporting both shadow volume and shadow mapping at the same time.
  12. Game resource management system: textures (dds, png, tga, bmp, jpg), 3D objects (x file, ParaX file), 3D skeletal animation (X file, ParaX file), effect file (FX file), sound (wav, mp3), virtual file management (zip), database file management, collada reader.
  13. A comprehensive 2.5D GUI engine, fully scriptable through the NPL language. Drag and drop controls, scrollable containers, multi-state buttons, list box, slider bar, grid view, AVI video player, edit box, IME edit box supporting various language input methods, supporting GUI objects attached to 3D scene objects.
  14. MCML/NPL renderer allowing you to develop game UI the same way as HTML/JAVA.
  15. Skeletal animation with customizable character appearance and reconfigurable equipment, such as hair style, skin color, clothes, etc. Settings can be made persistent by the pre-designed database. Supporting BVH motion capture export for biped based skeletons.
  16. Level of detail support for any character or mesh.
  17. Particle system supported.
  18. Three customizable follow cameras modes and one free camera mode. The camera will automatically position itself to avoid collision with the view frustum and the physical environment.
  19. In-game movie recording in any movie format, such as AVI.
  20. Fast mouse ray-picking with 3D scene objects.
  21. [Effect] global sunlight and skydome simulation. It will affect shadows and scene illumination.
  22. [Effect] per-pixel lighting and fog can be turned on in each model shader.
  23. [Effect] For each renderable object, some other effects can be dynamically applied to it when necessary, such as object construction shader, occlusion shader, shadow mapping shader, etc.
  24. [Effect] Cubic environment map, animated texture, reflective texture, light map on a separate UV set, all of which can be exported to the game engine.

Scripting engine:

  1. The build-in scripting engine is powered by NPL language. It mimics the functioning of neural networks and codes the logics of distributed game world into files that could be deployed to arbitrary runtime locations on the network.
  2. In the NPL programming environment, it makes little difference between developing network applications and stand-alone ones.
  3. All API of the game engine are exposed through the scripting interface, including GUI, game events, 3D scene management, AI game logics, resource management, networking, database queries, etc. It is possible to develop a traditional RPG game through the scripting interface only. The scripting interface is well documented with over 100, 000 lines of source code examples.
  4. A rich set of libraries are developed using the scripting language, covering rich HTML renderer, networking, AI, Game Logics, and more.
  5. Coding both client and server side logics with the same scripting language and libraries.

Middleware support:

  1. Polygon level physics effect middleware support [optional]: Novodex [Havok, ODE]

AI, physics, and others:

  1. Fast character simulation engine. It supports a large number of characters on a vast continuous game world (as long as 32bits floating point position vector do not lose accuracy). It integrates well with the global terrain and ocean engine. It provides interfaces for path-finding, perception, collision detection and response. It supports ray picking based character controller. For each character, quite a few character sensors can be turned on to process custom character AI logics in the NPL script callback functions.
  2. AI controllers: multiple hard-coded AI controllers can be parameterized and combined with each other or with character sensor scripts to efficiently emulate convincing AI behaviors. Supported AI controllers are: (1) Movie controller: it can record and replay character actions in a time accurate manner. This is an easy way to build in-game character cinematic. (2) Sequence controller: a list of AI commands to be executed one or several per frame. It can be used to perform general NPC logics such as patrolling, dialoging, etc. (3) Combat controller: such as attack, evade, flee actions. (4) Face tracking controller: rotate the character's neck to face a target. (5) Follow controller: follow another object.
  3. Biped state manager. It is a finite state machine which applies jumping, walking and swimming animation, etc and their transitional animations automatically, according to the physical environment.
  4. Mount system: characters can be mounted on other characters, such as a person be ing mounted on a horse.
  5. Local database support, supporting most SQL-92 standard.
  6. Debugging and logging can be turned on which tracks all aspects of the game engine status.
  7. [Game object] missile object. Firing a missile to any place in the game world.
  8. [Game object] D&D based RPG character object. Character attributes are exposed through the scripting interface and character data is made persistent by the database. This is a helper game object for building simple RPG game.

Tools and libraries:

  1. 3dsmax7&8 model exporters: both static and animated models are supported. Characters with multiple animation sequences are also supported.
  2. 3dsmax terrain, scene exporters: this is written in 3dsmax script, and we allow users to modify the source code to suit their needs in their own specific level design tools.
  3. Virtual world builder: This is a simple to use in-game game development environment. It comes with a free collection of game art data. There are no sophisticated interfaces in it; even children can learn to play with it. One can create a huge 40,000m*40,000m game world by just mouse clicking and editing simple game events (the latter is only for serious users). Editable entities in the world builder includes: terrain, ocean, models, characters, GUI, sounds, lights, scripts, etc. It also supports a powerful feature called world inheritance, in which a new world can be built by inheriting from multiple existing game worlds. Virtual world builder is written entirely by our proprietary NPL scripting language and we allow users to modify the source code to suit their needs in their own specific level design tools. Chinese version only. English version is planned at the end of 2008.
  4. In-game movie recorder: with source code in NPL
  5. In-game HTML/MCML renderer: with source code in NPL
  6. NPL syntax highlighter for visual studio.
  7. Third party tools: alienbrain or subversion for version control, deep exploration (3D model viewers), sqlite tools(database query builder), ultra edit (optional script editor).
  8. The game engine functionalities can be extended or customized through three set of API: (1) NPL scripting system (2) C++ API (3) .Net Framework API.
  9. ParaIDE: another IDE of the game engine completely written in C# using the ParaEngine .Net Framework API. Source code available.

Documentation and support:

  1. NPL scripting reference: (2000 pages) English version only.
  2. "ParaWorld" tech demo: It is a virtual world product, built on top of ParaEngine.
  3. Art pipeline: recommended process for game art development.
  4. Book "Design and Implementation of a Distributed Game Engine": (approx. 350 pages) written by the main author of ParaEngine. Available in print. English version only.
  5. ParaEngine design documentation: (approx. 3000 pages) only available for enterprise edition users. English version only.
  6. Website forums:


ParaEngine is a distributed 3D computer game engine. It aims to develop online games, where the game world content and logics are distributed and evolving.


To be released in three editions:

  1. Personal Edition: ( Free of charge) Users can take the full advantage of NPL scripting language to construct their own virtual game world. The following is also available: source code of virtual world builder written in NPL language, documentation and tutorials of NPL, most ParaEngine related tools and libraries. It can be used for non-commercial uses and commercial uses with some limitations. Available now.
  2. Professional Edition: The personal edition plus partial source code of the game engine (including all tools' source code) and technical support. Available now.
  3. Enterprise Edition: The professional edition plus source code of the game engine and technical support. We can also modify the game engine according to your needs. Available now.

Copyright © ParaEngine Corporation 2009 All Rights Reserved 派瑞安擎公司 版权所有。粤ICP备12027041号