青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++ Programmer's Cookbook

{C++ 基礎} {C++ 高級} {C#界面,C++核心算法} {設計模式} {C#基礎}

游戲引擎基礎(九)(現成產品與定做的游戲引擎設計工具,游戲特定主題)

9部分: 現成產品與定做的游戲引擎設計工具,游戲特定主題


現成產品與定做的設計工具
  我們從第8部份的腳本引擎來到這一章節中的許多主題,我們認為那些鐵桿游戲玩家和有志成為游戲開發者的那些人將會發現它們相當有趣。我們將開始討論現成產品與定制的設計工具。

  你的工具的選擇是你引擎設計的一個非常重要的部份,因為這是你將用來給你的游戲產生內容的東西,是最耗時的部份。在這個過程中有助于節省時間和資源的任何東西都是好的。那些不能的東西就是糟糕的。在那里,那是容易的。

  當然沒有那么容易。有比這更多的事情可能會立刻被注意到。你的工具集的選擇,和從工具到游戲的資產路徑比它聽起來更有技巧得多,并受到很多因素的影響,比如,是否適宜手邊的工作,費用,內容生產者的熟悉,市場滲透,工具支持等等。當考慮選擇現貨成品工具,或者即使當開發你自己的工具時,記得開發者實際在做工作,最好能夠做需要借助工具做的。一些現貨成品工具能在價格上達到那里,當你陷入多個拷貝許可時,費用猛漲。

  然后就有誘人的可能性從頭制造你自己的工具,為你游戲和引擎的需要而設計。這當然需要時間,和程序員大量的努力來產生在開發者友好方式中所需要的東西。快速打造基于窗口的文件轉換器是一回事情,從頭建造一個完整的關卡設計工具又是另外一回事情。另一方面,如果你確實選擇這條道路,最后你會有游戲開發者地帶其他人沒有的工具,因此你的東西將會看起來是獨特的。如今與眾不同是一件非常值得想望的事情,而且從群眾這些天起突出是一件非常令人想要的事物,產生所有的競爭。

  當然由于內部的工具開發,你需要某人來做所有那些不可避免的小的改變和修正。但這里真正的意義是這是可能的。使用現成的工具,工具開發者會很少因為你需要的一些特征而改變他們的輸出文件格式。這樣你的東西最后看起來更加通用一些,否則你必須采用額外的步驟使用另外的工具來得到想要的結果,當然會花費開發者更多的時間。

  值得記住的是如今許多有名的3D工具已經有一段時間的歷史了,并且正在產生簡直沒有錯誤的產品,更重要的是,對他們所做的已經有一定程度的經驗了。

  如果你選擇建造你自己的工具,多半你是,a 重新創造車輪到某種程度 b 陷入那些建造現成工具的人們已經遇到過的相同的問題之中,只是他們已經解決了這些問題。時常人們建造一個單一特定的工具花費了相當的時間和努力,并產生了一個遠遠超出你自己的個人需求的工具。還有,他們有代表性地收編了一些你或者認為是沒有用的,或者沒有時間自己實現的特征。加上他們典型地有吸收特征你或會沒有想有用,或沒有時間實現你自己. 這是第三方軟件無法爭辯的。


插件和目的建造工具
  通常大多數的游戲開發過程最終都是這樣的混合,自己開發的文件轉換器工具,現成的內容創造工具,和通常那些要增加一些必須的特殊功能的工具的一些附加插件。現成工具在提供你不可避免會需要的功能方面有很長一段時間了,但是正如不可避免,總有一些很有用的,有幫助的,或者完全必須的東西你不能得到。一個小的插件可能是一個很好的替代品,而且時常那就是所走過的路。為特定目的建造的預處理程序也是可用的,比如把TGA文件轉換為一個對PS2友好的格式,或者那些相關的東西。

  如果你或你的公司打算建造某種類型游戲的工具,那么這些工具一般是從一個項目到一個項目地演變發展,而不是每次都從頭重新建造。如果你變換游戲類型,很好,那些產生具有每個多邊形命中能力的高分辨率模型的工具明顯地不是一款RTS(即時戰略)風格游戲所必須的。

  Gil GribbRave Software的技術帶頭人,對現成的工具自己動手建造的問題是這么說的:

  "自己開發的工具有能夠根據自己產品的需要進行定制的優勢,你擁有代碼,可以修正任何錯誤或者增加任何的改進。

  自制工具的缺點是建造和維護它們是非常昂貴的,通常成本要比現成工具高很多。在許多情況下,由于應用程序范圍的緣故,建立自己的工具是完全不可能的,比如說3D建模和動畫軟件包或者位圖編輯軟件。"

  當然,如果你想要游戲玩家能夠修改你的游戲,而且你自己建立了所有的工具,那么你就必須要向世界發布這些工具。這可能會引起一點點疑惑,記住建立你自己的工具的部分原因是你可以領先你的競爭者。有時侯發布這些工具的源代碼甚至可能讓你獲益匪淺,這確實提供了一種創造內容的方法。再次,Gil Gribb闡述這個主題:

  "我是支持發布幾乎所有的源代碼。我認為我們沒有任何來自我們的競爭者的害怕的事情,合法的業務不會想到竊取知識產權。游戲迷,業余游戲制作者,以及游戲的普及都能夠從發布的源代碼獲益。"

  好,我們的游戲引擎剖析系列到這里,當然我們已經特別討論了許多和引擎相關的主題,下面讓我們繼續討論一些與游戲特定相關的部分。


游戲控制機制
  控制機制能夠對開發中的游戲帶來巨大的差別,有時甚至表明你正在建立的游戲的種類或者風格。

  嘗試在某個時候用gamepad玩一個即時戰略類游戲--它不只沒有樂趣。有時當你被限制在一個特定的輸入裝置的時候,例如鼠標和鍵盤,為你的游戲發明新的控制方法會是一個令人筋疲力盡的過程。當Raven開始開發Heretic II時他們決定做的第一件事情之一就是為用鼠標使用第三人稱照相機嘗試和找出一個直觀的方法。在這以前,大多數游戲采用的是Tomb Raider風格的照相機(第三人稱預兆的追逐)他們發現這時常不能正確地工作,在很多情形下會給玩家帶來挫折。照相機時常會得到任意的視角,如果可能的話移動相機,而且有時改變玩家的方向。

  假定他們的目標對象是FPS游戲人群,Raven需要找到一個對FPS游戲玩家來說直觀的控制烏鴉座(Corvus)的方式。他們這樣做了,但確實花費了一些時間,和一些不同的方式他們應當讓照相機固定在一個方向嗎,或者讓它是浮動的嗎?大多數游戲開發努力除非一個確定類型游戲的一個沒有虛飾的實現傾向于花費一些研發找出物理控制裝置和游戲需要的內部控制機制的最直接的合并。這里是一個暗示一旦你發現一個方式很起作用,就堅持下去。用這種方式控制游戲內在的東西能把視野,直覺,甚至游戲的焦點完全改變成你從未想要過的東西。發現起作用的東西,證明它起作用,然后就別管它。過分設計控制會導致特征偏離和可察覺的游戲概念問題。

  像這類特征偏離的一個很好的例子可以在Independence War中看到。這款游戲有著如此多的模式,按鍵,等等,僅僅熟悉和操縱游戲都不可能。

  很明確這里的關鍵是簡單。一個好的經驗法則是,在正常的游戲中,如果你的游戲需要比在普通的gamepad的按鍵或者你手上的手指更多的按鍵,那么一些事情需要被重做。注意, 我不是說一款游戲不應該有靈活性—Soldier of Fortune必定有許多可能的按鍵設定。但通常,當你認為它們大多數實際上都是不需要的時候Quake引擎有一個很好的方式。是的,你可以選擇你想要使用什么武器,但你不是必須這樣。游戲將會自動地為你那樣做。這就是靈活性和過度設計之間的不同。如果游戲需要你按下某個鍵來選擇一個武器,那將會有問題。你理解這個了嗎?

  控制機制不能被過高估價 -- 一款游戲時常將會根據玩家覺得他們對事件或者主要角色有多少控制而獲得成功或失敗。如果控制被改變,重新定向,或僅僅簡單地從他們哪兒移除,它能導致游戲自身缺乏參與,不用說,那是一件很糟糕的事情。在這上面花費時間并讓它保持簡單,將會有巨大的幫助。


實體和照相機
  現在我們來到了引擎不太令人愉快的部份,也是定義得最少的部分。當游戲運行的時候,游戲在這個部分能變得極端地多出錯,耗時間,或僅徹底的極限。

  在這里我們所談論的是游戲引擎的 "游戲" 部份。這個部分使用所有的其它技術讓一些事物顯示在屏幕上,到處移動,讓它對你產生反應并且讓你對一些事物產生反應。這個系統有許多方法,但現在我將緊扣Quake的方法因為那是我最熟悉的。

  讓我們從實體開始。這些可以被定義為游戲對象。現在那不僅僅意謂你在屏幕上看見的模型,雖然實體確定地控制這些 -- 實體也可能是其他的事物。基本上它是游戲在任何給定時間需要知道的任何事物,例如讓事情繼續進行的定時器,模型的碰撞檢測盒,特效,模型,游戲玩家,等等。

  甚至照相機都可能是實體(在幾乎所有Raven的產品中都是這樣)。照相機在世界中被分配一個有角度的原點,它們每幀都被刷新并告知渲染器應該從哪里得到它的視野數據,and off we go。典型地實體是為了返回到游戲早先的狀態而被存儲和裝載的那些東西。通常在裝載過程中使用的方法是把游戲地圖裝載進來,好像你正在重新開始一個關卡一樣,然后裝載所有存儲的實體,這樣他們就返回到游戲存儲時它們的狀態。Voila,即刻返回一個存儲的游戲。當我理解Heretic II的方法時這并不是那么的容易裝載/存儲幾乎比其他任何事情帶給我的問題還多,特別是在協作模式。

照相機有許多形式:

  自由形式:照相機能去任何地方
  腳本:照相機可以沿著一條設定的路徑前進
  游戲時間:照相機有必須要遵循的定義的行為

  僅僅說"嗯,我將僅僅跟隨主要的角色"是不夠的。這意謂你也可能需要讓照相機穿過墻壁,或讓它按一些方式移動以致甚至引起一些胃的惡心。讓它沿著一些定義的上下運動路徑前進也有益處,如同任何玩Descent游戲超過一小時的人可以告訴你的一樣。身體和頭部習慣于上下是一個靜態的變量,并當它不是時,他們不喜歡它。制作Quake 1 Mike Abrash,曾經告訴我即使當它被定義,他仍然處理 的麥可 Abrash 地震 1,曾經告訴我即使當它被定義,他仍然從他們正制作的游戲感到運動惡心。他提到,對于他來說,離開制作Quake 1一年時間才讓他的胃安定下來。啊哈,我們所作出的犧牲。


武器系統
  游戲模塊的另外一個部份是武器系統。大多數的游戲有武器系統或類似的東西。 這是在世界中影響其他的物體,而且使他們對給定情形產生反應的東西,--比如說被射擊。通常武器系統由許多不同的類型組成;攻擊掃描,基于飛彈的,以及范圍形式。

  攻擊掃描是直接攻擊武器。在屏幕上他們產生的效果只是那樣,一個效果。當使用它的時候,和武器的實際操作沒有任何關系。當你用手槍開火時,子彈被認為立即穿過世界并直接擊中在它運動軌跡上的任何人/事物。

  基于飛彈的武器有一個占用有限時間穿越世界的真實射彈,從而帶給對方一些可以躲避的時間。

  基于范圍的武器像手榴彈和炸彈一樣的東西,不必擊中就可以傷害到你;你只是必須處于爆炸范圍內。處在那種爆炸范圍內的玩家受到飛濺損害。熔巖是另外一種形式的基于范圍的武器。

  那么你如何決定什么被擊中而什么沒有被擊中呢?很好,這個問題把我們帶到了追蹤,我們將在接下來的物理學和人工智能章節更多的接觸追蹤。這是一組函數例程,當給定世界中一條從A點到B點的直線時,比如從槍的末端到預先定義的距離,它告訴游戲什么被擊中。追蹤很棒,但很昂貴,因為他們必須對那條線上的所有多邊形進行碰撞檢測來看是否有什么地方被擊中,更不用說模型和其它對象了。這也是一些物理學的工作方式,從一個給定的角色做一個筆直向下的跟蹤可以知道地板位于什么地方。肆意的濫用追蹤如,在游戲的一幀中多次使用它們 -- 對于今天許多游戲的速度下降是有責任的。在Jedi Knight IIOutcast,他們的光刀戰斗已經遇到了這個問題,因為他們不僅需要知道光刀是否擊中了某處的什么和它現在的位置,而且對于它們之間的所有點都得這樣,他們對光刀做了多次追蹤。


  好吧,又一個章節結束了,僅僅剩下兩個章節了。下面我們介紹人工智能和搜索的更多細節。

posted on 2007-12-04 13:28 夢在天涯 閱讀(3655) 評論(0)  編輯 收藏 引用 所屬分類: Game/OpenGL

公告

EMail:itech001#126.com

導航

統計

  • 隨筆 - 461
  • 文章 - 4
  • 評論 - 746
  • 引用 - 0

常用鏈接

隨筆分類

隨筆檔案

收藏夾

Blogs

c#(csharp)

C++(cpp)

Enlish

Forums(bbs)

My self

Often go

Useful Webs

Xml/Uml/html

搜索

  •  

積分與排名

  • 積分 - 1812163
  • 排名 - 5

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              亚洲大片免费看| 欧美成人一区二区三区在线观看| 欧美永久精品| 性娇小13――14欧美| 国产精品综合久久久| 久久se精品一区精品二区| 欧美在线|欧美| 精品成人在线视频| 亚洲成色777777女色窝| 欧美激情中文字幕一区二区| 99re8这里有精品热视频免费| 亚洲成人在线视频播放 | 欧美不卡一卡二卡免费版| 麻豆成人在线播放| 欧美精品三级日韩久久| 亚洲一区二区黄| 亚洲永久精品国产| 狠狠爱综合网| 91久久国产综合久久91精品网站| 欧美日韩国产综合久久| 欧美亚洲免费电影| 免费不卡在线观看av| 亚洲桃花岛网站| 欧美一区二区免费视频| 亚洲黄色大片| 亚洲一区二区在线看| 韩日午夜在线资源一区二区| 亚洲精品少妇网址| 久久久久一区二区| 午夜精品久久久久久久蜜桃app| 国模精品一区二区三区| 亚洲日本成人女熟在线观看| 国产精品视频xxxx| 亚洲国产日韩在线一区模特| 国产精品亚洲成人| 亚洲国产精品一区二区第一页 | 亚洲精品欧美在线| 亚洲一区在线看| 亚洲精品国偷自产在线99热| 亚洲欧美www| 夜夜嗨av一区二区三区| 久久99伊人| 性18欧美另类| 欧美黄色aa电影| 久久久成人精品| 欧美日韩极品在线观看一区| 欧美成人tv| 国产综合第一页| 一区二区三区欧美激情| 亚洲精选国产| 老司机亚洲精品| 久久久久免费视频| 欧美日韩美女在线| 美女国产一区| 国语自产精品视频在线看抢先版结局| 一道本一区二区| 亚洲理伦电影| 欧美77777| 亚洲第一页自拍| 在线观看亚洲专区| 久久久一区二区三区| 久久久www成人免费毛片麻豆| 国产日本欧洲亚洲| 一区二区国产日产| 中文av一区特黄| 欧美精品97| 亚洲精品人人| 一区二区三区欧美亚洲| 欧美日韩123| 99ri日韩精品视频| 亚洲永久精品国产| 国产精品萝li| 亚洲手机在线| 欧美在线视频免费观看| 国产精品国产一区二区 | 久久国产手机看片| 国内综合精品午夜久久资源| 欧美一区二区性| 午夜精品一区二区在线观看| 国产日韩精品在线| 欧美诱惑福利视频| 欧美成人一区二免费视频软件| 亚洲国产精品精华液网站| 美国十次了思思久久精品导航| 欧美成人免费全部观看天天性色| 亚洲国产精品成人久久综合一区| 美腿丝袜亚洲色图| 日韩网站在线观看| 久久电影一区| 亚洲国产精品一区二区尤物区 | 欧美日本一道本| 99视频精品全国免费| 亚洲欧美日韩一区二区在线| 国产一区二区三区成人欧美日韩在线观看 | 久久精品国产久精国产思思| 欧美成人一区二免费视频软件| 99精品视频免费| 国产欧美大片| 欧美99在线视频观看| 在线一区二区三区四区五区| 久久久久一区二区三区| 亚洲美女黄色| 国产亚洲制服色| 欧美区在线观看| 亚洲欧美999| 亚洲精品日产精品乱码不卡| 欧美诱惑福利视频| 亚洲精品在线观看免费| 国产日韩欧美精品| 欧美激情中文字幕乱码免费| 午夜精品一区二区三区电影天堂| 欧美激情视频在线播放| 午夜国产精品影院在线观看| 亚洲精品1区2区| 国产欧美日韩视频在线观看| 欧美成在线观看| 久久不射电影网| 亚洲一品av免费观看| 亚洲电影一级黄| 久久久夜色精品亚洲| 亚洲一二区在线| 亚洲人成亚洲人成在线观看| 国产午夜精品全部视频播放| 欧美天堂亚洲电影院在线播放| 久久这里有精品视频| 欧美一区二区三区日韩| 一本色道久久88亚洲综合88| 欧美激情视频在线免费观看 欧美视频免费一| 篠田优中文在线播放第一区| 中文精品视频| 亚洲丶国产丶欧美一区二区三区| 国产乱码精品1区2区3区| 欧美日韩一区二区在线视频 | 久久久www成人免费无遮挡大片| 这里只有精品视频| 一区二区高清在线观看| 一本久久a久久精品亚洲| 亚洲黄色一区| 91久久精品国产91久久| 欧美国产亚洲另类动漫| 牛人盗摄一区二区三区视频| 久久五月激情| 久久精品国产99国产精品| 欧美亚洲一区在线| 亚洲欧美日韩在线不卡| 亚洲欧美影音先锋| 亚洲自拍偷拍色片视频| 亚洲欧美在线另类| 篠田优中文在线播放第一区| 久久久999精品免费| 久久久久久91香蕉国产| 久久成人久久爱| 理论片一区二区在线| 免费观看亚洲视频大全| 欧美激情片在线观看| 亚洲第一主播视频| 欧美色一级片| 亚洲欧美视频| 亚洲欧美在线播放| 欧美在线观看一区二区| 久久久亚洲成人| 久久久av水蜜桃| 欧美激情区在线播放| 欧美三级乱码| 国产精品视频大全| 韩日精品在线| 亚洲日本欧美天堂| 亚洲一区欧美二区| 久久久久久91香蕉国产| 亚洲国产成人高清精品| 亚洲精品中文在线| 午夜在线播放视频欧美| 久久―日本道色综合久久| 欧美电影免费观看| 国产精品99免视看9| 国一区二区在线观看| 亚洲精品视频在线| 欧美一区二区精美| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美成人在线免费观看| 99成人免费视频| 欧美影院在线播放| 欧美日韩亚洲在线| 国语自产精品视频在线看一大j8 | 国产欧美精品国产国产专区| 亚洲国产精品一区二区www在线| 亚洲性感激情| 欧美成人免费全部| 香蕉尹人综合在线观看| 欧美女同视频| 国产婷婷色一区二区三区在线| 亚洲精品国产视频| 久久午夜色播影院免费高清| 亚洲乱码国产乱码精品精98午夜 | 亚洲深夜福利网站| 欧美成人一区二区三区| 黑人巨大精品欧美黑白配亚洲| 亚洲色在线视频| 亚洲国产经典视频| 久久久亚洲午夜电影|