,那麼還要掌握一些基本的軟體,如PhotoShop,Mappy,和簡單的聲效處理。另外有需求的話可以學學JTWI,特別是Mobile 3D Graphics(M3G)技術,這是以後發展的趨勢(由於本人對這塊很薄弱,所以不能誤導你,就不多說了)。總之,你就再需要學JME和多練習,就夠了。PS.一般來說JME工程師比JSE和JEE的待遇要好一些。而且從事遊戲行業的上班玩遊戲不會被罵。如果哪天你閒著無聊和同事聊天聊的太囂張被BOSS看見了,他第一句應該是說“有閒功夫多玩玩遊戲,閒聊什麼天!。”手機遊戲製作全球手機頂尖遊戲3d motoracer 製作全揭密圖文_吳剛 北京數位紅軟體應用技術有限公司執行董事林志強 數位紅nightmare ii首席三維美術設計師王科 數位紅motoracer3d首席三維美術設計師3d motoracer 是數位紅公司開發的一款針對nokia s60裝置及sony ericsson p800 (uiq)的3d遊戲,該遊戲上市幾個月來,已經成為全球最暢銷的nokia s60、p800遊戲應用前三名之一。本文就是對3d motoracer 的開發過程進行大致的介紹。i. 遊戲引擎的準備在製作遊戲之前,必須有一套經過長期測試並且適用的遊戲引擎。數位紅用了兩年的時間總結開發出一套基於移動裝置的遊戲引擎:dragon bone game engine for mobile phone(龍骨),他可以支援目前大部分的高階移動裝置,它不僅可以使
受資料量的限制很大,所以我們在設計遊戲時,經常為減少1k空間大小而大傷腦筋。另外,就是需要準確瞭解該手機允許的色彩數、解析度、整屏重新整理率,其實這也是對遊戲引擎的一種測試。以motoracer 3d為例,我們設想使其執行在nokia 9210、nokia 7650/3650、sony ericsson p800、pocket pc平臺上。在數位紅,由於我們擁有了自主開發引擎dragon bone game engine for mobile phone,遊戲引擎是跨平臺的,所以這一步驟我們就省去了不少時間。我們以nokia 7650/3650為最初除錯藍本,原因是在這些裝置中,nokia 7650/3650的速度相對較慢,螢幕尺寸也相對其他裝置小,因此以它為基礎裝置最為合適。如下表,我們設計了motoracer 3d的基本技術引數。技術引數 達成目標及要求影象重新整理速度 >18/fps檔案安裝完成大小 <1000k檔案未安裝大小 <400k佔用記憶體峰值 <700k使用過程中游戲佔用記憶體 <700k遊戲與作業系統相容性 nokia 9210、nokia 7650/3650、sony ericsson p800、pocket pc遊戲圖形特效清單 無 alpha圖形檔案聲音檔案 .wav資料自定義目錄結構/變動檔案清單使用的動態連結庫 未知下面是經過初步估計的基本圖片清單:跑道外面的沙地草地元素跑道的邊上的指示方向的牌。(左右)跑道地面元素背景的天空圖。起跑線。選擇的時候得車圖(4張)比賽開始前站立的背面圖(4張)。比賽時候得車加人背面圖(4套,每套9張,分別9個角度,從直立開始,每15度一張。)撞車後的圖(3楨)比賽完畢名次畫面。速度儀表圖。數字(0至9等寬橫排,分別有4套,速度數字,檔位數字,排位數字)選單背景top ten按鈕巡迴賽排名的背景c. 準備遊戲策劃很多開發者認為,手機遊戲的策劃不重要,這個觀點是嚴重錯誤的,手機遊戲的美術與程式開發工作量都非常有限,其表現力也受非常大的制約,因此一款手機遊戲的可完性如何在某種意義上完全取決於遊戲策劃本身。在此過程中,
首先你有
程式設計基礎
是再好不過的了。然後有大量的時間,金錢投入進去。手機遊戲開發
的平臺是JME,一般不會用到C++。當然學過C++的更好。你學的可能是JEE,所以你一定要把JME好好學一下,重點是MIDlet,CANVAS,RecordStore。此外MIDP1.0和2.0的特性要搞清楚,如果做和網路有關的還要學習MIDP網路程式設計。掌握這些就基本上門什麼問題了,學的不多,對於一個會C++/JEE的人來說,應該可以在1個月左右學完。和其他語言一樣,JME關鍵是要多練,自己試著開發幾個小遊戲出來是不錯的練習辦法,可以找出你學習上的不足點。有條件的話,做出來的遊戲應該拿到真機上執行,因為在模擬器上執行和真機有區別。如果是獨立開發手遊
,那麼還要掌握一些基本的軟體,如PhotoShop,Mappy,和簡單的聲效處理。另外有需求的話可以學學JTWI,特別是Mobile 3D Graphics(M3G)技術,這是以後發展的趨勢(由於本人對這塊很薄弱,所以不能誤導你,就不多說了)。總之,你就再需要學JME和多練習,就夠了。PS.一般來說JME工程師比JSE和JEE的待遇要好一些。而且從事遊戲行業的上班玩遊戲不會被罵。如果哪天你閒著無聊和同事聊天聊的太囂張被BOSS看見了,他第一句應該是說“有閒功夫多玩玩遊戲,閒聊什麼天!。”手機遊戲製作全球手機頂尖遊戲3d motoracer 製作全揭密圖文_吳剛 北京數位紅軟體應用技術有限公司執行董事林志強 數位紅nightmare ii首席三維美術設計師王科 數位紅motoracer3d首席三維美術設計師3d motoracer 是數位紅公司開發的一款針對nokia s60裝置及sony ericsson p800 (uiq)的3d遊戲,該遊戲上市幾個月來,已經成為全球最暢銷的nokia s60、p800遊戲應用前三名之一。本文就是對3d motoracer 的開發過程進行大致的介紹。i. 遊戲引擎的準備在製作遊戲之前,必須有一套經過長期測試並且適用的遊戲引擎。數位紅用了兩年的時間總結開發出一套基於移動裝置的遊戲引擎:dragon bone game engine for mobile phone(龍骨),他可以支援目前大部分的高階移動裝置,它不僅可以使程式開發人員
及遊戲專案節省了大量的時間,另外還可以讓美術人員最直觀的看到其設計效果。它最大的價值就是可以使開發人員的一套程式碼在不需要改動程式的情況下編譯執行在不同裝置平臺上(改動不超過20%)。目前數位紅及其他公司已經使用它開發遊戲
超過了30款。引擎提供了非常完善的9個模組與3個增強模組,可以完全滿足各類遊戲開發的需要。遊戲引擎可以直接嵌入到開發者的程式中,不需要額外的支援程式即可使所開發的遊戲獨立執行。遊戲引擎簡單、易用,編譯後體積很小,佔用記憶體也很小,可以節省玩家的記憶體空間及無線下載費用。基本引擎包含9個模組,引擎函式介面提供了類似windows的使用模式:1、 檔案操作模組:提供類似標準c的fopen,fclose等函式。2、 記憶體管理模組3、 2d圖形圖象模組4、 對話方塊模組5、 sms操作模組:可以在程式內部對sms的收發進行截獲處理。6、 加密模組:提供識別使用裝置的imei功能,用於軟體的加密目的。7、 聲音模組8、 資源打包及壓縮模組:可是使最後發售的軟體包體積變小,儘量少的佔用使用者的記憶體空間。9、 常用函式:如字串操作等函式。10、例子:提供一套完整遊戲magicline的源程式。引擎增強模組構成其增強部分,包含三個模組:1、 實時3d增強模組2、 聲音增強模組3、 圖形檔案增強模組ii. 正式開發的前期工作a. 開發工具的準備在很多人看來,手機遊戲還是一種很新鮮時尚的玩意兒,所以,談起手機遊戲的時候難免有種莫測高深的感覺。其實,手機遊戲的整個製作過程十分簡單。從某種角度而言,它是一種傳統的迴歸,同時也是新舊技術的相互融合。最常用的開發工具有vc++,j builder及codewarrior,在設計工具上則更是和普通的pc遊戲製作軟體
沒有大的區別。有的設計人員更願意使用“骨灰級”的二維設計工具dp,也有人願意用3dmax、maya建模之後再進行二維修改,當然所有這些方法都要根據遊戲的最終設定來決定。我們在做java遊戲的時,一般都是採用畫素級的二維繪製完成圖片,即逐個畫素點的完成。但在製作pda等類似裝置的遊戲時,就會採用3dmax或者maya建立模型,渲染後再修整。在設計過程中,我們也與大多數遊戲公司一樣使用了maya、3dmax、photoshop、painter等工具。b. 確定遊戲的各項引數及目標裝置這要求程式人員能給出準確的圖片限制大小,即所有圖片允許美工佔用多少空間。由於手機遊戲的製作
受資料量的限制很大,所以我們在設計遊戲時,經常為減少1k空間大小而大傷腦筋。另外,就是需要準確瞭解該手機允許的色彩數、解析度、整屏重新整理率,其實這也是對遊戲引擎的一種測試。以motoracer 3d為例,我們設想使其執行在nokia 9210、nokia 7650/3650、sony ericsson p800、pocket pc平臺上。在數位紅,由於我們擁有了自主開發引擎dragon bone game engine for mobile phone,遊戲引擎是跨平臺的,所以這一步驟我們就省去了不少時間。我們以nokia 7650/3650為最初除錯藍本,原因是在這些裝置中,nokia 7650/3650的速度相對較慢,螢幕尺寸也相對其他裝置小,因此以它為基礎裝置最為合適。如下表,我們設計了motoracer 3d的基本技術引數。技術引數 達成目標及要求影象重新整理速度 >18/fps檔案安裝完成大小 <1000k檔案未安裝大小 <400k佔用記憶體峰值 <700k使用過程中游戲佔用記憶體 <700k遊戲與作業系統相容性 nokia 9210、nokia 7650/3650、sony ericsson p800、pocket pc遊戲圖形特效清單 無 alpha圖形檔案聲音檔案 .wav資料自定義目錄結構/變動檔案清單使用的動態連結庫 未知下面是經過初步估計的基本圖片清單:跑道外面的沙地草地元素跑道的邊上的指示方向的牌。(左右)跑道地面元素背景的天空圖。起跑線。選擇的時候得車圖(4張)比賽開始前站立的背面圖(4張)。比賽時候得車加人背面圖(4套,每套9張,分別9個角度,從直立開始,每15度一張。)撞車後的圖(3楨)比賽完畢名次畫面。速度儀表圖。數字(0至9等寬橫排,分別有4套,速度數字,檔位數字,排位數字)選單背景top ten按鈕巡迴賽排名的背景c. 準備遊戲策劃很多開發者認為,手機遊戲的策劃不重要,這個觀點是嚴重錯誤的,手機遊戲的美術與程式開發工作量都非常有限,其表現力也受非常大的制約,因此一款手機遊戲的可完性如何在某種意義上完全取決於遊戲策劃本身。在此過程中,手機遊戲策劃
基本同傳統遊戲策劃無異。但遊戲策劃必須要對遊戲的操作做出準確的設計,每個手機的鍵盤都不太相同,畢竟pc上的鍵盤基本都是101鍵。再就是根據上面第一步給定的美工空間限制,美工要同策劃共同商議,嚴格計算每張圖片佔用的空間,甚至是一個小圖示都是不可以漏掉的。以motoracer 3d為例,我們的遊戲策劃做了大量有關物理力學方面的公式,使其美工在設計圖片時更符合真實的效果。如下表:我們將每種賽車的速度特性均體現出來。gear 1 gear 2 gear 3 gear 4 gear 5 grip 顏色車1 最大速度(mph) 97 107 135 156 176 0.45 綠黃加速度(mph/秒) 21 18 16 12 8車2 最大速度(mph) 90 102 127 148 168 0.25 紫黃加速度(mph/秒) 23 20 18 14 10車3 最大速度(mph) 102 112 140 160 180 0.65 藍黃加速度(mph/秒) 20 16 13 10 7車4 最大速度(mph) 94 105 133 152 172 0.35 黃藍加速度(mph/秒) 22 19 17 13 9車5 最大速度(mph) 104 115 145 166 182 0.75 黑紅加速度(mph/秒) 19 17 14 10 7車6 最大速度(mph) 92 105 133 152 178 0.5 紅黃加速度(mph/秒) 21 18 15 11 8d. 美術及程式開發工作motoracer 的貼圖設計建立摩托車的模型與賽手調整執行時的動作另外最重要的就是如果想做一款motoracer這樣的遊戲,首先自己就應該是摩托車的行家,我們motoracer 3d的首席美術設計師王科,就是一個瘋狂的摩托車發燒友,他可以為了攢錢買機車,啃一年的饅頭。呵…e. demo測試測試工作以motoracer 3d為例,我們開發週期6個月,因為有了引擎的緣故,使主程式碼開發週期縮短至3個月,為了保證這款產品具備國際水準,剩餘的3個月我們基本都在找問題、雞蛋裡挑骨頭。於是一款位列全球手機遊戲銷售前三名的motoracer 3d終於出爐了。當然,在數位紅像motoracer 3d的幸運產品並不多,數位紅有30%的產品在demo期間就因為可完性、操作感等問題最終沒有面世。畢竟想要打造一個優秀的品牌是要做出很大犧牲的。iii. 手機遊戲製作寶典由於手機硬體裝置方面的諸多限制和效能差異,我們在遊戲的開發
和製作過程中無法天馬行空般的進行創作,而不得不綜合考慮到多方因素的平衡。下面列出的是一些關鍵的效能引數,這些引數都直接影響遊戲的效果。解析度手機的螢幕大小各有不同,從80*30到320*240,就好比在pc發展過程中的cga、ega乃至vga,解析度的高低直接導致了造型的大小及表現力,這點相信每個設計人員都有所體會。另外,由於手機型號及作業系統的多樣性,導致了一款遊戲並不能不加改動的在不同的手機上執行。對於美術設計人員而言,就要在設計之初考慮螢幕的自適應問題。比如在128×128解析度下與200×200的解析度下,如何可以不重新更換圖片,但又達到同樣的效果?色彩數量目前手機能達到的色彩數量也是限制美術人員發揮的一個重要瓶頸。從過去幾年的黑白螢幕手機到現今256色、4096色及真彩色。digital-red在開發遊戲
時接觸過非常多的手機,其中有的手機號稱能顯示4096色,但我們將一張4096色的色階圖進行顯示,便發現有的顏色根本無法區分,更讓人吃驚的是,個別手機還色偏嚴重。所以,設計人員是一定要根據實際手機進行圖片繪製,在此,digital-red有過非常多的教訓。明亮度液晶螢幕由於其獨特的發光原理,並不能達到傳統顯示器的亮度,同時也就導致了很多色彩豐富的圖案在強光下,不能顯示出原有的效果,這點在手機戶外顯示時尤其明顯。因此設計人員在設計手機遊戲圖片時一定要考慮這點,不能將色彩對比度設定的過於接近、圖片設計一定要簡潔明快,避免過小的圖片。顯示速度在我們接觸的手機裡,很多由於運算速度的問題,導致動畫幀數並不能流暢,甚至達到不了10幀/秒,這對於遊戲動畫而言是致命的,我們一般採取區域性刷幀或者儘量避免全螢幕動畫來儘量達到預期效果。而且液晶螢幕本身也有顯示速度問題,我們就發現過很多手機都有影像“拖尾”情況。這種情況,在實際遊戲中很容易造成玩家的視覺疲勞,尤其在顛簸的車上或者是行動中,遊戲時間過長,就有頭暈目眩的感覺。如此,即使是一款優秀的遊戲也無法留住玩家了。電力由於手機是液晶螢幕,大多數裝置在高亮度的畫素顯示與一般畫素顯示上,兩者耗電量是有所區別的,例如白色背景就要比黑色背景消耗更多的電池能量。因此,對於手機遊戲而言,要儘可能節省玩家的電池,也算是對玩家的一種體貼吧。手機遊戲開發
過程中的一些錯誤觀念很多想開發手機遊戲的朋友們對於手機遊戲都充滿了幻想,digital-red也曾與這些朋友們一樣,在腦海中有非常多的想法等待實現,但一旦真正開發遊戲
的時候我們就發現很不現實,這裡將幾個常見的錯誤認識與諸位分享:移植pc遊戲到手機上pc上的遊戲已經以百兆來計算其佔用空間了,而很多手機遊戲是以k來計算,大多數的手機遊戲能安裝60k的遊戲就算不錯了。j2me遊戲不用改動可以執行在各種手機上j2me在移動裝置上有一個midp 1.0標準,但各個手機廠商在推出支援j2me的手機上都對其進行了擴充甚至改動,一個程式想要達到最理想的效果就一定要針對不同型號的手機。用java開發手機遊戲要比用c++好使用java開發手機遊戲的確非常方便,但在效果與效能上很難與c++程式碼實現效果比擬。如在symbian os/wince裝置上我們還是推薦儘量使用c++來開發為好。java開發出的應用程式佔用的空間小在開發小型應用時,java程式的確空間佔用較小,但如果遊戲專案過大,java遊戲的小巧優勢就很難體現了。手機遊戲策劃
與傳統遊戲策劃無異手機遊戲的策劃禁忌非常多,要求策劃人員必須全面瞭解手機的技術性能才能做出針對性的優秀遊戲。美術可以畫大圖,然後再縮小一張大圖如果縮成12*12大小,效果就可想而知了。