游戏高度可配置化(一)通用数据引擎(data-e)及其在模块化游戏开发中的应用构想图解
码客 卢益贵 ygluu
关键词:游戏策划 可配置化 模块化配置 数据引擎 条件系统 红点系统
一、前言
在插件式模块化软件开发当中,既要模块高度独立(解耦)又要共享模块数据,最好的方法是有个中间平台(中间件)提供标准的接口来进行数据的交换,这在很多行业软件开发中已经广泛应用。但是,由于中间件的抽象和封装没有具备通用性的前提,使得在实际应用中受到了很大的制约。
本文将以“数据引擎”的概念来阐述通用数据中间件的理论和构成,以及以“通用数据引擎在游戏开发中的应用构想”来作为其的应用范例。
本文主要针对服务端开发,但客户端也可以参考。
二、模块化与插件
有关模块化软件开发的详细介绍这里不再做赘述(网上有很多参考资源[1])。
1、常规模块化
图1
2、插件式模块化(插件开发)
图2
三、通用数据引擎理论与构成
数据引擎是业界常用方法的集合(包含名字系统、数据仓库、条件系统、公式系统、运算集合、流程步骤控制系统、监听系统(数据变化监听和条件监听)、自定义函数系统、Go数学函数库、数据工作站),是为系统数据和模块数据提供统一交互接口的中间件(参考 data-e 源码[2])。
图3 数据引擎结构及数据交互模式
1、名字系统(数据类型)
名字系统是数据引擎的基础核心,它将系统所有数据进行命名和ID编号。
图4 数据名称配置表(可根据分类进行分表配置)
图5 数据ID编码方式
2、数据仓库(数据持久化)
数据仓库为数据提供了标准的Get/Set/Save/Load接口。