打算实现开源网页游戏框架openjpfgame(Java Php flex game),目前实现部分
现在Java游戏服务端框架不少,包括大名鼎鼎《天堂2》游戏使用开源服务端L2_GameServer,以及Loonframework 。但是这只是游戏服务端或基于Java游戏,基本上不能满足网页游戏开发需要(这些框架只能提供部分功能或你需要熟悉这些框架并修改很多地方才能满足自己的需要)。而且这些框架基本上都是服务端,没有提供完整从客户端到服务端一条龙需求。最近事情不是很多,基于这些需求就写这么框架openjpfgame(open java php flex game,开放java flex结合游戏框架),从最前端Flex到最后端服务处理提供比较完整通讯处理功能。并且在openjpfgame中我将从L2_GameServer以及Loonframework中借鉴引入一些它们优点有机结合,比如AI(人工智能),A*寻路算法等。
openjpfgame框架采用现在流行网页游戏结构,由三大部分(语言)组成,Java,Php,Flex。Java负责处理地图,战斗移动以及聊天服务端逻辑处理;Php服务端负责处理WebGame的显示非地图,战斗移动以及聊天逻辑,Flex负责客户端显示以及同Java,Php服务端通讯。下面我将介绍每个部分所引用的框架:
Java服务端主要引入框架(目前已经实现部分):
Spring,Ibatis,Mina(网络通讯框架),XMemcached(高速缓存)
Php服务端主要引入框架:
ZendFrame(php官方权威框架),Amfphp(网页游戏流行通讯协议)
Flex部分(目前已经实现部分):
主要还是自己写的MVC模式(以后可能考虑引入Adobe的mvc框架之cairngorm或PureMVC)
同时在项目中默认引入自带以下服务器支持:
nginx-0.7.65(apache-2.2.14,用户自己选择这两种php webserver,推荐使用nginx,因为效率高嘛,呵呵),memcached-1.4.4,mysql5.2以及Java嵌入式web服务器Jetty(主要考虑到以Web方式监控openjpfgame服务端)。整个架构基本如下: