段 念1,賴雅琳1,李 敏2
?
復雜用戶界面制作設計三方合作方式的優化與研究
段 念,賴雅琳,李 敏
(1. 華僑大學機電及自動化學院,福建泉州 362011;2. 育碧電腦軟件有限公司,上海 200000)
隨著高性能芯片以及高速網絡等硬件條件的快速發展,游戲中用戶界面的開發變成一件越來越繁瑣的工作,通過分析傳統復雜游戲軟件用戶界面設計方法的缺陷,根據現有情況進行了改進和優化,提出了改進思路和構架的實現,經試驗證明,該方法可以大大減少了復雜界面開發的時間。
計算機應用;腳本語言;界面設計;三方合作
近年來,隨著高性能芯片以及高速網絡等硬件條件的快速發展,電腦游戲也進入了前所未有的繁榮和大發展的時期。在這一時期各種新技術新變革中,與用戶交互最密切的用戶界面是最顯著最困難的革新之一。其困難主要來源于前后兩個時期對用戶界面開發要求的巨大差距。
變革之前的用戶界面受制于多方條件,并不是游戲的關鍵所在,因此投入的技術與研究相對有限,表面上體現為開發過程中使用簡單的開發工具,而且要花費較長的開發時間。而在多種約束解除之后,開發者決心充分發揮新硬件的多種機能。希望可以制作更人性化交互的游戲,全新的游戲模式(例如角色扮演混合即時戰略)等,而這些先進的設計思想都需要有一個完善的用戶界面。然而,開發者卻發現原有的用戶界面開發方式因自身的限制難以高效簡明的支持新的設計要求,其已嚴重阻礙了新游戲的開發。
用戶界面的開發主要涉及到三個方面的開發人員,設計人員、美工人員、程序人員。設計人員給出用戶界面的設計思路,從游戲開始的各種模式選擇、存檔查看、功能選擇等頁面流程,到游戲進行過程中的交互表示、消息顯示,以及結束之后各種統計信息的組織與安排。美工人員根據設計人員的設計文檔制作好程序員需要的各種數據文件,例如頁面的排版,按鈕的式樣,消息提示的動畫等。程序人員最后將各方資源整合進游戲。這三方人員合作完成游戲的用戶界面的制作。
由于受局限于硬件性能以及用戶顯示終端(電視機、顯示器)條件(如分辨率不高),以微軟Xbox與索尼PS2為代表的游戲平臺上,游戲都傾向于提供簡單的用戶界面。在硬件上,過多以及華麗的用戶界面會帶來性能上的負擔。在顯示終端上,低分辨率也難以顯示豐富的內容給用戶。因此,這個時期的游戲界面相對簡單和樸素。
1.1 具體的框架思路如下(需求分析與解決)
建立一個用戶界面引擎,界面引擎主要由兩部分構成,一是圖形模塊,二是事件響應模塊。圖形方面,圖形編輯器與實時渲染合用界面引擎的圖形模塊,編輯器本質是界面引擎圖形模塊功能的GUI表示。事件響應模塊使用設計模式中的bridge模式,根據不同的事件,每個頁面調用在該頁面注冊過的回調函數。如圖1所示。

圖1 傳統的用戶界面設計流程圖
1.2 構架(實現)
用戶界面引擎的中心是一個棧。棧內的頁面將根據在棧中的順序,被繪制,更新,以及接受各種事件(如用戶按鍵)。每個頁面調用注冊的回調函數,因此也需要相應的類來管理回調函數。實際應用時至少需要三種類型的管理類(handler),分別是drawhandler(管理渲染的回調,如predraw,postdraw),pagehandler(管理頁面事件的回調,如頁面的進棧,出棧,被置頂,被遮蓋),eventhanlder(管理定制事件的回調,如按鍵、網絡消息等)。
1.3 三方合作方式
設計人員通過文檔給出要求,從頁面的流程關系到內容安排。設計人員在這個階段只給出用戶界面的概述。制作完全依賴于美工人員與程序人員。
美工人員根據文檔,首先設計頁面風格、按鈕式樣、制作貼圖。然后根據程序人員的建議制作相應的頁面動畫與特效,例如文字效果、混合模式等。美工人員完全依賴程序人員,增加任何新的頁面特效都需要程序員提供支持。每次新特效的增加都至少經過可行性與需求分析、流程設計、編碼測試、維護再改進等幾個步驟。這樣漫長的過程無疑會顯著降低美工人員的工作效率。
程序員根據文檔編寫每個頁面的回調函數,處理每個按鍵的相應,每個頁面進棧、出棧的處理(如在頁面進棧的時候,將頁面的內容設置好)。并根據美工要求調整、增加用戶界面引擎圖形部分的功能。
1.4 傳統方法存在的問題
原有開發方式的落后的體現在于開發的難度加大以及開發的周期延長。而造成這樣的情況是因為之前的開發模式不僅沒有充分協調三方開發人員,反而帶來了混淆,設計人員與美工人員都嚴重的受制于程序人員,而程序人員因為承擔了太多的工作,需要處理太多的事情又反而會被降低工作效率。因此,在新的用戶界面開發方式里,要解決的問題就是調整三方開發人員的工作方式,降低彼此之間的依賴,提高各方的工作效率來適應新的開發要求。
隨著次世代游戲機的興起,如微軟的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 三方間連接關系示意圖
改進后的模式最重要的是改變了程序人員在用戶界面制作過程中位置。設計人員與美工人員的工作無需再依賴于程序人員。有用戶界面引擎提供的腳本支持,設計人員可以完全使用圖形模塊提供的全部功能;而美工人員可以使用成熟的第三方軟件制作用戶界面資源;程序人員也可以從繁瑣的用戶界面細節工作中解脫出來。這樣解除三方人員的制約之后,項目的進度能得到很大加速。而且無需編譯,方便修改。支持動態載入,能夠在運行同時重新載入修改過的腳本,提高工作效率。通過對功能函數的合理封裝,讓設計人員也能參與較簡單頁面代碼的編寫。但仍需依賴第三方圖形軟件,腳本帶來的性能的損失依然存在。
[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-),女,福建福州人,講師,碩士,主要研究方向為計算機圖形學及其應用。