掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
從小到大,雖然玩過的游戲不少,但是從寫程序開始,目前為此僅僅寫過2個游戲。其一是2011年在MTK平臺下寫的貪食蛇,其二是2010年在嵌入式開發(fā)板上寫過一個迷宮的游戲。第一個代碼量大概有3000行左右,第二個有2000行左右。

創(chuàng)新互聯(lián)公司致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,包括網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營銷策劃推廣、電子商務(wù)、移動互聯(lián)網(wǎng)營銷等。創(chuàng)新互聯(lián)公司為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)公司核心團隊10多年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗,為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。
這2個游戲都很簡單,而且網(wǎng)上有很多現(xiàn)成的例子可供參考,因此難度也比較低。
這2天把拖延了好久的《Android應(yīng)用開發(fā)揭秘》的游戲引擎的那一章看完了,收獲還是很大,在此寫一篇讀書筆記。
關(guān)于Game Engine,我能想到的幾個問題:
下面就來探討幾個問題:
游戲產(chǎn)業(yè)在全球來看是一個很大的產(chǎn)業(yè),一款游戲大作包含了非常多的元素。游戲涉及到劇情、人物、任務(wù)、關(guān)卡、地圖、畫質(zhì)、美術(shù)、音樂、網(wǎng)絡(luò)等多種元 素。開發(fā)一款游戲?qū)嶋H上需要耗費非常多的資源,據(jù)說North Star的《GTA V》耗資幾億美元。正因為如此,在開發(fā)項目過程中,盡可能復(fù)用之前項目成功的東西就非常重要。
一款游戲中,Game Engine直接控制著劇情、關(guān)卡、美工、音樂、操作等內(nèi)容,將游戲的所有元素捆綁在一起。
一般來說,一款Game Engine需要包含以下模塊:
—————-分割線,以下是重要但較為獨立的部分——————–
6. UI 7. 音樂音效 8. 網(wǎng)絡(luò) 9. 腳本(有些類型的游戲引擎需要腳本和邏輯的關(guān)聯(lián)性非常強,有些腳本則比較獨立) Game Engine實際上有效的減少開發(fā)者編寫程序時的冗余勞動,同時增強游戲的可移植性。
Engine就是游戲的框架,我們需要往框架中填充內(nèi)容就可以形成一個游戲。
引擎,就是一系列的工具和生產(chǎn)鏈,像Unreal 3,Unity這樣的成熟引擎,用起來非常方便,就是因為它的關(guān)卡/場景編輯器十分宜用,支持多種腳本語言。這類引擎運用恰當(dāng)?shù)脑挘碚撋夏軐㈥P(guān)卡調(diào)試和物件流水線的大部分工作從程序員那里完全移出。
游戲 = 引擎(程序) + 資源(圖像、聲音、動畫等) 目前的Game Engine的架構(gòu)都是Model-View-Controller架構(gòu),邏輯和顯示分開,由一個邏輯控制流來協(xié)調(diào)Client的請求和Server的行動。
消息循環(huán)->更新數(shù)據(jù)->繪制各節(jié)點這是繪制的基本結(jié)構(gòu)基本不會有大的改變。
各種引擎的變種很大部分是在游戲邏輯上的封裝。腳本也好,直接寫代碼也好。比如較為古老的數(shù)據(jù)與函數(shù)分離,以C語言為代表。大行其道的類結(jié)構(gòu)。以c++為代表。以及現(xiàn)在光環(huán)日耀的CBSE,基于組件的架構(gòu)
Game Engine的設(shè)計包括結(jié)構(gòu)設(shè)計、功能設(shè)計及注意事項。
Game Engine包括圖形引擎、腳本引擎、物理引擎、工具模塊、音效引擎、網(wǎng)絡(luò)組件、事件組件等。
Android游戲主要包括一個Activity類、流程控制類、游戲線程類和游戲?qū)ο箢?。Activity類是游戲的執(zhí)行單元,負責(zé)游戲生命周期的控制。
流程控制:提供在游戲中多個界面之間切換方法;
游戲線程:不斷監(jiān)測可能發(fā)生的各種事件,計算游戲狀態(tài),刷新屏幕。
手機游戲的主要問題是 硬件限制 及 電池瓶頸。CPU及內(nèi)存不足,屏幕大小,音效等多方面限制,在設(shè)計時需要注意這些方面。
游戲引擎只是一款炒菜的炒菜鍋,但有了好的炒菜鍋不一定能保證炒出好的菜。
游戲引擎的實現(xiàn)就很復(fù)雜了,需要按照上一節(jié)的架構(gòu)及功能設(shè)計去編碼實現(xiàn),目前絕大部分都是面向?qū)ο缶幊?,設(shè)計好各種類。比如人物、NPC、道具、動畫、動植物等等。有余力的同學(xué)可以去研究研究。
最近流行的一些游戲,其實也并不需要多么NB的游戲引擎,充分發(fā)掘用戶的痛點才能設(shè)計出一款好的游戲。
目前有很多開源的Game Engine可供大家研究,比如Unity3D, Box2D等,大家可以去網(wǎng)上搜索并研究。
這2年玩過的手機游戲也不少,我也來談?wù)勔豢詈玫氖謾C游戲應(yīng)該具備哪些特征:

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流