全球頂級手機遊戲3d motoracer全揭秘。
圖文_吳剛北京數位紅軟件應用技術有限公司執行董事。
林誌強數碼紅夢魘ii首席3D美術設計師
王珂數碼紅摩托3d首席3D美術設計師
3d motoracer是由數位紅公司開發的適用於諾基亞s60設備和索尼愛立信p800 (uiq)的3d遊戲。連續幾個月成為全球最暢銷的諾基亞s60和p800遊戲應用前三。本文是對3d motoracer開發過程的概述。
壹、遊戲引擎準備
在制作壹款遊戲之前,妳必須要有壹套經過長期測試,並且適用的遊戲引擎。
數位紅花了兩年時間開發了壹款基於移動設備的遊戲引擎:手機用龍骨遊戲引擎,目前可以支持大部分高端移動設備。不僅為程序開發者和遊戲項目節省了大量的時間,也讓美工們最直觀的看到了它的設計效果。它最大的價值是開發者的壹套代碼可以在不改變程序的情況下編譯運行在不同的設備平臺上(改變不超過20%)。目前,數位紅和其他公司已經用它開發了30多個遊戲。
該引擎提供了9個完善模塊和3個增強模塊,完全可以滿足各類遊戲開發的需求。遊戲引擎可以直接嵌入到開發者的程序中,開發出來的遊戲可以獨立運行,不需要額外的支持程序。遊戲引擎簡單易用,編譯後體積小,占用內存少,可以節省玩家的內存空間和無線下載費用。基礎引擎由9個模塊組成,引擎功能界面提供了類似windows的使用方式:
1,文件操作模塊:提供類似標準c的fopen,fclose的功能。
2.內存管理模塊
3.2d圖形圖像模塊
4.對話模塊
5.短信操作模塊:可以在程序內部攔截和處理短信的發送和接收。
6.加密模塊:提供imei功能識別所用設備,用於軟件加密。
7.聲音模塊
8.資源打包壓縮模塊:但是最後賣出去的軟件包體積減小,盡量少占用用戶的內存空間。
9.常用函數:如字符串操作。
10,例:為magicline提供壹套完整的源程序。
發動機增強模塊組成
其增強部分包括三個模塊:
1,實時3d增強模塊
2.聲音增強模塊
3.圖形文件增強模塊
二。正式開發的準備工作
A.開發工具的準備
在很多人眼裏,手遊還是壹個很新鮮很時尚的東西,所以說起手遊難免有壹種深不可測的感覺。其實整個制作手遊的過程很簡單。從某種角度來說,是壹種傳統的回歸,也是新舊技術的相互融合。最常用的開發工具是vc++,j builder,codewarrior,設計工具和普通pc遊戲制作軟件差別不大。有些設計師更喜歡使用“硬核”二維設計工具dp,有些則願意在用3dmax和maya建模後進行二維修改。當然這些方法都要根據遊戲的最終設定來決定。我們玩java遊戲的時候,壹般都是用像素級的二維畫圖來完成畫面,也就是壹個像素壹個像素的畫。但在用pda等類似設備制作遊戲時,會使用3dmax或maya進行建模,渲染後再進行裁剪。在設計過程中,我們也像大多數遊戲公司壹樣,使用了maya、3dmax、photoshop、painter等工具。
b、確定遊戲和目標設備的各種參數。
這就需要程序員給出壹個準確的圖片極限大小,即所有圖片允許美工占用多少空間。因為手遊的制作受數據量的限制很大,所以我們在設計遊戲的時候,往往會擔心縮小1k空間的大小。此外,還要準確了解手機允許的顏色數量、分辨率、全屏刷新率。其實這也是對遊戲引擎的壹個考驗。
以motoracer 3d為例,我們設想它將在諾基亞9210、諾基亞7650/3650、索尼愛立信p800和pocket pc平臺上運行。在數位紅,因為我們有自己的開發引擎龍骨手機遊戲引擎,而且遊戲引擎是跨平臺的,所以這壹步我們節省了很多時間。我們使用諾基亞7650/3650作為最初的調試藍圖,因為在這些設備中,諾基亞7650/3650相對較慢,屏幕尺寸也比其他設備小,所以是基於它最合適的設備。
下表中,我們設計了motoracer 3d的基本技術參數。
達到目標和要求的技術參數。
圖像刷新率>;18/秒
文件安裝完成大小
文件安裝時沒有大小
內存使用峰值
遊戲在使用過程中會占用內存
遊戲和操作系統兼容性諾基亞9210、諾基亞7650/3650、索尼愛立信p800、pocket pc
遊戲圖形特效列表沒有alpha。
圖形文件
聲音文件。聲音資源文件
數據定制
目錄結構/更改文件列表
使用了未知的動態鏈接庫。
以下是初步估算後的基本圖片列表:
跑道外的沙草元素
跑道邊上指示方向的標誌。(左和右)
跑道地面要素
背景中的天空圖。
起跑線。
選擇時獲取汽車地圖(4張)
比賽前站立的背影(4張)。
比賽期間,車手和人的背圖共4套(每套9張,分別為9個角度,從直立位置開始,每15度壹張)。)
撞車後的照片(3幀)
比賽結束後,排名屏幕。
速度儀表圖。
數字(0-9橫向等寬排列,共4組,分別為速度號、檔位號和排位號)
菜單背景
前十名
按鈕
旅遊排名背景
C.準備遊戲策劃
很多開發者認為手遊的策劃不重要,這是嚴重錯誤的。手遊的美術和程序開發工作量非常有限,表現力也受到很大限制。所以壹款手遊如何完成,某種意義上完全取決於遊戲策劃本身。
在這個過程中,手遊策劃和傳統遊戲策劃基本相同。但是,遊戲策劃必須對遊戲的運作做出準確的設計。每個手機的鍵盤都不壹樣。畢竟pc上的鍵盤基本都是101。
然後,根據上面第壹步給出的美工的空間限制,美工要和策劃人商量,嚴格計算每張圖片所占的空間,哪怕是壹個小圖標也不能漏掉。
以motoracer 3d為例,我們的遊戲策劃做了很多關於物理力學的公式,使得其美工在設計畫面時更符合真實效果。
下表:我們展示了每輛賽車的速度特征。
齒輪1齒輪2齒輪3齒輪4齒輪5手柄顏色
汽車1最高時速(mph)97 107 135 156 176 0.45綠色和黃色。
加速度(英裏/小時/秒)21 18 16 12 8
車輛2的最大速度(mph)90 102 127 148 168 0.25紫色和黃色。
加速度(英裏/秒)23 20 18 14 10
3號車最高車速(mph)102 12 140 160 180 0.65藍黃。
加速度(英裏/小時/秒)20 16 13 10 7
車輛4的最大速度(mph)為94 105 133 152 172 0.35黃色和藍色。
加速度(英裏/小時/秒)22 19 17 13 9
車輛5的最大速度(mph)為104 115 145 166 182 0.75黑色和紅色。
加速度(英裏/秒)19 17 14 10 7
車輛6的最大速度(mph)是92 105 133 152 178 0.5紅色和黃色。
加速度(英裏/小時/秒)21 18 15 11 8
D.藝術和程序開發工作
motoracer地圖設計
建立摩托車模型和賽車。
在運行時調整操作。
此外,最重要的是,如果妳想做壹個像摩托羅拉壹樣的遊戲,妳首先應該是壹個摩托車專家。motoracer 3d的首席美術設計師王珂是壹個瘋狂的摩托車愛好者。為了攢錢買摩托車,他可以啃壹年饅頭。啊...
E.演示測試
以motoracer 3d為例,我們的開發周期是6個月。因為有了引擎,主代碼的開發周期縮短到3個月。為了保證這個產品有國際水準,剩下的3個月基本都在找問題,找骨頭。於是壹款位居全球手遊銷量前三的motoracer 3d終於發布了。
當然,數位紅像motoracer 3d這樣幸運的產品並不多,數位紅有30%的產品在試玩時因為完整性、操作感等問題沒有出來。畢竟,要建立壹個優秀的品牌,妳必須做出巨大的犧牲。
三。手機遊戲制作合集
由於手機硬件的諸多限制和性能差異,我們在開發制作的過程中不可能天馬行空的創作遊戲,而是要綜合考慮諸多因素的平衡。下面列出的是壹些關鍵的性能參數,這些參數直接影響遊戲的效果。
分解率
手機屏幕尺寸從80*30到320*240不等,就像pc發展中的cga,ega,vga壹樣。分辨率直接導致模型的大小和表現力,相信每個設計師都有些體會。另外,由於手機型號和操作系統的多樣性,壹款遊戲不加修改就無法在不同的手機上運行。對於美術設計師來說,在設計之初就要考慮畫面的適配性。比如在128×128的分辨率下,200×200的分辨率下,如何在不再次更換圖片的情況下達到同樣的效果?
顏色數量
目前手機能做到的色彩數量也是限制藝術家發揮的重要瓶頸。從前幾年的黑白屏手機到今天的256色、4096色、真彩。數位紅在開發遊戲的時候接觸了很多手機,有的號稱顯示4096色。但是當我們展示壹張4096色的色階圖時,發現有些顏色根本無法分辨。更讓人驚訝的是,有的手機還嚴重掉色。所以設計師壹定要根據實際的手機來畫圖。在這方面,數位紅吸取了很多教訓。
聰明
液晶屏由於其獨特的發光原理,無法達到傳統顯示器的亮度,同時很多色彩鮮艷的圖案在強光下也無法呈現出原本的效果,這壹點在手機戶外展示時尤為明顯。所以設計師在設計手遊畫面時壹定要考慮到這壹點,不能把色彩對比度設置的太近,畫面設計壹定要簡潔明快,避免畫面過小。
顯示速度
在我們接觸的很多手機中,動畫幀數都無法流暢,甚至達到10幀/秒,這對遊戲動畫來說是致命的。我們壹般采取偏幀刷或者盡量避免全屏動畫來達到預期的效果。而且液晶屏本身就有顯示速度問題,我們發現很多手機都有“拖尾”圖像。這種情況下,在實際遊戲中很容易造成玩家的視覺疲勞,尤其是在顛簸的汽車中或者行動中。如果遊戲時間太長,會頭暈。這樣,再優秀的遊戲也留不住玩家。
力量
因為手機是液晶屏,所以大部分設備在高亮度像素顯示和壹般像素顯示時功耗都不壹樣。例如,白色背景比黑色背景消耗更多的電池能量。所以對於手遊來說,盡可能的節省玩家的電池是壹個考慮因素。
手機遊戲開發中的幾個誤區
很多想開發手遊的朋友都對手遊充滿幻想。像這些朋友壹樣,數位紅在他們的腦海中有許多想法等待實現,但壹旦遊戲真正開發出來,我們發現它不切實際。這裏有壹些常見的誤解與妳分享:
將電腦遊戲移植到手機上
遊戲在pc上占用的空間已經按百兆計算了,而很多手遊是按k計算的,大部分手遊能裝60k遊戲就不錯了。
J2me遊戲可以在各種手機上運行,無需改動。
J2me有壹個針對移動設備的midp 1.0標準,但各個手機廠商在推出支持j2me的手機時,對其進行了擴展甚至更改。壹個程序要想達到最好的效果,必須針對不同型號的手機。
用java開發手機遊戲比用c++好
用java開發手機遊戲非常方便,但在效果和性能上很難和c++代碼相比。比如在symbian os/wince設備上,我們還是建議盡量使用c++。
java開發的應用程序占用的空間很小。
開發小應用時,java程序確實占用空間少,但如果遊戲項目太大,java遊戲的小優勢就很難體現出來。
手機遊戲策劃和傳統遊戲策劃沒什麽區別。
手機遊戲的策劃有很多禁忌,需要策劃人員充分了解手機的技術性能,才能做出有針對性的優秀遊戲。
美術可以畫壹幅大圖,然後縮小。
如果把大圖縮小到12*12,效果可想而知。