中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

游戲引擎介紹,架構,設計及實現

發布時間:2020-09-03 05:56:05 來源:網絡 閱讀:691 作者:大水牛牛 欄目:移動開發

     本文的靈感來自于《Android應用開發揭秘》的游戲引擎的那一章。

     關于Game Engine,我能想到的幾個問題:

      1、游戲引擎是什么?

      2、Game Engine是為了解決什么問題?

      3、Game Engine的架構是什么?

      4、如何設計一款游戲引擎?

      5、游戲引擎包含哪些模塊?

       下面就來探討幾個問題:

       1. Game Engine是什么?

       游戲產業在全球來看是一個很大的產業,一款游戲大作包含了非常多的元素。游戲涉及到劇情、人物、任務、關卡、地圖、畫質、美術、音樂、網絡等多種元素。開發一款游戲實際上需要耗費非常多的資源,據說North Star的《GTA V》耗資幾億美元。正因為如此,在開發項目過程中,盡可能復用之前項目成功的東西就非常重要。

        一款游戲中,Game Engine直接控制著劇情、關卡、美工、音樂、操作等內容,將游戲的所有元素捆綁在一起。

        一般來說,一款Game Engine需要包含以下模塊:

       1、基本框架(渲染、邏輯、物理 等等各部分如何組裝)

       2、資源管理

       3、渲染

       4、基本邏輯(網游還要解決邏輯的同步問題)

       5、物理(有時候和邏輯合并)

       6、UI 

       7、音樂音效 

       8、網絡 

       9、腳本(有些類型的游戲引擎需要腳本和邏輯的關聯性非常強,有些腳本則比較獨立) 

       2. Game Engine為了解決什么問題?

       Game Engine實際上有效的減少開發者編寫程序時的冗余勞動,同時增強游戲的可移植性。

       Engine就是游戲的框架,我們需要往框架中填充內容就可以形成一個游戲。

       引擎,就是一系列的工具和生產鏈,像Unreal 3,Unity這樣的成熟引擎,用起來非常方便,就是因為它的關卡/場景編輯器十分宜用,支持多種腳本語言。這類引擎運用恰當的話,理論上能將關卡調試和物件流水線的大部分工作從程序員那里完全移出。

        3. Game Engine的架構

       游戲 = 引擎(程序) + 資源(圖像、聲音、動畫等) 

       目前的Game Engine的架構都是Model-View-Controller架構,邏輯和顯示分開,由一個邏輯控制流來協調Client的請求和Server的行動。

       1、View: 負責界面回執

       2、Controller:處理工作流程的創建和種植,用戶輸入,各種事件的處理

       3、Model: 模型、邏輯,程序的功能實現

       消息循環->更新數據->繪制各節點 這是繪制的基本結構基本不會有大的改變。

       各種引擎的變種很大部分是在游戲邏輯上的封裝。腳本也好,直接寫代碼也好。比如較為古老的數據與函數分離,以C語言為代表。大行其道的類結構。以c++為代表。以及現在光環日耀的CBSE,基于組件的架構

        4. 如何設計一款游戲引擎?

        <1>. 結構設計及功能設計

        Game Engine的設計包括結構設計、功能設計及注意事項。

        Game Engine包括圖形引擎、腳本引擎、物理引擎、工具模塊、音效引擎、網絡組件、事件組件等。

        Android游戲主要包括一個Activity類、流程控制類、游戲線程類和游戲對象類。Activity類是游戲的執行單元,負責游戲生命周期的控制。

         流程控制:提供在游戲中多個界面之間切換方法;

         游戲線程:不斷監測可能發生的各種事件,計算游戲狀態,刷新屏幕。

         <2>. 注意事項:

         手機游戲的主要問題是 硬件限制 及 電池瓶頸。CPU及內存不足,屏幕大小,音效等多方面限制,在設計時需要注意這些方面。

        5. 實現一款游戲引擎

        游戲引擎只是一款炒菜的炒菜鍋,但有了好的炒菜鍋不一定能保證炒出好的菜。

        游戲引擎的實現就很復雜了,需要按照上一節的架構及功能設計去編碼實現,目前絕大部分都是面向對象編程,設計好各種類。比如人物、NPC、道具、動畫、動植物等等。有余力的同學可以去研究研究。

        最近流行的一些游戲,其實也并不需要多么NB的游戲引擎,充分發掘用戶的痛點才能設計出一款好的游戲。

       目前有很多開源的Game Engine可供大家研究,比如Unity3D, Box2D等,大家可以去網上搜索并研究。

        6. 對手機游戲的展望

        這兩年玩過的手機游戲也不少,一款好的手機游戲應該具備哪些特征:

        1、上手容易,精通不易,且玩且珍惜。手游面向的是大眾,所以上手難的游戲就一律pass,必須保證游戲具有簡單性,讓玩家一安裝就可以玩的;

        2、可中斷,時間短。一般玩游戲,都是在公交地鐵上等碎片時間里,所以提供的是短時間的娛樂效果,允許在游戲和工作模式之間順利切換;

        3、必須加入SNS元素:一款好的手游應該具有社交元素,可以加入LBS尋找周圍的玩家,或和好友一起玩游戲及互動,抑或者認識新的好友。因為手游都很簡單,所以要留住玩家,加入SNS可以留住玩家;

        4、充分利用手機的各項優點:手機的優點比如便攜性,私密性,即使抵達。手機是我們身體的延伸,所以一款好的游戲應該充分利用手機的一些傳感器、攝像頭、網絡、藍牙,找出特點,以便設計出一款優秀的游戲。

        另外,對于安全這塊,Android應用安全系數低就不用數了,Android游戲開發也是屢遭游戲外掛、游戲封包、加速器、內購破解及內存修改等眾多風險的威脅。因此,要討好最終用戶,還得給自己開發的游戲穿一層保護衣,可以利用移動應用安全平臺的加密技術,在這方面,愛加密有專門的解決方案,無論強聯網、弱聯網還是單機游戲,都有相應的完整的解決方案http://www.ijiami.cn/appprotect_mobile_games


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新津县| 江华| 大洼县| 崇明县| 资讯| 金坛市| 三穗县| 平顶山市| 托克托县| 横峰县| 巴塘县| 若羌县| 鹿邑县| 巩留县| 黄大仙区| 广宁县| 射洪县| 桓仁| 盐池县| 衡水市| 新巴尔虎右旗| 舟曲县| 前郭尔| 丘北县| 南岸区| 社旗县| 绥滨县| 车险| 应用必备| 广河县| 石狮市| 盱眙县| 安康市| 商水县| 工布江达县| 聊城市| 环江| 铜鼓县| 英超| 九江县| 遵义市|