复杂用户界面制作设计三方合作方式的优化与研究

2011-07-29 08:33念1赖雅琳1敏2
图学学报 2011年1期
关键词:用户界面脚本引擎

段 念1,赖雅琳1,李 敏2



复杂用户界面制作设计三方合作方式的优化与研究

段 念,赖雅琳,李 敏

(1. 华侨大学机电及自动化学院,福建泉州 362011;2. 育碧电脑软件有限公司,上海 200000)

随着高性能芯片以及高速网络等硬件条件的快速发展,游戏中用户界面的开发变成一件越来越繁琐的工作,通过分析传统复杂游戏软件用户界面设计方法的缺陷,根据现有情况进行了改进和优化,提出了改进思路和构架的实现,经试验证明,该方法可以大大减少了复杂界面开发的时间。

计算机应用;脚本语言;界面设计;三方合作

近年来,随着高性能芯片以及高速网络等硬件条件的快速发展,电脑游戏也进入了前所未有的繁荣和大发展的时期。在这一时期各种新技术新变革中,与用户交互最密切的用户界面是最显著最困难的革新之一。其困难主要来源于前后两个时期对用户界面开发要求的巨大差距。

变革之前的用户界面受制于多方条件,并不是游戏的关键所在,因此投入的技术与研究相对有限,表面上体现为开发过程中使用简单的开发工具,而且要花费较长的开发时间。而在多种约束解除之后,开发者决心充分发挥新硬件的多种机能。希望可以制作更人性化交互的游戏,全新的游戏模式(例如角色扮演混合即时战略)等,而这些先进的设计思想都需要有一个完善的用户界面。然而,开发者却发现原有的用户界面开发方式因自身的限制难以高效简明的支持新的设计要求,其已严重阻碍了新游戏的开发。

用户界面的开发主要涉及到三个方面的开发人员,设计人员、美工人员、程序人员。设计人员给出用户界面的设计思路,从游戏开始的各种模式选择、存档查看、功能选择等页面流程,到游戏进行过程中的交互表示、消息显示,以及结束之后各种统计信息的组织与安排。美工人员根据设计人员的设计文档制作好程序员需要的各种数据文件,例如页面的排版,按钮的式样,消息提示的动画等。程序人员最后将各方资源整合进游戏。这三方人员合作完成游戏的用户界面的制作。

1 传统用户界面设计的思路与构架

由于受局限于硬件性能以及用户显示终端(电视机、显示器)条件(如分辨率不高),以微软Xbox与索尼PS2为代表的游戏平台上,游戏都倾向于提供简单的用户界面。在硬件上,过多以及华丽的用户界面会带来性能上的负担。在显示终端上,低分辨率也难以显示丰富的内容给用户。因此,这个时期的游戏界面相对简单和朴素。

1.1 具体的框架思路如下(需求分析与解决)

建立一个用户界面引擎,界面引擎主要由两部分构成,一是图形模块,二是事件响应模块。图形方面,图形编辑器与实时渲染合用界面引擎的图形模块,编辑器本质是界面引擎图形模块功能的GUI表示。事件响应模块使用设计模式中的bridge模式,根据不同的事件,每个页面调用在该页面注册过的回调函数。如图1所示。

图1 传统的用户界面设计流程图

1.2 构架(实现)

用户界面引擎的中心是一个栈。栈内的页面将根据在栈中的顺序,被绘制,更新,以及接受各种事件(如用户按键)。每个页面调用注册的回调函数,因此也需要相应的类来管理回调函数。实际应用时至少需要三种类型的管理类(handler),分别是drawhandler(管理渲染的回调,如predraw,postdraw),pagehandler(管理页面事件的回调,如页面的进栈,出栈,被置顶,被遮盖),eventhanlder(管理定制事件的回调,如按键、网络消息等)。

1.3 三方合作方式

设计人员通过文档给出要求,从页面的流程关系到内容安排。设计人员在这个阶段只给出用户界面的概述。制作完全依赖于美工人员与程序人员。

