琴弦jerry 原創文章 轉載請遵循 “署名-非商用-禁止演繹 2.5 中國大陸”創作共用協議
轉載請保留原文連結:http://www.jerry-zhang.com/index.php/2011/09/25/android-game-dev-1-need-what-knowledge/
一直想自己寫遊戲玩,雖然我平時對遊戲不是很感冒;不過我總是有很多好玩的遊戲點子,想自己開發出來給自己和朋友們玩。
最近瀏覽了很多關於遊戲開發的資料。遊戲,說的透徹點就是利用鍵盤、觸控螢幕、感應器、手勢、mic等做為輸入, 映像、聲音、文字以一種有趣的方式組合調用做為輸出。看透本質還是輸出+輸入。
聲音:作為遊戲如果有聲音做為背景音樂、音效,甚至語音對話。無疑可以給遊戲加分。不過做為手機遊戲,由於聲音需要耗電,且相比顯示畫面來說又不是很重要,所以往往有很多手機遊戲會捨棄聲音。
映像顯示是最基本也是最重要的的功能,一款沒任何畫面顯示的遊戲,會讓人們很吃驚。不過,如果你是給盲人朋友們開發的遊戲也是可以沒有畫面的。畫面不但要有,而且由於現在的使用者的品位不斷提高,畫面的品質、流暢度、精細程度也會很大要求。
必要的文字提示是很有作用的,不然只有圖片示意有些複雜的意思是沒有辦法表達的。在遊戲中最好還是少出現大段的闡述為好。因為畢竟也很少人會仔細看這些大段的文字。為了整體遊戲的故事背景,適當的出現小段文字還是可以接受的。當然這些都屬於遊戲的設計理念問題了,和技術無關。
輸入方式可以有很多選擇,鍵盤按鍵,觸控螢幕,重力感應器,加速感應器甚至可以是光感。
就上面的這幾點,我就可以看出,畫圖、貼圖製作出優質的畫面是基本功。各種輸入形式的api我們也應該熟悉。要將映像畫的清晰、流暢應該就需要一些技巧了。圖片要清晰就需要佔用更多的記憶體,而要流暢就需要盡量少的佔用記憶體和cpu。同時要妥當的處理多線程問題。
資料的儲存和擷取會有本地和網路兩種形式,如果是網路遊戲需要處理比較即時的資料互動,同時如何才能給很好的處理網路緩慢,網路品質差的問題也將是痛點。
遊戲的畫面中會有很多類比的物理現象,比如自由落體、拋物線等各種生活曲線。我們就需要研究演算法,看如何才能更高效的畫出更加逼真的畫面。這是還僅僅顯示方面的問題。
而作為遊戲中的人物 、怪物都需要智能化。我們需要花費更多的時間和精力去研究。比如研究如何讓程式會下象棋,數獨遊戲中如何讓手機很快的判斷使用者是否輸入正確的數字,如何讓坦克大戰中的坦克更加聰明(太笨了玩著沒勁)等等,會有很多比這些問題更加複雜的困難等著你 。
手機遊戲開發,不僅僅需要你有紮實的編程基礎,同時你需要懂得如何將程式做的佔用更少cpu記憶體。因此挑戰更多。
我也是剛剛開始學習遊戲開發,文中闡述的觀點有不準確或者錯誤的地方還請大家不吝指教。
琴弦jerry 原創文章 轉載請遵循 “署名-非商用-禁止演繹 2.5 中國大陸”創作共用協議
轉載請保留原文連結:http://www.jerry-zhang.com/index.php/2011/09/25/android-game-dev-1-need-what-knowledge/