成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

游戲引擎學習筆記:介紹,架構,設計及實現

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

[[120519]]

從小到大,雖然玩過的游戲不少,但是從寫程序開始,目前為此僅僅寫過2個游戲。其一是2011年在MTK平臺下寫的貪食蛇,其二是2010年在嵌入式開發板上寫過一個迷宮的游戲。第一個代碼量大概有3000行左右,第二個有2000行左右。

這2個游戲都很簡單,而且網上有很多現成的例子可供參考,因此難度也比較低。

這2天把拖延了好久的《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. 對手機游戲的展望

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

  1. 上手容易,精通不易,且玩且珍惜。手游面向的是大眾,所以上手難的游戲就一律pass,必須保證游戲具有簡單性,讓玩家一安裝就可以玩的;
  2. 可中斷,時間短。一般玩游戲,都是在公交地鐵上等碎片時間里,所以提供的是短時間的娛樂效果,允許在游戲和工作模式之間順利切換;
  3. 必須加入SNS元素:一款好的手游應該具有社交元素,可以加入LBS尋找周圍的玩家,或和好友一起玩游戲及互動,抑或者認識新的好友。因為手游都很簡單,所以要留住玩家,加入SNS可以留住玩家;
  4. 充分利用手機的各項優點:手機的優點比如便攜性,私密性,即使抵達。手機是我們身體的延伸,所以一款好的游戲應該充分利用手機的一些傳感器、攝像頭、網絡、藍牙,找出特點,以便設計出一款優秀的游戲。
責任編輯:閆佳明 來源: longluo.github.io
相關推薦

2013-04-07 14:36:19

手機游戲手機游戲引擎

2013-04-19 01:42:02

2011-03-08 10:27:25

MongoDB介紹安裝

2009-07-23 13:23:47

開源游戲引擎

2009-11-05 11:31:00

WCF綁定

2011-09-13 15:35:40

Widget

2024-03-19 08:54:20

Rust語言內存管理應用程序開發

2015-09-09 09:39:59

網絡Web

2010-09-30 13:48:10

J2ME游戲引擎

2023-01-04 08:02:16

工作流架構設計

2022-01-04 09:15:28

存儲Bitcask引擎

2009-08-28 10:57:42

linux操作系統linux學習目錄架構

2022-09-12 07:17:20

redis命令redissynce

2010-06-13 12:49:23

UML及建模

2011-12-20 15:52:03

PhoneGap架構基礎工作原理

2009-09-14 09:41:50

2011-07-18 10:53:09

2011-07-18 11:07:12

iPhone 游戲 引擎

2011-11-09 09:55:30

游戲Android再設計

2011-07-18 12:29:10

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美视频三区 | 欧美日韩久久 | 亚洲精品www| 日本亚洲欧美 | 色视频在线播放 | 99re在线视频 | 亚洲欧美视频一区 | 国产成人av在线 | 欧美精品一区在线发布 | 免费在线观看一区二区 | 中文字幕一区在线观看视频 | 视频一区二区中文字幕日韩 | 中文字幕免费在线 | www.免费看片.com | 欧美成人精品在线 | 成人乱人乱一区二区三区软件 | 国产视频精品区 | 精品久久久久久久久久久 | 久久久精品一区 | 国产特级毛片 | 99久久久99久久国产片鸭王 | 四虎影| 久久久久久亚洲国产精品 | 91视频在线看 | 久久一区视频 | 欧美理论片在线 | 黄色大全免费看 | 男女啪啪高潮无遮挡免费动态 | 久久99精品久久久久久秒播九色 | 一区二区视频免费观看 | 久久乐国产精品 | 亚洲天堂av网 | 欧美 日韩 国产 成人 | 国产福利免费视频 | 狠狠色综合欧美激情 | 一区二区三区欧美在线 | 最新伦理片 | 欧美成人精品一区二区三区 | 午夜电影日韩 | 国产精品久久久久久久久久久免费看 | 欧美激情精品久久久久久变态 |