摘要:目前网页游戏已成为网络游戏的主流产品。而网页游戏所使用的开发技术也成为研究的热点。基于RIA平台的网页游戏软件。使用了当今流行的FLEX开发技术。其游戏的动画使用FLASH制作,通过AetionScript实现调用;画面层的管理,由AetionScript提供的功能来实现;消息数据以AMF格式封装,客户端与服务器的信息交互则采用线程通信技术。在对目前网页游戏常用开发技术进行综合比较的基础上。使用FLEX技术开发的网页游戏能够极大地提高用户体验。
关键字:
RIA:RIA是RichInternet Applications的缩写,翻译成中文为丰富的因特网应用程序(Macromedia中文网站翻译为Rich Internet应用程序)
1. 网页游戏
网页游戏又叫无端网游。简称Web游戏。其特点是不需要象传统游戏那样。需要下载客户端软件,而仅利用浏览器平台运行游戏。Flash技术的出现促进了网页游戏的流行,特别是丰富互联网应用技术-RIA技术,为网游提供了丰富的表现手段。网页游戏具有如下特点:
1) 瘦客户端
2) 可同时进行IM聊天
3) 电脑配置要求低
4) “绿色”游戏,不需要对电脑添加任何信息
5) 支持多平台Windows,Linux,Mac等
网页游戏分为两种:低端网页游戏和高端网页游戏。
低端网页游戏:由网页语言PHP/ASP/JSP/.net/Javaseript/Vbscript等软件开发。界面比较原始,游戏时与玩家的交互需通过浏览器刷屏实现。
高端网页游戏:由Flash、Flex和Java等软件开发,游戏可在无刷屏的情况下实现玩家与游戏交互,能够实现客户端网络游戏的画面,支持多媒体。
2. 网页游戏的开发技术及比较
a) 开发技术
1) ASP技术 ActiveServer Page(ASP)意为“动态服务器页面”。ASP是微软公司开发用来代替CGI脚本程序的编程工具,常用于设计动态网站。ASP脚本集成于HTML中,无需编译可直接解释执行、独立于浏览器(能解释HTML码的浏览器即可浏览ASP网页)、保护源码(ASP脚本在服务器上执行,传到浏览器端的只是ASP执行结果所生成的常规HTML代码)。
2) PHP技术 HypertextPreprocessor(PHP)意为“超级文本预处理语言”。PHP是一种在服务器端执行的嵌入HTML文档的脚本语言,风格类似C语言,应用广泛。PHP与CGI或Perl相比,能更快速执行动态网页。PHP是将程序嵌入到HTML文档中去执行,跨平台性强,程序开发快,执行效率高,可编译以达到加密和优化代码,支持几乎所有流行的数据库以及操作系统。
3) Ajax技术Asynchronous Javascript and xml(Ajax)意为“异步JavaScript和XML”。Ajax是一种创建交互式网页应用的网页开发技术,它不是一个新的编程语言,而是一个编程技术。Ajax的最大优点就是能在不刷新整个页面的提前下更新数据,使得Web应用程序更为迅捷地响应用户的交互需求。
4) Flex技术 Flex是Adobe公司最新的服务器端产品。该技术提供了一个新的、基于标准的语言和编程模型,其编程模型支持常用的设计模式,能够使用企业创建许多有吸引力的、交互的快速应用,增强了用户对网页的体验。传统网页游戏开发的局限是表现层受到一定的约束,而Flex技术能轻松地解决这一技术难题。例如网游Small World就是基于Flex技术开发的。
5) JSP技术 JavaServer Pages(JSP)是一种动态网页技术标准,它可在传统的网页HTML文件(*.htm,*.html)中插入Java程序段和JSP标记,其生成内容的逻辑被封装在标识和JavaBeans组件中,所有的脚本在服务端运行。可重用的组件(JavaBeans或者Enterprise JavaBeansTM组件)能够执行应用程序所要求的更为复杂的处理。由于Java在移植性、扩展性、多线程方面的特点使它成为目前许多网页游戏的开发语言。由Java技术开发的高端网页游戏,能处理各类与服务器的交互和复杂图形,开发大型网络游戏。例如:目前国内游戏《倾城》就是一款基于Java语言开发的游戏。
b) 开发技术比较
技术特点 | Asp/Html | PHP | Flex | JSP |
开发语言 | Asp/Vbsript/Jscript | Php | ActionScript | Java |
编译 | 否 | 否 | 是 | 是 |
运行效率 | 慢 | 一般 | 一般 | 快 |
维护性 | 差 | 一般 | 好 | 好 |
数据传递方法 | Response.Redirect | Session | Http Context | Session |
Cookies | Cookies | RemoteObject | JavaBean(set,get) | |
Session | Get | WebService |
| |
HttpContext | Post |
|
| |
网站开发 | 小型 | 中小型 | 大型 | 大型 |
开源 | 否 | 是 | 是 | 是 |
特点 | 脚本语言简单 | 数据库连接 | 控制Flash播放 | 内容的生成和显示进行分离 |
支持ActiveX服务器组件 | 面向对象编程 | 表现层界面更友好 | 强调可重用的组件 | |
|
|
| 采用标识简化页面开发 | |
后缀 | .asp/.html | .php | .swf | .jsp |
|
|
|
|
|