美工人员根据文档,首先设计页面风格、按钮式样、制作贴图。然后根据程序人员的建议制作相应的页面动画与特效,例如文字效果、混合模式等。美工人员完全依赖程序人员,增加任何新的页面特效都需要程序员提供支持。每次新特效的增加都至少经过可行性与需求分析、流程设计、编码测试、维护再改进等几个步骤。这样漫长的过程无疑会显著降低美工人员的工作效率。

程序员根据文档编写每个页面的回调函数,处理每个按键的相应,每个页面进栈、出栈的处理(如在页面进栈的时候,将页面的内容设置好)。并根据美工要求调整、增加用户界面引擎图形部分的功能。

1.4 传统方法存在的问题

原有开发方式的落后的体现在于开发的难度加大以及开发的周期延长。而造成这样的情况是因为之前的开发模式不仅没有充分协调三方开发人员,反而带来了混淆,设计人员与美工人员都严重的受制于程序人员,而程序人员因为承担了太多的工作,需要处理太多的事情又反而会被降低工作效率。因此,在新的用户界面开发方式里,要解决的问题就是调整三方开发人员的工作方式,降低彼此之间的依赖,提高各方的工作效率来适应新的开发要求。

2 优化与改进

随着次世代游戏机的兴起,如微软的Xbox360,索尼的PS3,在带来强大计算能力的同时,也颠覆了很多传统的游戏制作方式与方法,例如以前的游戏引擎多是单线程,既串行处理。而次世代游戏机都是多核心处理器,并行处理成为主流。其中,人机界面也是受影响非常大的一个方面,具体体现在两方面:第一,硬件性能的提升,不仅让游戏可以容纳更多的内容,如更多的人物,更多的事件,这些都需要用户界面给出相应的表示;也能提供更广阔的平台,制作更多类型的游戏,例如以前的游戏类型比较集中在第一人称射击(FPS),等。现在次世代上已经出现了以前没有的RTS类型,以及多种类型结合的情况。这也要求用户界面设计方法求同存异,既能提供具有普适性的流程方法,又能留下丰富的扩展空间,适应各种特定的需求。第二,配套设备的升级,也要求用户界面做出较大的革新。例如,高清晰电视的普及,可以给用户界面提供更多的显示空间,而如果有效利用,也需要反复的设计与改进,这又是之前用户界面构架主要的缺陷之一。

2.1 具体的框架思路如下(需求分析与解决)

现有构架的局限性主要因两方面引起,既用户界面引擎的两个组成部分,图形模块与事件响应模块。图形模块的局限性是无法快速解决美工对新功能的需求;事件响应模块的局限性是没有建立一套规范成熟的图形模块功能函数的API,无法让设计人员完全参与脚本的编写。解决这两方面的局限性,需要调整用户界面引擎的角色与功能。用户界面引擎图形模块应避免做重复的工作,可以使用现有成熟图形工具软件核心(如flash),将其某些与游戏相关的功能(例如材质与内存的管理方式,混合模式的实现等)做修改或延伸;在事件响应模块上,需要提供一套完善的图形模块API给设计人员使用,让程序员无需再参与脚本的编写。同时肯定消息响应机制在降低通信双发耦合性的成功,在新构架下充分发挥其优势,作为脚本与游戏引擎通信连接的中间层。图2为改进后的设计流程图。

图2 改进后的设计流程图

2.2 构架(实现)

构架的实现采用的是lua脚本语言,利用分形上的曼德布洛特集合算法的小程序比较了十几种脚本语言包括Io, Python, Lua, Java, C qcc,SBCL,Ghostscript等的各方面的综合性能后,选择了lua脚本语言,界面引擎的基于Adobe公司的Flash Lite 3.0 SDK平台上开发的,使用该平台的原因是界面设计师现在都是使用Adobe Flash CS3 Professional编辑器,这样一来就能够大大提高平台的移植性。图3为各脚本语言的响应时间及速度等的图表的部分截图。

图3 各脚本语言的响应时间及速度等的图表

