LightSpeed经常提及三个角色概念,分别是美术,程序及游戏设计者。基于LightSpeed提供的框架和技术,这三类角色人员都可以快速开发和迭代开发,包括游戏设计,关卡设计,玩法机制,核心逻辑等。
LightSpeed包括以下特性:
(1) 实体和行为系统
* 数据驱动的实体定义:实体由属性和行为(Script脚本)组成,使用数据文件进行定义,由此支持广泛的原形开发和迭代开发,而不用编译程序;
* 实体组合:实体系统为实体模型提供了面向对象的图表。实体模型集成使用了类似于Ruby的机制,从而允许通过扩展和特例化来重用;
* 多语言控制行为:允许通过lua,C++来控制实体行为,同时也在一些平台上集成了Python,另外,几乎所有的语言都可以用来控制实体行为,比如SWIG。
(2) 跨平台的游戏框架
*模拟:LightSpeed的实体调度程序管理事件(调用行为所需)。调度的实现独立于实体和行为系统,开发者可以开发自己的调度程序。
*实时编辑 这个其实也不是新概念了,所见即所得流行已久。在Toolbench中的编辑结果可以发上作用到运行的Instance中,但效率有些低下,我的机器配置很不错了,但还是占了大量的CPU资源。
*第三方技术整合,为了快速开发原形和迭代所需,集成了不少第三方技术。
(3) 工具集
包括了插件式使用的设计开发平台Toolbench,实体建模工具(EMT)插件,世界构建工具(World Builder),脚本debug工具和为Maya提供的快速粒子迭代设计插件。
(4) 核心运行时库
包括优化的多线程内存申请,Shader导向的渲染和渲染优化(主要是根据Shader和State进行分集,这样较少切换开销)