互动游戏数据库资源及研究

1.引言

    互动式游戏适应了人们参与的特点,是今后游戏的发展方向,具有非常大的市场和潜力。由于互动游戏的实时与动态交互性,因而它必须是由快速调用存储介质中的图像、音频、视频等作为角色参与游戏的多媒体数据。但是考虑到自主产权、经济效益、资源空间等因素,现有的游戏软件所采用的方法是用一个文件存储全部的多媒体数据,缺点是不能像数据库系统那样分门别类地、灵活方便地按属性及其索引来快速查找参与的角色数据,其维护也同样存在低效和难度大的问题。因此,本文结合互动游戏的特点,设计一个建立在文件组织基础之上的内存数据库模型,把数据库嵌入到互动游戏中。比起通用的商业数据库来,运行于游戏客户端的数据库模型更加高效。

2.内存数据库的现状和特点

     内存数据库技术开始于1980年,最初的目标就是要解决在电信、金融领域的关键应用系统中大规模内存数据的有效管理问题,到了90年代中后期,因为软硬件技术的进步,内存数据库技术逐渐成熟并走进商用市场。 

互动式动漫游戏体现了游戏玩家参与的特点,但对游戏的实时性要求更高。之所以在互动游戏客户端数据库的设计中采用内存数据库技术,是由内存数据库的特点决定的。内存数据库最大的特点是其“主拷贝”或“工作版本”常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。和磁盘数据库系统(DiskResidentDatabase,DRDB)相比,数据处理速度要快10倍以上。相对于利用程序开发调用内存处理的方法,内存数据库技术也自有其优势。

(1)产品化的数据库管理软件缩短开发周期,保障数据的安全性和完整性;

(2)内存数据库有着开放的平台和接口,程序开发和移植灵活便捷,也便于维护;

(3)可以通过使用统一的SQL语言方便地查询内存中的数据。

3.数据库模型的建立与底层映射机制的实现

    互动游戏需要保存一些在游戏制作过程中预先制定好的数据,因为这些数据是庞大的,因此是没有办法通过网络的传输从服务器端传送给客户端的,只能保存到客户端,需要时能够快速的查找出来。同时,游戏客户端是运行在玩家的电脑上或游戏机上的软件,因此不可能采用商用的数据库来实现数据的存储。在这种情况下,本文利用内存数据库快速访问数据 和占用资源小的特点 ,设计简单,快速而又通用的数据库模型,完成数据的存储和查找,而不会给游戏玩家增加任何费用。该模型的作用及特点如下:

(1)数据库模型专用于互动游戏而建立,通过分析游戏中的动作规则、游戏中角色特点、场景特点、音效特点、情感描述方法,来定义数据库中资源文件信息表的字段,从而有效的提高数据库的效率。在游戏的开发和设计中,要求该原型发挥资源管理器的作用,根据游戏情节需要,游戏开发人员通过信息表负责管理和维护图片、音频和视频等游戏所需资源文件;

(2)为了保证游戏的正常运行,要求内存数据库和游戏程序、资源文件一起打包成游戏的安装程序。玩家进入游戏时,数据库运行在PC机主存上支撑游戏运行,加快游戏中数据存储的速度,使游戏在玩家感觉不到数据库存在的情况下流畅运行;

本文的内存数据库模型的体系结构分为四层,各层的主要功能如下

(1)数据库接口:建立ODBC、JDBC连接;

(2)查询处理:SQL语句解析、优化和执行;

(3)存储管理:事务处理、建立T树索引和内存管理;

(4)物理存储:数据库备份、建立数据库内存表与硬盘数据映射。

同时,图片、语音、视频等资源文件包含游戏所需的多媒体素材,在数据库模型底层,以图片文件为例,针对数据的插入、删除和查询操作,建立与存储在Resource目录下的资源文件如下的映射关系。最终实现通过数据库功能来保存和管理游戏需要的大量多媒体素材,使得游戏具有可伸缩性和变化性,以增强游戏的互动效果。

4.可视化数据维护和管理

    因为本文中的数据库模型是从数据库的底层开始,根据游戏的特殊性来建立一种互动游戏专用的数据库模型。为了方便游戏开发人员使用,如图3所示设计可视化操作工具帮助游戏开发人员完成以下工作:

(1)通过对文件插入、修改、删除和查找可视化操作完成数据库表中数据的更新和修改;

(2)数据库的备份、重启等可视化维护;

(3)数据的“即插即用”,即实时显示和播放已经插入的图片、音频和视频文件。

可视化工具建立在数据库模型之上,通过接口函数,将相关操作映射成SQL语句。在数据库模型中,依次执行SQL解析与优化,生成SQL执行计划,最式游戏中对数据库的内容进行增加、修改以及查询并以其结果替换产品中的角色、场景、音效、语义、动作规则、情感描述等等必要的道具来增加游戏的多彩性、趣味性和资源共享性,允许玩家更大程度上参入到游戏中。

5、总结

    AnyChat游戏视频”国内首套专为在线游戏设计的语音视频引擎,在国内首次将H.264视频编码技术应用到在线游戏中,语音视频数据流采用P2P技术传输,大大减轻了对服务器的网络带宽压力。提高游戏的响应速度,满足游戏的互动性需要。为游戏平台增加稳定新颖元素,使游戏产业更上一层楼!

相关推荐