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

C++ Programmer's Cookbook

{C++ 基礎(chǔ)} {C++ 高級(jí)} {C#界面,C++核心算法} {設(shè)計(jì)模式} {C#基礎(chǔ)}

游戲引擎基礎(chǔ)(八)(腳本系統(tǒng))

8部份: 腳本系統(tǒng)


腳本系統(tǒng)
  我們從第七部分的游戲網(wǎng)絡(luò)問(wèn)題來(lái)到了腳本系統(tǒng),因?yàn)槠涑尸F(xiàn)的故事敘述機(jī)會(huì),最近已經(jīng)形成一種很大的游戲元素。在一個(gè)需要以受控制的方式解釋的情景,預(yù)先編制的電影腳本是解決問(wèn)題的方法。在電影中,這通常用來(lái)處理或者由主角向一個(gè)伙伴解釋情形,或者敵人對(duì)英雄解釋。當(dāng)然,有其它的方法來(lái)做這件事情 -- 敘事者,倒敘,等等但通常是使用實(shí)時(shí)情景的人們和事件來(lái)完成。當(dāng)然,游戲是不同的,游戲開(kāi)發(fā)者在他們平常的FPS中不應(yīng)該做太多的倒敘,因?yàn)橥ǔ?huì)需要載入新的環(huán)境或者關(guān)卡,以及新的紋理和/或模型。所有這些額外的處理和渲染能影響到主要的游戲序列的性能。你可以重用已經(jīng)存儲(chǔ)在內(nèi)存里面的場(chǎng)景元素來(lái)倒敘,但那樣會(huì)看上去明顯比較粗陋。

  RavenSoft Star Trek Voyager: Elite Force廣泛利用了腳本序列產(chǎn)生游戲中的事件和使用游戲引擎本身的剪輯場(chǎng)景。

  在游戲中設(shè)計(jì)腳本情節(jié)的一個(gè)有趣趨勢(shì)是使用當(dāng)前極大改進(jìn)了的3D游戲引擎自己產(chǎn)生剪輯場(chǎng)景。現(xiàn)在這可能像是相當(dāng)?shù)孛黠@,但是數(shù)年以前,當(dāng) 3D 圖形卡還比較簡(jiǎn)單的時(shí)候,剪輯場(chǎng)景通常使用高端3D工作站制作,得到的3D動(dòng)畫然后被記錄為一個(gè)數(shù)字視頻文件,以流式文件存儲(chǔ)在CD-ROM。你從剪輯場(chǎng)景的漂亮圖形畫面回到真實(shí)游戲的相對(duì)粗陋的3D畫面,這是相當(dāng)令人不愉快的失望的事情。但像Half-Life Star Trek Voyager : Elite Force這樣的游戲很好地利用了它們自己的引擎產(chǎn)生所有的剪輯場(chǎng)景,結(jié)果是剪輯場(chǎng)景和游戲之間的過(guò)渡更加平滑。

  把腳本和人工智能區(qū)分開(kāi)來(lái)可能是個(gè)很好的主意。腳本是你完全控制著一個(gè)給定場(chǎng)景,建立玩家?guī)缀蹩偸菦](méi)有控制的事件,游戲者沿著軌道移動(dòng)到一個(gè)給定地點(diǎn),或者建立一個(gè)游戲玩家需要解決的情形。一個(gè)好的例子可能是巨石掉在走廊上,需要游戲玩家找到一個(gè)新的逃脫方法。

  如今有一些不同類型的腳本系統(tǒng)可供程序員或者美術(shù)師使用,而且它用非常有條理和邏輯的思想恰當(dāng)?shù)刈鲞@些。第一種是簡(jiǎn)單的基于文本的,單線索的風(fēng)格,就像我們程序員習(xí)慣的編碼。在許多情況,它實(shí)際上基於 C,盡管以一種非常簡(jiǎn)單的形式。 大量這種類似“if thisthen do that”的東西。大部分腳本傾向在范圍內(nèi)是相當(dāng)線性的意味著它通常由許多在次序上彼此相接的命令組成。在世界中移動(dòng)角色A指向B。當(dāng)完成以后,讓他講話,完成以后,移動(dòng)他指向C。相當(dāng)簡(jiǎn)單的事情。

  然后有復(fù)雜的東西--允許多重線索,和實(shí)際上允許可變情形。可變情形是當(dāng)腳本開(kāi)始時(shí)你實(shí)際上不能確知誰(shuí)會(huì)出現(xiàn)在附近,但是你必須按這樣的方式編寫腳本以便任何人出現(xiàn)在附近它都將會(huì)工作。舉例來(lái)說(shuō)--一個(gè)正常的簡(jiǎn)單腳本會(huì)有三個(gè)家伙,全部被預(yù)先定義,全部有一組他們將會(huì)討論的情形。一個(gè)可變的腳本將會(huì)有三個(gè)人,你不能保證是某一個(gè)特定的人,并必須按相同的方式工作。或者在一個(gè)極端的情形中,也許只有二個(gè),或者甚至一個(gè)家伙將會(huì)在那里,使得三方交談?dòng)幸稽c(diǎn)困難。

  RavenStar Trek Voyager: Elite Force中面臨的一個(gè)很大的問(wèn)題是這樣的情形,使用者可能會(huì)想要把一個(gè)角色從一條船的某個(gè)地方帶到另外一個(gè)地方,但是從A點(diǎn)到B點(diǎn)的路徑可能會(huì)隨著每次游戲根本地改變。舉例來(lái)說(shuō),他們需要讓Munro(你所扮演的游戲主要角色)從發(fā)動(dòng)機(jī)艙室到輸送艙。 不幸的是由于游戲的非直線性,在事件到達(dá)這一點(diǎn)以前你可能已經(jīng)破壞了渦輪升降機(jī),或者也許 Jeffries 管被損害不能通過(guò)。假定當(dāng)腳本開(kāi)始的時(shí)候我們不知道世界的狀態(tài),我們不得不為幾乎各種可能發(fā)生的事情編寫腳本以便適用于這些如果。。。怎么辦的情形。而且它僅僅從那里變得更加糟糕。我們能建立的一些情形提供了如此多可能的組合情形,以致于為了一個(gè)滿意的結(jié)論而準(zhǔn)確測(cè)試每一個(gè)可能發(fā)生的事情幾乎是不可能的。請(qǐng)和在SiN, Star Trek Voyager : Elite Force or Deus Ex中工作的任何人談?wù)劇?/span>QA部門傳統(tǒng)地憎恨這些類型游戲,因?yàn)檫@已經(jīng)使他們的工作比以前更加困難了 50 倍。

  你能夠想象為這些情形編寫腳本是何等的困難。但那是今天的非線性游戲路徑要求的事情,而且它為何博得了較多的開(kāi)發(fā)支持從而能夠努力實(shí)現(xiàn)它。


Jim Dose
關(guān)于腳本系統(tǒng)的論述
  去年底我訪談了Jim Dose--Ritual的前任開(kāi)發(fā)者,現(xiàn)在是Id Software的一個(gè)開(kāi)發(fā)者,Doom3腳本系統(tǒng)(和其他一些事情)的設(shè)計(jì)者。盡管這次訪談?dòng)行┚昧耍匀皇呛苡卸床炝Α?/span>

  Jim談了腳本系統(tǒng)和創(chuàng)建一個(gè)易用且健壯的系統(tǒng)( 與包含設(shè)計(jì)者傳統(tǒng)想要使用的所有特征相反):

  設(shè)計(jì)一個(gè)腳本系統(tǒng)最難的部份是知道何時(shí)該停止。一旦你完成了并開(kāi)始運(yùn)行,你發(fā)現(xiàn)有許多能夠利用它的系統(tǒng)。對(duì)于Sin,最初的主意只是要有一個(gè)比較容易的方法讓關(guān)卡設(shè)計(jì)者描述對(duì)象怎樣動(dòng)態(tài)的在環(huán)境中移動(dòng)。在項(xiàng)目的后期,我們也使用它來(lái)讓聲音和游戲事件與動(dòng)畫同步,在多個(gè)關(guān)卡跟蹤任務(wù)目標(biāo),控制HUD的布局和游戲內(nèi)部電腦控制臺(tái)用戶接口,描述人工智能如何對(duì)不同的情形產(chǎn)生反應(yīng),以及粒子系統(tǒng)。

  控制復(fù)雜度可能也是相當(dāng)?shù)睦щy。當(dāng)你把腳本的力量放進(jìn)有創(chuàng)造力的人們手中時(shí),他們開(kāi)始探究他們所能做的界限。時(shí)常,他們受啟發(fā)做一些剛好輕微超出系統(tǒng)能力范圍的事情。很容易陷入到這種增加僅僅再多一個(gè)特征就允許他們做他們想做的事情之中。隨著語(yǔ)言增長(zhǎng),一個(gè)可能對(duì)最初的規(guī)格有意義的語(yǔ)言結(jié)構(gòu)變得嚴(yán)重過(guò)度擴(kuò)充了。在一些時(shí)候,重新思考系統(tǒng)變得有意義,但在那時(shí),你可能已經(jīng)積累了數(shù)量巨大的必須重新編寫的腳本。和FAKK2一樣,Sin遭受了這樣的損失。我沒(méi)有得到對(duì)腳本系統(tǒng)進(jìn)行大規(guī)模徹底檢查的機(jī)會(huì)直到我為Rogue's 'Alice'.重寫了腳本系統(tǒng)。

  阿們,吉姆。-- Raven已經(jīng)看到這個(gè)恰好在他們的ICARUS系統(tǒng)中出現(xiàn)了。ICARUS 實(shí)際上是一種與Jim在上面描述的相同種類的腳本系統(tǒng),而且負(fù)責(zé)在Star Trek: Voyager: Elite Force中的所有腳本事件。它在Soldier of Fortune IIJedi Knight II : Outcast中被重復(fù)使用。為了解決系統(tǒng)需要處理的新問(wèn)題,這些問(wèn)題在最初的實(shí)現(xiàn)中沒(méi)有被預(yù)見(jiàn)/不需要,腳本系統(tǒng)的很多部分已經(jīng)被重新編寫了。


可視化腳本系統(tǒng)
  第二種類型的腳本是可視化腳本系統(tǒng)。使用這種方法,而不是文本文件的編碼方式,實(shí)際上你能夠在真實(shí)的游戲環(huán)境中使用真實(shí)的角色建立你的腳本。你能夠追蹤角色在世界中行走的路徑,定義使用的動(dòng)畫,并且通常得到關(guān)于你的腳本實(shí)際上將看起來(lái)如何的更好的主意。它對(duì)我們已經(jīng)討論的非線性問(wèn)題沒(méi)有太大的真正的幫助,但它確實(shí)可以很快速地生成最初的腳本。

  其次,Jim談?wù)摿丝梢暬_本系統(tǒng)。

  可視化腳本系統(tǒng)確實(shí)有它們的用處,但往往實(shí)現(xiàn)更加困難,如果設(shè)計(jì)得很差,當(dāng)復(fù)雜度上升時(shí)就容易讓開(kāi)發(fā)者感到困惑。舉例來(lái)說(shuō),人工智能可以用一個(gè)流程圖似的結(jié)構(gòu)來(lái)進(jìn)行可視化的設(shè)計(jì)。你能非常容易地可視化地表現(xiàn)人的行為舉止方式,用盒子代表狀態(tài),箭頭代表轉(zhuǎn)化到其它狀態(tài),指示角色能夠從一個(gè)狀態(tài)轉(zhuǎn)換到另外一個(gè)狀態(tài)的方式。

  腳本的一種通常使用是在游戲世界中控制物體,指示他們他們?nèi)绾卧谑澜缰幸苿?dòng)。在一個(gè)編輯器中可視化地移動(dòng)物體到關(guān)鍵位置并播放整個(gè)運(yùn)動(dòng)的能力對(duì)一個(gè)設(shè)計(jì)者可能會(huì)更加直觀。然而,它確實(shí)有它的極限,因?yàn)閷⑿枰硗庖粋€(gè)接口來(lái)設(shè)計(jì)物體在它的移動(dòng)中必須作出的任何決定。那種能力是把腳本動(dòng)畫片斷和類似3DS Max或者Maya 這樣的程序產(chǎn)生的動(dòng)畫區(qū)分開(kāi)來(lái)。

  在一些時(shí)候,使用者可能需要一些方法決定一個(gè)腳本為何沒(méi)有做他們所期望的事情。一些形式的除錯(cuò)工具能使這件工作非常容易。至少,決定哪些腳本正在運(yùn)行和腳本當(dāng)前位置的一些方法必需的。在腳本中檢查變量,開(kāi)始,停止,和單步執(zhí)行的能力也是有幫助的。通常,一個(gè)程序師能夠在他們的調(diào)試器中進(jìn)行除錯(cuò),但這個(gè)過(guò)程要比如果有一些內(nèi)建的腳本調(diào)試器可用時(shí)花費(fèi)的時(shí)間更長(zhǎng)。


  以上就是第8部份,在接下來(lái)的章節(jié)中我們將討論使用現(xiàn)成產(chǎn)品和定制的游戲引擎設(shè)計(jì)工具的功過(guò)得失,然后探究游戲控制機(jī)制,開(kāi)發(fā)游戲?qū)ο螅鸵恍┐碳び腥さ氖虑?/span> (武器系統(tǒng))

