5.1 开发商对数据的访问方式 26
5.2 框架的解决方案 27
5.3 平台的实现 29
6 面向平台实现的安全性、可扩展性分析 33
6.1 平台的安全性措施 33
6.2 平台的可扩展性措施 41
7 服务开发实例 44
7.1 简单服务实例——在线编译器 44
7.2 五子棋AI对战服务 46
7.3 其他AI服务游戏场景 48
结论 49
致谢 50
参考文献 51
1 引言
1.1 问题来源与现状
传统HTTP协议的Web应用程序在通信灵活性、状态保持方式、功能丰富性、三方插件依赖性等方面存在众多不足,这也使得Web在线平台难以实现很多更为复杂的功能、难以提供更高级的服务。
问题一:能否实现应用范围更具复杂性的在线服务平台呢?
这个服务平台要求能向用户更为多样化的服务,如:AI实时游戏对战。
其中所谓的AI实时游戏对战是指,用户以游戏玩家的角色、借助编程的方式对某种游戏(如五子棋)设计出自己的对战策略,并利用这份策略去尝试在对战中赢得胜利。它要求用户能够在获知当前游戏战局(作为策略程序的输入)的情况下,算出游戏中下一步的应对动作(作为策略程序的输出)。
AI实时游戏对战是一个囊括技术十分丰富的服务类型。它涉及了实时通信、程序的自动化编译执行、游戏战况的绘图展示(二维、三维)等众多要素,因此它在功能全面性上是众多类型服务的典型代表。如果该Web平台具有提供AI实时游戏对战这种综合性技术服务的能力,那么它也十分可能提供其他各种类型的服务。
问题二:能否借助新技术(如HTML5)尝试让AI实时游戏对战Web化呢?
几乎所有的设计者都将AI实时游戏对战实现为桌面应用,其原因在于该类服务对响应实时性、绘图灵活性等各方面性能要求很高,虽然桌面应用还不够开放、跨平台。相对而言,传统的Web应用开发如果不借助各种第三方插件、或者不规范的脚本编写技巧,是很难使其具备较好的用户体验的AI游戏对战作品。文献综述
问题三:能否提出一种简单易懂的模型,使得没有代码能力的用户也可以设计出适合自己的AI对战策略呢?
我们知道,传统的AI对战策略的编写往往是人工代码方式,这一点仍然使得用户范围被局限在具有代码编程能力的群体之中。
1.2 研究内容
对本课题的研究主要解决并肯定前述的三个问题,同时设计出一套面向AI类服务为主、兼容其他非AI类服务的在线服务平台,简称在线AI服务平台。通过应用一定的模型构造AI服务的开发框架,让AI游戏的开发者能够很轻松地设计出AI服务,同时让该作品的玩家可以不编写代码也能实现AI策略的设计。
该平台所面向用户的类型主要分为开发商和玩家,开发商是指利用该平台框架去设计服务的开发人员群体,而玩家是指使用这些服务的普通用户群体。平台将会为开发商们提供服务的开发框架和在线安装、运行服务的环境,如创建五子棋、坦克大战等游戏的AI对战场景,这种服务运行环境也适用于非AI类应用,如在线图像处理、在线绘图工具等。
研究的主要方式采用查阅文献、理论分析、实际对比。
研究过程涉及的研究技术主要包括:
HTML5各种组件的功能、原理(Web Socket、Web Workers、Web Canvas、Web GL、Web Storage、Web Multimedia),三维绘图算法,Java反射机制,JVM安全沙箱,敏感词过滤算法,Struts2,Hibernate,Spring Bean、嵌入式关系数据库等。