在編程軟件里做游戲代碼,開發(fā)一款游戲需要什么軟件?
首先你有編程基礎(chǔ)是再好不過的了。
手機(jī)游戲開發(fā)的平臺是JME,一般不會用到C++。當(dāng)然學(xué)過C++的更好。
你學(xué)的可能是JEE,所以你一定要把JME好好學(xué)一下,重點(diǎn)是MIDlet,CANVAS,RecordStore。此外MIDP1.0和2.0的特性要搞清楚,如果做和網(wǎng)絡(luò)有關(guān)的還要學(xué)習(xí)MIDP網(wǎng)絡(luò)編程。掌握這些就基本上門什么問題了,學(xué)的不多,對于一個會C++/JEE的人來說,應(yīng)該可以在1個月左右學(xué)完。
和其他語言一樣,JME關(guān)鍵是要多練,自己試著開發(fā)幾個小游戲出來是不錯的練習(xí)辦法,可以找出你學(xué)習(xí)上的不足點(diǎn)。有條件的話,做出來的游戲應(yīng)該拿到真機(jī)上運(yùn)行,因?yàn)樵谀M器上運(yùn)行和真機(jī)有區(qū)別。
如果是獨(dú)立開發(fā)手游,那么還要掌握一些基本的軟件,如PhotoShop,Mappy,和簡單的聲效處理。
另外有需求的話可以學(xué)學(xué)JTWI,特別是Mobile 3D Graphics(M3G)技術(shù),這是以后發(fā)展的趨勢(由于本人對這塊很薄弱,所以不能誤導(dǎo)你,就不多說了)。
總之,你就再需要學(xué)JME和多練習(xí),就夠了。PS.一般來說JME工程師比JSE和JEE的待遇要好一些。而且從事游戲行業(yè)的上班玩游戲不會被罵。如果哪天你閑著無聊和同事聊天聊的太囂張被BOSS看見了,他第一句應(yīng)該是說“有閑功夫多玩玩游戲,閑聊什么天!?!?/p>
手機(jī)游戲制作
全球手機(jī)頂尖游戲3d motoracer 制作全揭密
圖文_吳剛 北京數(shù)位紅軟件應(yīng)用技術(shù)有限公司執(zhí)行董事
林志強(qiáng) 數(shù)位紅nightmare ii首席三維美術(shù)設(shè)計(jì)師
王科 數(shù)位紅motoracer3d首席三維美術(shù)設(shè)計(jì)師
3d motoracer 是數(shù)位紅公司開發(fā)的一款針對nokia s60設(shè)備及sony ericsson p800 (uiq)的3d游戲,該游戲上市幾個月來,已經(jīng)成為全球最暢銷的nokia s60、p800游戲應(yīng)用前三名之一。本文就是對3d motoracer 的開發(fā)過程進(jìn)行大致的介紹。
i. 游戲引擎的準(zhǔn)備
在制作游戲之前,必須有一套經(jīng)過長期測試并且適用的游戲引擎。
數(shù)位紅用了兩年的時間總結(jié)開發(fā)出一套基于移動設(shè)備的游戲引擎:dragon bone game engine for mobile phone(龍骨),他可以支持目前大部分的高端移動設(shè)備,它不僅可以使程序開發(fā)人員及游戲項(xiàng)目節(jié)省了大量的時間,另外還可以讓美術(shù)人員最直觀的看到其設(shè)計(jì)效果。它最大的價(jià)值就是可以使開發(fā)人員的一套代碼在不需要改動程序的情況下編譯運(yùn)行在不同設(shè)備平臺上(改動不超過20%)。目前數(shù)位紅及其他公司已經(jīng)使用它開發(fā)游戲超過了30款。
引擎提供了非常完善的9個模塊與3個增強(qiáng)模塊,可以完全滿足各類游戲開發(fā)的需要。游戲引擎可以直接嵌入到開發(fā)者的程序中,不需要額外的支持程序即可使所開發(fā)的游戲獨(dú)立運(yùn)行。游戲引擎簡單、易用,編譯后體積很小,占用內(nèi)存也很小,可以節(jié)省玩家的內(nèi)存空間及無線下載費(fèi)用?;疽姘?個模塊,引擎函數(shù)界面提供了類似windows的使用模式:
1、 文件操作模塊:提供類似標(biāo)準(zhǔn)c的fopen,fclose等函數(shù)。
2、 內(nèi)存管理模塊
3、 2d圖形圖象模塊
4、 對話框模塊
5、 sms操作模塊:可以在程序內(nèi)部對sms的收發(fā)進(jìn)行截獲處理。
6、 加密模塊:提供識別使用設(shè)備的imei功能,用于軟件的加密目的。
7、 聲音模塊
8、 資源打包及壓縮模塊:可是使最后發(fā)售的軟件包體積變小,盡量少的占用用戶的內(nèi)存空間。
9、 常用函數(shù):如字符串操作等函數(shù)。
10、例子:提供一套完整游戲magicline的源程序。
引擎增強(qiáng)模塊構(gòu)成
其增強(qiáng)部分,包含三個模塊:
1、 實(shí)時3d增強(qiáng)模塊
2、 聲音增強(qiáng)模塊
3、 圖形文件增強(qiáng)模塊
ii. 正式開發(fā)的前期工作
a. 開發(fā)工具的準(zhǔn)備
在很多人看來,手機(jī)游戲還是一種很新鮮時尚的玩意兒,所以,談起手機(jī)游戲的時候難免有種莫測高深的感覺。其實(shí),手機(jī)游戲的整個制作過程十分簡單。從某種角度而言,它是一種傳統(tǒng)的回歸,同時也是新舊技術(shù)的相互融合。最常用的開發(fā)工具有vc++,j builder及codewarrior,在設(shè)計(jì)工具上則更是和普通的pc游戲制作軟件沒有大的區(qū)別。有的設(shè)計(jì)人員更愿意使用“骨灰級”的二維設(shè)計(jì)工具dp,也有人愿意用3dmax、maya建模之后再進(jìn)行二維修改,當(dāng)然所有這些方法都要根據(jù)游戲的最終設(shè)定來決定。我們在做java游戲的時,一般都是采用像素級的二維繪制完成圖片,即逐個像素點(diǎn)的完成。但在制作pda等類似設(shè)備的游戲時,就會采用3dmax或者maya建立模型,渲染后再修整。在設(shè)計(jì)過程中,我們也與大多數(shù)游戲公司一樣使用了maya、3dmax、photoshop、painter等工具。
b. 確定游戲的各項(xiàng)參數(shù)及目標(biāo)設(shè)備
這要求程序人員能給出準(zhǔn)確的圖片限制大小,即所有圖片允許美工占用多少空間。由于手機(jī)游戲的制作受數(shù)據(jù)量的限制很大,所以我們在設(shè)計(jì)游戲時,經(jīng)常為減少1k空間大小而大傷腦筋。另外,就是需要準(zhǔn)確了解該手機(jī)允許的色彩數(shù)、分辨率、整屏刷新率,其實(shí)這也是對游戲引擎的一種測試。
以motoracer 3d為例,我們設(shè)想使其運(yùn)行在nokia 9210、nokia 7650/3650、sony ericsson p800、pocket pc平臺上。在數(shù)位紅,由于我們擁有了自主開發(fā)引擎dragon bone game engine for mobile phone,游戲引擎是跨平臺的,所以這一步驟我們就省去了不少時間。我們以nokia 7650/3650為最初調(diào)試藍(lán)本,原因是在這些設(shè)備中,nokia 7650/3650的速度相對較慢,屏幕尺寸也相對其他設(shè)備小,因此以它為基礎(chǔ)設(shè)備最為合適。
如下表,我們設(shè)計(jì)了motoracer 3d的基本技術(shù)參數(shù)。
技術(shù)參數(shù) 達(dá)成目標(biāo)及要求
圖像刷新速度 >18/fps
文件安裝完成大小 <1000k
文件未安裝大小 <400k
占用內(nèi)存峰值 <700k
使用過程中游戲占用內(nèi)存 <700k
游戲與操作系統(tǒng)兼容性 nokia 9210、nokia 7650/3650、sony ericsson p800、pocket pc
游戲圖形特效清單 無 alpha
圖形文件
聲音文件 .wav
數(shù)據(jù)自定義
目錄結(jié)構(gòu)/變動文件清單
使用的動態(tài)鏈接庫 未知
下面是經(jīng)過初步估計(jì)的基本圖片清單:
跑道外面的沙地草地元素
跑道的邊上的指示方向的牌。(左右)
跑道地面元素
背景的天空圖。
起跑線。
選擇的時候得車圖(4張)
比賽開始前站立的背面圖(4張)。
比賽時候得車加人背面圖(4套,每套9張,分別9個角度,從直立開始,每15度一張。)
撞車后的圖(3楨)
比賽完畢名次畫面。
速度儀表圖。
數(shù)字(0至9等寬橫排,分別有4套,速度數(shù)字,檔位數(shù)字,排位數(shù)字)
菜單背景
top ten
按鈕
巡回賽排名的背景
c. 準(zhǔn)備游戲策劃
很多開發(fā)者認(rèn)為,手機(jī)游戲的策劃不重要,這個觀點(diǎn)是嚴(yán)重錯誤的,手機(jī)游戲的美術(shù)與程序開發(fā)工作量都非常有限,其表現(xiàn)力也受非常大的制約,因此一款手機(jī)游戲的可完性如何在某種意義上完全取決于游戲策劃本身。
在此過程中,手機(jī)游戲策劃基本同傳統(tǒng)游戲策劃無異。但游戲策劃必須要對游戲的操作做出準(zhǔn)確的設(shè)計(jì),每個手機(jī)的鍵盤都不太相同,畢竟pc上的鍵盤基本都是101鍵。
再就是根據(jù)上面第一步給定的美工空間限制,美工要同策劃共同商議,嚴(yán)格計(jì)算每張圖片占用的空間,甚至是一個小圖標(biāo)都是不可以漏掉的。
以motoracer 3d為例,我們的游戲策劃做了大量有關(guān)物理力學(xué)方面的公式,使其美工在設(shè)計(jì)圖片時更符合真實(shí)的效果。
如下表:我們將每種賽車的速度特性均體現(xiàn)出來。
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 藍(lán)黃
加速度(mph/秒) 20 16 13 10 7
車4 最大速度(mph) 94 105 133 152 172 0.35 黃藍(lán)
加速度(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 8
d. 美術(shù)及程序開發(fā)工作
motoracer 的貼圖設(shè)計(jì)
建立摩托車的模型與賽手
調(diào)整運(yùn)行時的動作
另外最重要的就是如果想做一款motoracer這樣的游戲,首先自己就應(yīng)該是摩托車的行家,我們motoracer 3d的首席美術(shù)設(shè)計(jì)師王科,就是一個瘋狂的摩托車發(fā)燒友,他可以為了攢錢買機(jī)車,啃一年的饅頭。呵…
e. demo測試
測試工作以motoracer 3d為例,我們開發(fā)周期6個月,因?yàn)橛辛艘娴木壒?,使主代碼開發(fā)周期縮短至3個月,為了保證這款產(chǎn)品具備國際水準(zhǔn),剩余的3個月我們基本都在找問題、雞蛋里挑骨頭。于是一款位列全球手機(jī)游戲銷售前三名的motoracer 3d終于出爐了。
當(dāng)然,在數(shù)位紅像motoracer 3d的幸運(yùn)產(chǎn)品并不多,數(shù)位紅有30%的產(chǎn)品在demo期間就因?yàn)榭赏晷浴⒉僮鞲械葐栴}最終沒有面世。畢竟想要打造一個優(yōu)秀的品牌是要做出很大犧牲的。
iii. 手機(jī)游戲制作寶典
由于手機(jī)硬件設(shè)備方面的諸多限制和性能差異,我們在游戲的開發(fā)和制作過程中無法天馬行空般的進(jìn)行創(chuàng)作,而不得不綜合考慮到多方因素的平衡。下面列出的是一些關(guān)鍵的性能參數(shù),這些參數(shù)都直接影響游戲的效果。
分辨率
手機(jī)的屏幕大小各有不同,從80*30到320*240,就好比在pc發(fā)展過程中的cga、ega乃至vga,分辨率的高低直接導(dǎo)致了造型的大小及表現(xiàn)力,這點(diǎn)相信每個設(shè)計(jì)人員都有所體會。另外,由于手機(jī)型號及操作系統(tǒng)的多樣性,導(dǎo)致了一款游戲并不能不加改動的在不同的手機(jī)上運(yùn)行。對于美術(shù)設(shè)計(jì)人員而言,就要在設(shè)計(jì)之初考慮屏幕的自適應(yīng)問題。比如在128×128分辨率下與200×200的分辨率下,如何可以不重新更換圖片,但又達(dá)到同樣的效果?
色彩數(shù)量
目前手機(jī)能達(dá)到的色彩數(shù)量也是限制美術(shù)人員發(fā)揮的一個重要瓶頸。從過去幾年的黑白屏幕手機(jī)到現(xiàn)今256色、4096色及真彩色。digital-red在開發(fā)游戲時接觸過非常多的手機(jī),其中有的手機(jī)號稱能顯示4096色,但我們將一張4096色的色階圖進(jìn)行顯示,便發(fā)現(xiàn)有的顏色根本無法區(qū)分,更讓人吃驚的是,個別手機(jī)還色偏嚴(yán)重。所以,設(shè)計(jì)人員是一定要根據(jù)實(shí)際手機(jī)進(jìn)行圖片繪制,在此,digital-red有過非常多的教訓(xùn)。
明亮度
液晶屏幕由于其獨(dú)特的發(fā)光原理,并不能達(dá)到傳統(tǒng)顯示器的亮度,同時也就導(dǎo)致了很多色彩豐富的圖案在強(qiáng)光下,不能顯示出原有的效果,這點(diǎn)在手機(jī)戶外顯示時尤其明顯。因此設(shè)計(jì)人員在設(shè)計(jì)手機(jī)游戲圖片時一定要考慮這點(diǎn),不能將色彩對比度設(shè)置的過于接近、圖片設(shè)計(jì)一定要簡潔明快,避免過小的圖片。
顯示速度
在我們接觸的手機(jī)里,很多由于運(yùn)算速度的問題,導(dǎo)致動畫幀數(shù)并不能流暢,甚至達(dá)到不了10幀/秒,這對于游戲動畫而言是致命的,我們一般采取局部刷幀或者盡量避免全屏幕動畫來盡量達(dá)到預(yù)期效果。而且液晶屏幕本身也有顯示速度問題,我們就發(fā)現(xiàn)過很多手機(jī)都有影像“拖尾”情況。這種情況,在實(shí)際游戲中很容易造成玩家的視覺疲勞,尤其在顛簸的車上或者是行動中,游戲時間過長,就有頭暈?zāi)垦5母杏X。如此,即使是一款優(yōu)秀的游戲也無法留住玩家了。
電力
由于手機(jī)是液晶屏幕,大多數(shù)設(shè)備在高亮度的像素顯示與一般像素顯示上,兩者耗電量是有所區(qū)別的,例如白色背景就要比黑色背景消耗更多的電池能量。因此,對于手機(jī)游戲而言,要盡可能節(jié)省玩家的電池,也算是對玩家的一種體貼吧。
手機(jī)游戲開發(fā)過程中的一些錯誤觀念
很多想開發(fā)手機(jī)游戲的朋友們對于手機(jī)游戲都充滿了幻想,digital-red也曾與這些朋友們一樣,在腦海中有非常多的想法等待實(shí)現(xiàn),但一旦真正開發(fā)游戲的時候我們就發(fā)現(xiàn)很不現(xiàn)實(shí),這里將幾個常見的錯誤認(rèn)識與諸位分享:
移植pc游戲到手機(jī)上
pc上的游戲已經(jīng)以百兆來計(jì)算其占用空間了,而很多手機(jī)游戲是以k來計(jì)算,大多數(shù)的手機(jī)游戲能安裝60k的游戲就算不錯了。
j2me游戲不用改動可以運(yùn)行在各種手機(jī)上
j2me在移動設(shè)備上有一個midp 1.0標(biāo)準(zhǔn),但各個手機(jī)廠商在推出支持j2me的手機(jī)上都對其進(jìn)行了擴(kuò)充甚至改動,一個程序想要達(dá)到最理想的效果就一定要針對不同型號的手機(jī)。
用java開發(fā)手機(jī)游戲要比用c++好
使用java開發(fā)手機(jī)游戲的確非常方便,但在效果與性能上很難與c++代碼實(shí)現(xiàn)效果比擬。如在symbian os/wince設(shè)備上我們還是推薦盡量使用c++來開發(fā)為好。
java開發(fā)出的應(yīng)用程序占用的空間小
在開發(fā)小型應(yīng)用時,java程序的確空間占用較小,但如果游戲項(xiàng)目過大,java游戲的小巧優(yōu)勢就很難體現(xiàn)了。
手機(jī)游戲策劃與傳統(tǒng)游戲策劃無異
手機(jī)游戲的策劃禁忌非常多,要求策劃人員必須全面了解手機(jī)的技術(shù)性能才能做出針對性的優(yōu)秀游戲。
美術(shù)可以畫大圖,然后再縮小
一張大圖如果縮成12*12大小,效果就可想而知了。
模塊編程和代碼編程的區(qū)別?
①模塊編程。它是指將大型、笨拙的編程任務(wù)分解為單獨(dú)的、更小更易于管理的子任務(wù)或模塊的過程。然后可以像構(gòu)建塊一樣拼湊單個模塊以創(chuàng)建更大的應(yīng)用程序。
②代碼編程。利用代碼進(jìn)行程序編制,最后得出一種符合人們需要的一種程序,實(shí)現(xiàn)解決實(shí)際問題的程序的需要。
游戲腳本都是什么人做的?
腳本是一種批處理文件的工具,是一種已純文本保存的小型程序代碼,這種腳本一般來說是確定一系列控制計(jì)算機(jī)進(jìn)行運(yùn)算操作的“動作”,這種“動作”可以實(shí)現(xiàn)一些簡單的邏輯運(yùn)算處理。
在現(xiàn)實(shí)生活中,一般腳本分為兩大類:工具類和游戲類,其實(shí)用途和原理都差不多,目的都是方便使用者的日常需求,比如,你需要在電腦上不停地按回車鍵,如果是真人按的話就會很浪費(fèi)時間,這種又簡單又無味的事情可以通過編寫腳本實(shí)現(xiàn),使用腳本讓電腦自動不停地按回車十年都沒問題,這大大地解決了人類生活的一些瑣碎事情,在電腦上只需要交給腳本就可以完成。
工具類的腳本,顧名思義就是運(yùn)用到軟件、系統(tǒng)里的腳本,那么我們這些喜歡玩游戲的人就聊聊游戲類的腳本吧!
游戲腳本用哪些語言編程?游戲腳本是通過一種程序代碼語言編織而成,這些常見的腳本語言有:JavaScript,VBScript,ActionScript,ASP,JSP,PHP,SQL,Perl,Shell,python,Ruby,JavaFX等,隨著手機(jī)游戲逐漸發(fā)展,現(xiàn)在很多程序員都使用Unity編程進(jìn)行腳本化。
游戲腳本對游戲有哪些影響?游戲腳本對游戲的影響有好有壞。
好的游戲腳本可以作為輔助玩家更好體驗(yàn)游戲的“工具”,就比如以前《魔獸世界》的腳本插件,大大優(yōu)化了游戲的互動體驗(yàn),彌補(bǔ)游戲中的一些功能缺陷,如:一鍵打開背包、一鍵拾取掉落物品等輔助功能,讓玩家不會重復(fù)地做這些無謂的操作。
壞的腳本可以理解為盜號的工具,也會破壞游戲的平衡性,破壞游戲的公平性,破壞游戲公司和玩家的利益,這種腳本對游戲的影響非常大,所以使用時也要慎重考慮。
游戲腳本到底是哪些人做的?一般能做游戲腳本的一定會語言編程,雖然腳本不需要很高深的編程語言能力,但是對于普通人來說程序的語言簡直就是天書,根本無法理解,也無法制作出來。
很久以前有一款名為《按鍵精靈》的軟件,它可以讓一些不懂語言的玩家制作自己想需要的簡單腳本,但是這種腳本只能做一些非常簡單的動作,其實(shí)這種并不是真正的腳本。
所以真正的游戲腳本一般都是程序員和會一些基礎(chǔ)語言的人編寫的。
對游戲,各有態(tài)度,各有觀點(diǎn),歡迎關(guān)注我一起討論。
聲明原創(chuàng):文章所有內(nèi)容都是本人純手工打字,絕對本人原創(chuàng)。
以上就是關(guān)于在編程軟件里做游戲代碼和開發(fā)一款游戲需要什么軟件的相關(guān)問題解答,希望對你有所幫助。