接下來,我們來看看遊戲開發的歷程。遊戲開發的課程不僅包括理論知識,還包括軟件操作。
C++程序基礎:通過學習C++語言,打好編程基礎。使用VS.net2005編譯器高效地構建代碼。
算法和數據結構:通過學習算法和數據結構的基本概念,了解常用的數據結構和相關的抽象數據定義,了解計算機求解的基本思想和方法。
Win32程序介紹:通過API和MFC的學習,熟悉Windows環境下編程的基本方法。用DirectX繪制2D圖形。
遊戲數學與智能應用:坐標系、向量、矩陣、幾何碰撞、物理模擬、人工智能、遊戲中的尋路算法。
2D遊戲技術與應用:2D遊戲技術介紹,遊戲地圖系統,GUI系統,戰鬥系統設計,任務系統優秀聲音引擎BASS,Cocos2D-X引擎,Box2D物理引擎。
遊戲開發常用的軟件有C++、DirectX、Box2D、Cocos2d-x、Unity,我們也不能說哪壹個是最好的,因為它是遊戲開發過程中必須使用的軟件,必須精通。
C++是在C語言基礎上發展起來的通用編程語言,應用非常廣泛。
DirectX(簡稱DX)是微軟公司創建的多媒體編程接口。
Box2D是壹個模擬2D剛性物體的C++引擎。Zlib許可證是壹個自由軟件許可協議,但它不是copyleft。
Cocos2d-x是壹個開源的移動2d遊戲框架,在MIT的許可下發布。這是C++Cocos2d-iPhone項目的壹個版本。
Unity是UnityTechnologies開發的多平臺綜合遊戲開發工具,允許玩家輕松創建3D視頻遊戲、建築可視化和實時3D動畫等互動內容。這是壹個完全集成的專業遊戲引擎。
首先,妳有編程基礎是很棒的。
手機遊戲開發的平臺是JME,壹般不用C++。當然學過C++的更好。
妳可能正在研究JEE,所以妳必須學好JME,重點是MIDlet、CANVAS和RecordStore。另外,要明確MIDP1.0和2.0的特點,如果和網絡有關,需要學習MIDP網絡編程。掌握這些基本都是問題,沒學到多少。對於壹個懂C++/JEE的人來說,我應該能在1個月左右完成。
像其他語言壹樣,JME的關鍵是多練習。嘗試自己開發幾個小遊戲是壹個很好的練習方法,可以發現自己在學習上的不足。如果可能的話,遊戲應該在真機上運行,因為在模擬器上運行和真機上運行是不壹樣的。
如果是獨立開發手遊,也要掌握壹些基礎軟件,比如PhotoShop,Mappy,簡單的音效處理。
另外,如果有必要,可以學習JTWI,尤其是Mobile3DGraphics(M3G)的技術,這是未來的發展趨勢(我不能誤導妳,因為我在這壹塊比較弱,就不多說了)。
簡而言之,妳需要學習JME,多練習,這就足夠了。PS。壹般來說,JME工程師的工資比JSE和JEE高。而且在遊戲行業玩遊戲也不會被罵。如果有壹天妳無聊和同事聊天,老板看到妳,他的第壹句話應該是“有空多打打遊戲,聊聊天!”。"
手機遊戲制作
全面披露世界頂級手機遊戲3dmotoracer的制作
圖文_吳剛北京數位紅軟件應用技術有限公司執行董事。
林誌強數位紅nightmareii首席3D美術設計師
王珂數碼紅摩托3d首席3D美術設計師
3dmotoracer是數位紅公司開發的壹款適用於nokias60設備和sonyericssonp800(uiq)的3d遊戲。連續幾個月成為全球銷量前三的nokias60和p800遊戲應用。本文是對3dmotoracer開發過程的總體介紹。
壹、遊戲引擎準備
在制作壹款遊戲之前,妳必須要有壹套經過長期測試,並且適用的遊戲引擎。
數位紅花了兩年時間開發了壹款基於移動設備的遊戲引擎:dragon bone game engine mobile phone,目前可以支持大部分高端移動設備。不僅為程序開發者和遊戲項目節省了大量的時間,也讓美工們最直觀的看到了它的設計效果。它最大的價值是開發者的壹套代碼可以在不改變程序的情況下編譯運行在不同的設備平臺上(改變不超過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++、jbuilder、codewarrior,設計工具和普通pc遊戲制作軟件差別不大。有些設計師更喜歡使用“硬核”二維設計工具dp,有些則願意在用3dmax和maya建模後進行二維修改。當然這些方法都要根據遊戲的最終設定來決定。我們玩java遊戲的時候,壹般都是用像素級的二維畫圖來完成畫面,也就是壹個像素壹個像素的畫。但在用pda等類似設備制作遊戲時,會使用3dmax或maya進行建模,渲染後再進行裁剪。在設計過程中,我們也像大多數遊戲公司壹樣,使用了maya、3dmax、photoshop、painter等工具。
b、確定遊戲和目標設備的各種參數。
這就需要程序員給出壹個準確的圖片極限大小,即所有圖片允許美工占用多少空間。因為手遊的制作受數據量的限制很大,所以我們在設計遊戲的時候,往往會很頭疼縮小1k空間的大小。此外,還要準確了解手機允許的顏色數量、分辨率、全屏刷新率。其實這也是對遊戲引擎的壹個考驗。
以motoracer3d為例,我們設想它將運行在nokia9210、nokia7650/3650、sonyericssonp800和pocketpc平臺上。在數位紅,因為我們有自己的開發引擎DragonBoneGameEngine mobile phone,而且遊戲引擎是跨平臺的,所以這壹步我們節省了很多時間。我們使用nokia7650/3650作為最初的調試藍圖,因為在這些設備中,nokia7650/3650相對較慢,屏幕尺寸也比其他設備小,所以是基於它最合適的設備。
下表中,我們設計了motoracer3d的基本技術參數。
達到目標和要求的技術參數。
圖像刷新率>;18/秒
文件安裝完成大小
文件安裝時沒有大小
內存使用峰值
遊戲在使用過程中會占用內存
遊戲和操作系統兼容性nokia9210、nokia7650/3650、sonyericssonp800、pocketpc
遊戲圖形特效列表沒有alpha。
圖形文件
聲音文件。聲音資源文件
數據定制
目錄結構/更改文件列表
使用了未知的動態鏈接庫。
以下是初步估算後的基本圖片列表:
跑道外的沙草元素
跑道邊上指示方向的標誌。(左和右)
跑道地面要素
背景中的天空圖。
起跑線。
選擇時獲取汽車地圖(4張)
比賽前站立的背影(4張)。
比賽期間,車手和人的背圖共4套(每套9張,分別為9個角度,從直立位置開始,每15度壹張)。)
撞車後的照片(3幀)
比賽結束後,排名屏幕。
速度儀表圖。
數字(0-9橫向等寬排列,共4組,分別為速度號、檔位號和排位號)
菜單背景
topten
按鈕
旅遊排名背景
C.準備遊戲策劃
很多開發者認為手遊的策劃不重要,這是嚴重錯誤的。手遊的美術和程序開發工作量非常有限,表現力也受到很大限制。所以壹款手遊如何完成,某種意義上完全取決於遊戲策劃本身。
在這個過程中,手遊策劃和傳統遊戲策劃基本相同。但是,遊戲策劃必須對遊戲的運作做出準確的設計。每個手機的鍵盤都不壹樣。畢竟pc上的鍵盤基本都是101。
然後,根據上面第壹步給出的美工的空間限制,美工要和策劃人商量,嚴格計算每張圖片所占的空間,哪怕是壹個小圖標也不能漏掉。
以motoracer3d為例,我們的遊戲策劃做了很多關於物理力學的公式,使得其美工在設計畫面時更符合真實效果。
下表:我們展示了每輛賽車的速度特征。
齒輪1齒輪2齒輪3齒輪4齒輪5手柄顏色
車1最高時速(mph)971071351561760.45綠黃。
加速度(英裏/小時/秒)211816128
2號車最高車速(mph)為901021271481680.25紫黃色。
加速度(英裏/秒)2320181410
車輛3的最大速度(mph)為1021121401601800.65藍黃。
加速度(英裏/秒)201613107
4號車最高車速(mph)為941051331521720.35黃藍。
加速度(英裏/秒)221917139
車輛5最高車速(mph)為104115145161820.75黑紅。
加速度(英裏/秒)191714107
6號車最高車速(mph)921051331521780.5紅黃。
加速度(mph/sec)211815118。
D.藝術和程序開發工作
motoracer地圖設計
建立摩托車模型和賽車。
在運行時調整操作。
此外,最重要的是,如果妳想做壹個像摩托羅拉壹樣的遊戲,妳首先應該是壹個摩托車專家。motoracer3d的首席美術設計師王珂是壹個瘋狂的摩托車愛好者。為了攢錢買摩托車,他可以啃壹年饅頭。責罵
演示測試
以motoracer3d為例,我們的開發周期是6個月。因為有了引擎,主代碼的開發周期縮短到3個月。為了保證這個產品有國際水準,剩下的3個月基本都在找問題,找骨頭。於是壹款位居全球手遊銷量前三的motoracer3d終於發布了。
當然,數位紅像motoracer3d這樣幸運的產品並不多,數位紅有30%的產品在試玩時因為完整性、操作感等問題沒有出來。畢竟,要建立壹個優秀的品牌,妳必須做出巨大的犧牲。
三。手機遊戲制作合集
由於手機硬件的諸多限制和性能差異,我們在開發制作的過程中不可能天馬行空的創作遊戲,而是要綜合考慮諸多因素的平衡。下面列出的是壹些關鍵的性能參數,這些參數直接影響遊戲的效果。
分解率
手機屏幕尺寸從80*30到320*240不等,就像pc發展中的cga,ega,vga壹樣。分辨率直接導致模型的大小和表現力,相信每個設計師都有些體會。另外,由於手機型號和操作系統的多樣性,壹款遊戲不加修改就無法在不同的手機上運行。對於美術設計師來說,在設計之初就要考慮畫面的適配性。比如在128×128的分辨率下,200×200的分辨率下,如何在不再次更換圖片的情況下達到同樣的效果?
顏色數量
目前手機能做到的色彩數量也是限制藝術家發揮的重要瓶頸。從前幾年的黑白屏手機到今天的256色、4096色、真彩。數位紅在開發遊戲的時候接觸了很多手機,有的號稱顯示4096色。但是當我們展示壹張4096色的色階圖時,發現有些顏色根本無法分辨。更讓人驚訝的是,有的手機還嚴重掉色。所以設計師壹定要根據實際的手機來畫圖。在這方面,數位紅吸取了很多教訓。
聰明
液晶屏由於其獨特的發光原理,無法達到傳統顯示器的亮度,同時很多色彩鮮艷的圖案在強光下也無法呈現出原本的效果,這壹點在手機戶外展示時尤為明顯。所以設計師在設計手遊畫面時壹定要考慮到這壹點,不能把色彩對比度設置的太近,畫面設計壹定要簡潔明快,避免畫面過小。
顯示速度
在我們接觸的很多手機中,動畫幀數都無法流暢,甚至達到10幀/秒,這對遊戲動畫來說是致命的。我們壹般采取偏幀刷或者盡量避免全屏動畫來達到預期的效果。而且液晶屏本身就有顯示速度問題,我們發現很多手機都有“拖尾”圖像。這種情況下,在實際遊戲中很容易造成玩家的視覺疲勞,尤其是在顛簸的汽車中或者行動中。如果遊戲時間太長,會頭暈。這樣,再優秀的遊戲也留不住玩家。
力量
因為手機是液晶屏,所以大部分設備在高亮度像素顯示和壹般像素顯示時功耗都不壹樣。例如,白色背景比黑色背景消耗更多的電池能量。所以對於手遊來說,盡可能的節省玩家的電池是壹個考慮因素。
手機遊戲開發中的幾個誤區
很多想開發手遊的朋友都對手遊充滿幻想。像這些朋友壹樣,數位紅在他們的腦海中有許多想法等待實現,但壹旦遊戲真正開發出來,我們發現它不切實際。這裏有壹些常見的誤解與妳分享:
將電腦遊戲移植到手機上
遊戲在pc上占用的空間已經按百兆計算了,而很多手遊是按k計算的,大部分手遊能裝60k遊戲就不錯了。
J2me遊戲可以在各種手機上運行,無需改動。
J2me有壹個midp1.0的移動設備標準,但是各個手機廠商在推出支持j2me的手機時,都進行了擴展甚至改動。壹個程序要想達到最好的效果,必須針對不同型號的手機。
用java開發手機遊戲比用c++好
用java開發手機遊戲非常方便,但在效果和性能上很難和c++代碼相比。比如在symbianos/wince設備上,我們還是建議盡量使用c++。
java開發的應用程序占用的空間很小。
開發小應用時,java程序確實占用空間少,但如果遊戲項目太大,java遊戲的小優勢就很難體現出來。
手機遊戲策劃和傳統遊戲策劃沒什麽區別。
手機遊戲的策劃有很多禁忌,需要策劃人員充分了解手機的技術性能,才能做出有針對性的優秀遊戲。
美術可以畫壹幅大圖,然後縮小。
如果把大圖縮小到12*12,效果可想而知。
1.建築3
壹個適合小白的遊戲開發軟件不需要自己編程。遊戲開發工具完全由GUI驅動,遊戲邏輯和變量由應用本身提供的設計功能實現。
2.GameMakerStudio2
與Construct3壹樣,GameMakerStudio2允許您使用其變量和遊戲邏輯的拖放界面來創建整個遊戲。然而,與Construct3不同的是,GameMakerStudio2通過其GameMaker語言被賦予了更多的功能。目前是最受歡迎、最活躍的免費遊戲開發引擎之壹。
3.壹致
Unity最初是壹個3D引擎,但在2013中,增加了2D官方支持。雖然它完全有能力創建2D遊戲,但妳可能會遇到意外的錯誤或失敗,因為Unity的2D系統實際上已經加入了其核心的3D系統。這也意味著Unity給2D遊戲增加了很多不必要的麻煩,可能會影響性能。
4.戈多發動機
Godot支持2D和3D遊戲的創作。不過和Unity不同的是,Godot的支持要好得多。引擎的2D方面從壹開始就經過精心設計,這意味著更好的性能、更少的錯誤和更幹凈的整體工作流程。
5.虛幻引擎4
在這個列表的所有工具中,UE4是最專業的。它是由虛幻系列背後的天才創造的。他們知道頂級引擎需要什麽,需要什麽來提供下壹代的功能。他們很清楚自己在做什麽。