posted on 2007-12-04 13:27 夢(mèng)在天涯 閱讀(4734) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Game/OpenGL

公告

EMail:itech001#126.com

導(dǎo)航

統(tǒng)計(jì)

  • 隨筆 - 461
  • 文章 - 4
  • 評(píng)論 - 746
  • 引用 - 0

常用鏈接

隨筆分類

隨筆檔案

收藏夾

Blogs

c#(csharp)

C++(cpp)

Enlish

Forums(bbs)

My self

Often go

Useful Webs

Xml/Uml/html

搜索

  •  

積分與排名

  • 積分 - 1812025
  • 排名 - 5

最新評(píng)論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              久久精品一区二区三区不卡牛牛| 欧美日韩精品一区| 国产亚洲一区二区三区在线观看| 亚洲免费在线精品一区| 亚洲午夜视频在线| 国产欧美日韩精品丝袜高跟鞋 | 久久综合九色综合欧美就去吻| 一区二区亚洲精品| 亚洲福利精品| 欧美黑人在线观看| 亚洲一区二区毛片| 欧美在线视频网站| 激情综合久久| 亚洲人成在线播放| 国产麻豆9l精品三级站| 免费在线一区二区| 欧美日韩在线免费| 欧美在线一二三四区| 美女主播精品视频一二三四| 亚洲一级二级在线| 久久久久久九九九九| 亚洲精品一区二区三区樱花 | 亚洲第一级黄色片| 国产精品欧美日韩一区| 美国十次成人| 国产精品老牛| 欧美成人精品1314www| 国产精品扒开腿做爽爽爽软件| 久久精品视频va| 欧美日韩国产电影| 久久在线视频| 国产美女精品一区二区三区| 欧美激情一级片一区二区| 欧美性色视频在线| 欧美激情小视频| 国产区日韩欧美| 亚洲美女在线观看| 亚洲国产精品一区二区第一页 | 久久综合中文色婷婷| 欧美一级久久| 国产精品老牛| 久久成人久久爱| 免费看亚洲片| 久久亚洲综合色| 国产精品一二三四区| 亚洲大片av| 伊人久久婷婷| 欧美亚洲色图校园春色| 亚洲影院高清在线| 欧美伦理a级免费电影| 欧美大片在线看免费观看| 国产精品一区二区三区乱码| 99综合精品| 宅男噜噜噜66一区二区66| 欧美mv日韩mv国产网站app| 久久久久久久久久看片| 国产乱码精品| 亚洲一区二区三区午夜| 亚洲一区自拍| 国产伦精品一区二区三区在线观看 | 久久欧美肥婆一二区| 亚洲欧美日韩一区二区| 欧美体内谢she精2性欧美| 欧美激情国产高清| 久久国产精品久久久久久电车| 夜久久久久久| 亚洲精品女人| 国产精品第十页| 亚洲激情视频网站| 亚洲欧美日韩国产中文在线| 一区二区三区www| 欧美日韩国产bt| 亚洲国产精品久久人人爱蜜臀| 在线免费观看日本一区| 欧美一区二区三区四区夜夜大片| 羞羞答答国产精品www一本| 国产精品成av人在线视午夜片| 中国av一区| 欧美一区二区三区在线看| 国产精品亚洲综合天堂夜夜| 亚洲性夜色噜噜噜7777| 久久av一区| 国产日韩欧美一区在线| 久久综合一区二区| 亚洲国产91色在线| 亚洲一二三区精品| 国产精品99一区| 久久久久久久综合日本| 久久一区二区三区四区| 最新日韩av| 欧美日韩国产在线| 亚洲综合色自拍一区| 久久丁香综合五月国产三级网站| 在线视频成人| 欧美精品久久一区二区| 在线一区观看| 久久一区二区三区av| 亚洲靠逼com| 国产精品劲爆视频| 久久午夜精品| 一区二区av在线| 久久久久久久久久码影片| 久久久爽爽爽美女图片| 欧美另类69精品久久久久9999| 麻豆精品91| 亚洲日本无吗高清不卡| 国产精品中文在线| 久久天天狠狠| 亚洲欧美激情视频在线观看一区二区三区| 久久久久久电影| 亚洲性感激情| 激情综合在线| 国产精品日韩欧美一区| 美女主播一区| 性做久久久久久免费观看欧美| 欧美成人精品不卡视频在线观看| 亚洲影院色无极综合| 伊人色综合久久天天| 国产精品视频一| 欧美国产综合视频| 久久综合电影| 99pao成人国产永久免费视频| 免费一区二区三区| 久久久夜夜夜| 午夜视频久久久久久| 亚洲图片自拍偷拍| 亚洲精品1区2区| 在线观看欧美日韩| 国产亚洲一区精品| 国产欧美日韩一级| 欧美日韩精选| 欧美日韩国产色视频| 久久亚洲欧美| 久久深夜福利免费观看| 999亚洲国产精| 亚洲精品视频在线观看网站| 欧美国产日韩视频| 快播亚洲色图| 老司机免费视频一区二区| 午夜精品久久久久| 午夜久久资源| 亚洲摸下面视频| 亚洲午夜一区二区三区| 亚洲三级免费观看| 精品成人在线观看| 激情六月综合| 黑人巨大精品欧美黑白配亚洲| 国产亚洲一区二区三区| 欧美激情精品久久久久久黑人| 久久频这里精品99香蕉| 欧美国产在线电影| 欧美精品999| 欧美性理论片在线观看片免费| 欧美久久九九| 国产精品mm| 国产精品人人做人人爽人人添| 国产欧美午夜| 国产精品久久久久9999高清 | 欧美黄色网络| 91久久夜色精品国产网站| 亚洲欧洲在线观看| 正在播放亚洲一区| 亚洲婷婷综合久久一本伊一区| 亚洲欧美日韩国产中文| 欧美在线视频一区二区三区| 老鸭窝亚洲一区二区三区| 免费的成人av| 国产精品qvod| 樱花yy私人影院亚洲| 亚洲精品女人| 欧美在线免费一级片| 玖玖在线精品| 一区二区三区国产盗摄| 亚洲网站视频| 免费日韩成人| 欧美日韩八区| 国产精品自拍视频| 亚洲黄色免费网站| 亚洲一区免费网站| 欧美mv日韩mv国产网站app| 欧美国产激情| 亚洲精品欧美极品| 欧美一区国产一区| 久久夜色精品一区| 国产精品推荐精品| 国产一区二区剧情av在线| 在线观看国产日韩| 欧美一进一出视频| 欧美国产日本韩| 欧美一级片在线播放| 欧美国产一区二区在线观看| 国产综合色在线| 亚洲性图久久| 免费欧美在线视频| 亚洲欧美视频在线观看| 欧美1区2区3区| 精品成人一区| 香蕉成人久久| 宅男精品视频| 欧美区视频在线观看|