用户界面引擎与游戏核心引擎在逻辑上分离,界面引擎提供原生的脚本支持,包括事件响应模块整合脚本管理模块,图形功能模块提供完善的图形功能API。在逻辑上,界面引擎只与脚本发生调用。中间件只留下消息处理部分,成为一个负责脚本与游戏核心进行通信的虚拟机。

2.3 三方合作方式

三方之间的合作将变得松散,彼此的依赖降的很低。对于设计人员来说,主要任务是设计用户界面中的流程。在与程序员完成消息的统一制定后,能独立并完成大部分用户界面的制作,例如数据如何表示、页面的跳转流程等等。设计人员可以独立完成页面制作、修改、完善、更新。而美工人员则使用已有的成熟的第三方图形工具制作用户界面,不再需要程序员来增减功能。程序人员将把重点转移到对用户界面传递的特点消息的维护,无需再花费大量精力在数据的表现上。图4为三方之间的关系示意图。图中红色与粉色部分则属于界面引擎自动完成的部分。

图4 三方间连接关系示意图

3 小 结

改进后的模式最重要的是改变了程序人员在用户界面制作过程中位置。设计人员与美工人员的工作无需再依赖于程序人员。有用户界面引擎提供的脚本支持,设计人员可以完全使用图形模块提供的全部功能;而美工人员可以使用成熟的第三方软件制作用户界面资源;程序人员也可以从繁琐的用户界面细节工作中解脱出来。这样解除三方人员的制约之后,项目的进度能得到很大加速。而且无需编译,方便修改。支持动态载入,能够在运行同时重新载入修改过的脚本,提高工作效率。通过对功能函数的合理封装,让设计人员也能参与较简单页面代码的编写。但仍需依赖第三方图形软件,脚本带来的性能的损失依然存在。

[1] 陆其明. 脚本驱动的应用软件开发方法与实践[M].北京: 清华大学出版社, 2006. 106.

[2] 张承忠, 李 敏. 脚本语言在复杂用户界面制作中的应用研究[J]. 信息技术与信息化, 2007, (3): 48-51.

[3] [韩]全 洪. 网络游戏服务器编程[M]. 申玄京译. 北京: 人民邮电出版社, 2006. 291.

[4] 阚红星, 龚育昌. 一种基于GUI的测试脚本开发环境[J]. 计算机系统应用, 2005, (1): 43-47.

[5] [美]Jennifer Preece, Yvonne Rogers, Helen Sharp. 交互设计——超越人机交互[M]. 刘晓晖, 张 景等译. 北京: 电子工业出版社, 2003. 354.

[6] [美]Alex Varanese. 游戏脚本高级编程[M]. 陈 洪译. 北京: 清华大学出版社, 2006. 63.

Optimization of Triple-side Cooperation in the Complicated Customer Interface Design

DUAN Nian, LAI Ya-lin, LI Min

( 1. College of Mechanical Engineering and Automation, Huaqiao University, QuanzhouFujian362011, China;2. ubiSoftware Corporation, Shanghai 200000, China)

With the high-speed development of high-performance CMOS chip and hardware condition, the traditional customer interface design becomesa very troublesome work.This paper analyzes the limitation of the traditional customer interface design method and the optimization of designing customer interface in the complicated game. Experimental results shows that the adoption of this method can greatly reduce the time consumption of complicated interface cooperation.

computer application; the script language; interface design; triple-side cooperation

TP 391

A

1003-0158(2011)01-0094-05

2009-07-20

华侨大学校级自然科学基金资助项目(07´0135)

段 念(1981-),女,福建福州人,讲师,硕士,主要研究方向为计算机图形学及其应用。

猜你喜欢
用户界面脚本引擎
酒驾
基于CiteSpace的国外用户界面体验图谱量化分析
新海珠,新引擎,新活力!
安奇奇与小cool 龙(第二回)
物联网用户界面如何工作
三生 三大引擎齐发力
蓝谷: “涉蓝”新引擎
UI用户界面色彩设计研究
快乐假期
小编的新年愿望