实景RPG服务器引擎的设计与实现

实景RPG服务器引擎的设计与实现

论文摘要

实景RPG与传统的网络游戏有着本质的不同。在实景RPG中,玩家扮演某个角色,利用特制的电子道具,完成基于真实环境的游戏任务。现今,实景游戏的研究还处于探索阶段,目前还没有出现被广泛使用的实景RPG引擎。本文针对实景游戏的特点,借鉴了传统网络游戏引擎的设计思路,结合游戏软件对架构灵活性的要求,研究和开发了一个应用于实景RPG服务器端的游戏引擎。由于实景游戏不存在图形图像和人工智能等方面的需求,但需要有丰富的游戏情节做支撑,因此,引擎的设计重点在于提供一组面向游戏应用的接口,使开发人员能够灵活地设计游戏情节。整个引擎使用C++实现引擎内核,Python脚本语言定义游戏中实体的行为,即游戏规则。引擎内核包括网络模块、游戏世界模块以及脚本接口模块。在网络模块中,设计出了一套灵活的处理客户端连接的机制:包括基于policy机制的数据包分析器,使得应用层协议与连接分离;将状态机的思想应用到处理不同的连接状态中,通过改进State模式实现了可回溯的状态机。在游戏世界模块中定义了游戏中的基本实体元素,实现了可配置的属性系统,同时设计了一个灵活的链式逻辑系统来处理游戏中发生的所有事件。在脚本接口模块中通过将Python-C API封装到一组类中,为内核中嵌入Python语言提供了面向对象的接口,实现了自动引用计数,并解决了脚本重新加载的问题。同时定义了为脚本语言提供的操作接口和脚本文件的编写规则。本引擎是构建通用实景RPG游戏服务器端引擎的初步尝试,具有良好的可扩展性和适应性。利用该引擎,开发者可以通过编写脚本,简单快速的向游戏中添加情节。

论文目录

  • 中文摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 背景与意义
  • 1.1.1 实景PRG 游戏理念的提出
  • 1.1.2 开发实景 RPG 游戏引擎的意义
  • 1.2 国内外研究发展现状
  • 1.3 研究内容与论文结构
  • 第二章 实景RPG 引擎的相关技术
  • 2.1 实景RPG 游戏的运行模式
  • 2.2 实景RPG 引擎的相关技术
  • 2.2.1 通信技术
  • 2.2.2 脚本技术
  • 第三章 实景RPG 服务器引擎的总体设计
  • 3.1 网络模块的总体设计
  • 3.2 游戏世界模块的总体设计
  • 3.3 脚本接口模块的总体设计
  • 第四章 引擎中各模块的详细设计
  • 4.1 网络模块的详细设计
  • 4.2 游戏世界模块的详细设计
  • 4.2.1 实体
  • 4.2.2 逻辑系统
  • 4.2.3 定时器系统
  • 4.3 脚本接口模块的详细设计
  • 4.3.1 游戏世界接口
  • 4.3.2 脚本对象管理器
  • 第五章 引擎中各模块的实现
  • 5.1 网络模块的实现
  • 5.1.1 面向对象的Socket 包装器
  • 5.1.2 套接字集
  • 5.1.3 基于 Policy 机制的数据包分析器
  • 5.1.4 玩家状态管理器的实现
  • 5.1.5 监听管理器与连接管理器
  • 5.2 游戏世界模块的实现
  • 5.2.1 游戏世界中实体的实现
  • 5.2.2 属性系统
  • 5.2.3 逻辑系统
  • 5.2.4 实体对象管理器
  • 5.2.5 定时器系统
  • 5.3 脚本接口模块的实现
  • 5.3.1 脚本包装器
  • 5.3.2 脚本对象管理器
  • 5.3.3 游戏世界接口
  • 5.3.4 Python 脚本的组织架构
  • 第六章 引擎系统测试
  • 第七章 结论和展望
  • 7.1 全文总结
  • 7.2 下一步工作
  • 参考文献
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  

    实景RPG服务器引擎的设计与实现
    下载Doc文档

    猜你喜欢