版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
經(jīng)典word整理文檔,僅參考,雙擊此處可刪除頁眉頁腳。本資料屬于網(wǎng)絡(luò)整理,如有侵權(quán),請聯(lián)系刪除,謝謝!游戲開發(fā)技術(shù)(一)第一節(jié)3D類游戲設(shè)計(jì)3D光線投射游戲包括從高解析度圖形到快速動(dòng)畫的許多技術(shù)。盡管3D場景在這些不同的游戲中可能變化很大,玩游戲的方法和設(shè)計(jì)游戲的基本技術(shù)卻是類似的。場景中較明顯的組成部分包括生成的墻壁、地板、天棚、可移動(dòng)的物體和靜止的物體。當(dāng)然,這些游戲也充分利用了大量的其它技術(shù)如聲效和音樂、3D動(dòng)畫、故事、難度級別、秘密門等等。1.速度、力量和簡單性原則在設(shè)計(jì)像Doom供優(yōu)秀的3D圖形和一個(gè)優(yōu)秀但簡單的操作環(huán)境。增加動(dòng)態(tài)的多游戲者能力和難度級別設(shè)計(jì)以使您的游戲不斷前進(jìn)。當(dāng)然,說的容易做起來難。正像Doom“看起來”像是設(shè)計(jì)得比較簡單而實(shí)際上并不是。2.圖像力量在Doom人獲得Doom的感覺。這是一個(gè)很好的例子,證明在一個(gè)由圖形力量占主要地位的游戲引擎中,設(shè)計(jì)與難度級別編輯是具有決定性的。據(jù)說,ID盡管使用了大量的優(yōu)秀編輯人員和工具設(shè)計(jì)了很多新的Doom難度級別,可是只有少量(可能少到百分之一)的難度級別投入實(shí)際的游戲使用中。當(dāng)然,在游戲開發(fā)中只重視圖像質(zhì)量還是遠(yuǎn)遠(yuǎn)不夠的,只有提供整體水平很高的游戲才能讓游戲老不斷玩您的游戲。3.盡在射線中光線投射技術(shù)是一種確定游戲者移動(dòng)時(shí)一個(gè)物體應(yīng)該出現(xiàn)在場景中什么位置的技術(shù)。它的原理是:當(dāng)人在場景中移動(dòng)時(shí),射線改變它們的位置并和場景中不同的點(diǎn)相交。相交的點(diǎn)就是墻壁和其它物體被顯示的地方。通常,射線是沿著一個(gè)弧線投射出去的,這樣在正前方的墻壁和物體與在邊上的可以同樣被發(fā)現(xiàn)。4.在迷官中迷失許多游戲開發(fā)者認(rèn)為3D光線投射游戲和迷宮游戲差不多。因?yàn)檫@類游戲經(jīng)常發(fā)生在類似迷宮的環(huán)境中。創(chuàng)建像Doom這樣的3D游戲包括建立一個(gè)迷宮和隨后將各種不同的對像放在迷宮中。在一個(gè)3D世界中迷宮的組成部分是房間、墻壁、地板、天花板等等。在迷宮中房間是由墻壁分隔形成的。墻壁實(shí)質(zhì)上是靜態(tài)的物體,只能置于迷宮網(wǎng)格的邊界上。5.多難度級別大多數(shù)3D游戲提供多難度級別,使游戲者玩上幾天甚至幾個(gè)星期。每級游戲都可以建立在不同的迷宮中。當(dāng)一個(gè)游戲者以自己的方式成功地玩到了某一級的終點(diǎn)時(shí),游戲繼續(xù)進(jìn)行到更高的一級,在那里游戲者要接受新的挑戰(zhàn)。多級別非常重要,它可以讓新的布景和迷宮出現(xiàn)并且使游戲看起來不讓人很厭煩。在3D游戲是與2DArcade分?jǐn)?shù)才可以進(jìn)入下一關(guān)。您可以設(shè)計(jì)允許游戲者使用秘技,如穿過一個(gè)秘密門自動(dòng)進(jìn)入下一級或得到一個(gè)隱藏的物體以獲得特殊能力。如果您真的很音歡暴力,您也可設(shè)計(jì)一個(gè)讓游戲者不得不殺完所有怪物才能進(jìn)入下一級的游戲。未來展望未來的3D光線投射游戲不但會(huì)加進(jìn)多人游戲功能,更快速的3D引擎也會(huì)開發(fā)出來。準(zhǔn)備好吧,這一類游戲的未來蒸蒸日上。第二節(jié)探險(xiǎn)游戲探險(xiǎn)游戲設(shè)計(jì)包括下面幾個(gè)概念,這些概念不是具體某個(gè)游戲本身具有的概念,而是關(guān)于這類游戲的基本要素。1.情節(jié)和引擎大量的圖像和其它瑣碎的工作可以讓游戲公司真正集中力量用于推進(jìn)故事情節(jié)和角色特征的開發(fā)。首先說著建立一個(gè)核心引擎,并確定您的探險(xiǎn)游戲可能需要的一般內(nèi)容,包括地圖、動(dòng)作、對話接口等等。然后,在這些基礎(chǔ)上再編寫您自己的游戲。但是記住,用相同的引擎開發(fā)出來的好游戲必須有一個(gè)新鮮復(fù)雜的故事情節(jié),而且要有足夠的特征使它從同系列中的其它游戲中脫穎而出。這意味著您的引擎要能適應(yīng)開發(fā)寬范圍的創(chuàng)意和有可能進(jìn)行的升級。簡單他說,需要建立一個(gè)系統(tǒng)以支持您創(chuàng)建大量的故事情節(jié)。有了這個(gè)武器,探險(xiǎn)游戲開發(fā)才會(huì)向成功的方向前進(jìn)。2.成熟的內(nèi)容揉險(xiǎn)游戲設(shè)計(jì)的關(guān)鍵是內(nèi)容設(shè)計(jì)。玩這些游戲的大都是受過良好教育的成年人,他們喜歡井有能力理解復(fù)雜的故事情節(jié)。傳統(tǒng)上,大多數(shù)探險(xiǎn)游戲與其它大部分游戲一樣,傾向于避免某些不好的主題,但因?yàn)橥嬗螒蜃兊酶悠占傲?,所以?chuàng)建一個(gè)成人級的探險(xiǎn)游戲的可能性更大了。未來展望可以說探險(xiǎn)游戲是最接近交互式故事的東西。所以,這一類游戲未來的形式就是變得更富于交互性。探險(xiǎn)游戲毫無疑問將繼續(xù)成為主要的游戲類型之一,而且隨著優(yōu)秀開發(fā)人員編寫出更有趣的創(chuàng)意,我們將在這個(gè)領(lǐng)域看到更令人激動(dòng)的發(fā)展。第三節(jié)寓教于樂游戲設(shè)計(jì)問題寓教于樂游戲設(shè)計(jì)包括一些獨(dú)特的技術(shù)。當(dāng)您開發(fā)這一類游戲時(shí),您必須努力對付許多問題,包括游戲類型、年齡特征、性別特征。讓我們仔細(xì)看看這些問題。1.寓教于樂游戲分類寓教于樂產(chǎn)品有兩大類:傳統(tǒng)的和非傳統(tǒng)的。我們先看看按教育內(nèi)容的多少來分類傳統(tǒng)類型:1)操作與訓(xùn)練游戲在這一類游戲中,孩子們要做完一定數(shù)量的訓(xùn)練題目,在全部做完之后通常有一段動(dòng)畫作為獎(jiǎng)勵(lì)。做。2)教育和游戲各占一半的游戲有些游戲在游戲中混合了教育內(nèi)容。例如在一個(gè)叫做“圣地亞哥在哪里?”的游戲中,游戲內(nèi)容分為教育和游戲兩部分,在教育部分中,游戲者作為負(fù)責(zé)審問嫌疑犯的角色必須收集到足夠多的線索以進(jìn)一步探索兇犯的下落。游戲部分則表現(xiàn)出它的挑戰(zhàn)性:游戲者只有有限的時(shí)間用來搜尋和查找下一個(gè)地點(diǎn)的線索。如果游戲者在錯(cuò)誤的地點(diǎn)浪費(fèi)了時(shí)間,他就無法完成游戲。在游戲中提供了地理資料,所以游戲者玩游戲時(shí)不知不覺地學(xué)到了東西。3)內(nèi)容游戲這些游戲在訓(xùn)練和探險(xiǎn)游戲中處于中間位置,它們包括三個(gè)關(guān)鍵的成分:探索、冒險(xiǎn)和搜集。(后面詳細(xì)討論這些成分。)教育內(nèi)容仍然很清晰但在游戲進(jìn)行時(shí)已處于第二位了。孩子(特別是大點(diǎn)的孩子)把這些練習(xí)看作游戲而不是訓(xùn)練。4)發(fā)現(xiàn)式游戲現(xiàn)在美國公立教育的熱點(diǎn)問題是探索和問題解決。這個(gè)思想是在給予孩子們結(jié)構(gòu)化的練習(xí)之后,他們靠自己的力量發(fā)現(xiàn)信息并最終獲得學(xué)術(shù)技能和知識。在我看來,這近似于給孩子一臺電腦然后讓他們寫一篇小文章,然而不先教他們?nèi)绾未蜃帧T谶@類游戲中孩子用鼠標(biāo)點(diǎn)各種熱區(qū),然后等待結(jié)果。無論是播放一段動(dòng)畫,閱讀一個(gè)故事,還是開始一段游戲,這些都很適合學(xué)齡前兒童。非傳統(tǒng)的寓教于樂游戲是那些因?yàn)楸旧砉逃薪逃齼r(jià)值的原因,即使它們并不是專門設(shè)計(jì)用于教育目的,但都有教育效果。2.年齡的考慮大概在設(shè)計(jì)寓教于樂游戲產(chǎn)品中最關(guān)鍵的因素是確定您的年齡分組。孩子們變化太快,所以您必須對您要面對的年齡組有一個(gè)清晰的認(rèn)識。⒆傭即锏攪訟嗤燦瀉踴崾屎舷嗔諛炅渥櫚哪承┯蝸貳O晗傅哪炅渥樘致劭梢圓臥牡諞徽隆?3.許可特征使用迪斯尼角色(如騙蝠俠)的游戲含有“注冊許可特性”。出版商出一筆大約游戲出售總收入的百分之十用于注冊,以保證可以使用游戲中角色的名字等權(quán)利。反過來,開發(fā)者必須承諾堅(jiān)持他們關(guān)于內(nèi)容、外觀和角色特征方面的標(biāo)準(zhǔn)。事實(shí)上,大部分商標(biāo)持有者都要求開發(fā)者將劇本、藝術(shù)處理等有關(guān)內(nèi)容上交審核。為什么您要使用別人的角色而讓商標(biāo)持有者賺大錢呢?因?yàn)樽栽S可的角色會(huì)給您的游戲現(xiàn)成的知名度。任何其它的地方(電視、電影、T恤衫等等)建立的知名度會(huì)給您的計(jì)算機(jī)游戲帶來潛在的銷售額。您的出版商會(huì)很高興地發(fā)現(xiàn)因?yàn)檫@個(gè)知名度游戲非常容易進(jìn)行零售。4.誰買走游戲?孩子們的寓教于樂游戲難于走位的一個(gè)原因是買游戲的人(孩子的父母)不是玩游戲的人。因此,您必須在兩類很不同的顧客之間進(jìn)行游戲?qū)ο翊_定的工作。這對于小于七歲的年齡組尤其重要。另外,您還必須投合教師的心意。如果您的游戲被學(xué)校采納,雖然這不會(huì)使您發(fā)財(cái),但學(xué)校的知名度和權(quán)威性會(huì)對顧客的購買產(chǎn)生影響。未來展望未來的寓教于樂游戲會(huì)進(jìn)一步發(fā)展引人入勝的學(xué)習(xí)體驗(yàn),將游戲與教育融合起來。在向這個(gè)目標(biāo)邁進(jìn)的過程中,更多的多媒體內(nèi)容、聯(lián)機(jī)成分和更多精練的游戲成分將會(huì)加入到教育軟件中。寓教于樂游戲最大的發(fā)展可能是將所有主要的軟件種類結(jié)合到完整的學(xué)習(xí)環(huán)境中。不久的將來,學(xué)生會(huì)發(fā)現(xiàn)某一學(xué)科的多媒第五節(jié)打斗游戲設(shè)計(jì)問題打斗游戲設(shè)計(jì)包括幾個(gè)概念,如:角色創(chuàng)建、無故技法、暴力等。?在打斗游戲中最動(dòng)人的是使用了真實(shí)的、令人信服的角色特征。例如在真人快打中,開發(fā)者在創(chuàng)建每一個(gè)具有不同體力、智力和個(gè)性的敵手時(shí)表現(xiàn)出令人難以置信聰明才智。盡管在游戲中角色的特征被壯麗的圖像和動(dòng)畫掩蓋了,作為設(shè)計(jì)者仍然要仔細(xì)地開發(fā)設(shè)計(jì)出好的角色。2.無故技法打斗游戲的一個(gè)關(guān)鍵設(shè)計(jì)是“無敵技法”,有時(shí)也被稱為“致命技法”或者“最終技法”。每個(gè)角色都具有打、踢、摔和跳等特別動(dòng)作,他們也具有各自不同的幾個(gè)特殊攻擊手段。例如,當(dāng)游戲者依次快速按下跳起、左移和右移鍵時(shí),角色就會(huì)跳到空中然后像一陣旋風(fēng)旋轉(zhuǎn)著向?qū)κ诌M(jìn)攻,只要與對手的距離足夠遠(yuǎn),每個(gè)游戲都有很多這樣的按鍵組合!致命技法與打、踢、跳等待別動(dòng)作之間的不同之處在于:致命技法是不公開。在游戲手冊上是沒有的。致命技法是不會(huì)輕易被發(fā)現(xiàn)的,一般需要玩幾個(gè)星期甚至是幾個(gè)月才能發(fā)現(xiàn)。致命技法也是游戲吸引人的一個(gè)部分。當(dāng)設(shè)計(jì)您自己的游戲時(shí),記住這些技巧。您要讓您的游戲者對您的游戲感興趣,并且能吸引他們。如果游戲者掌握角色的特別動(dòng)作和致命技法或秘技時(shí),他們就會(huì)玩上癮。但是,如果游戲太簡單,游戲者很快就學(xué)會(huì)使用致命技法贏得勝利時(shí),游戲?qū)λ麄兙褪ノΑ?.暴力不用說,打斗游戲中的主要成分是暴力。暴力是必需的嗎?對于很多國家來說,這是個(gè)問題。不過如果您不在乎將您的游戲列為“少兒不宜”就沒什么可怕的了。4,持續(xù)的創(chuàng)造力打斗游戲的生存依賴于開發(fā)者持續(xù)的創(chuàng)造力。大部分游戲在故事發(fā)展中都很少有自己的創(chuàng)造,全都是一對一的打斗場景。也許您會(huì)創(chuàng)造出更好的打斗游戲,并使它提高到一個(gè)新的階段。未來展望開始我就說過,運(yùn)動(dòng)捕捉和3D技術(shù)會(huì)給打斗游戲帶來新的活力;沒錯(cuò),現(xiàn)在正是這樣。未來的打斗游戲?qū)⒃谝韵聨讉€(gè)方面發(fā)展:1.聯(lián)機(jī)對手計(jì)算機(jī)時(shí)代的虛擬打斗已經(jīng)開始了。多人聯(lián)機(jī)對打游戲?qū)⑹谴蚨酚螒虻男掳l(fā)展。聯(lián)機(jī)版本給游戲老一試身手的機(jī)會(huì)。打斗游戲會(huì)是眾多聯(lián)機(jī)游戲中最流行的一種。2。身臨其境的虛擬現(xiàn)實(shí)打斗游戲的一個(gè)主要趨勢是傾向于允許游戲者進(jìn)入神奇的虛擬現(xiàn)實(shí)模擬世界。確實(shí),未來的所有游戲都將在虛擬現(xiàn)實(shí)環(huán)境中獲得自己的新生,而打斗游戲尤其令人振奮。3.集成更大的游戲系統(tǒng)在1995年舉辦的計(jì)算機(jī)游戲開發(fā)者會(huì)議中,我參加了一個(gè)關(guān)于RPG前途的座談會(huì)。會(huì)議的一個(gè)議題是圍繞在傳統(tǒng)打斗游戲的戰(zhàn)斗系統(tǒng)中制作一個(gè)RPG游戲。雖然大多數(shù)RPG迷不太喜歡動(dòng)作游戲,但這個(gè)概念表明打斗游戲?qū)⒈患蔀閺?fù)雜的線索故事并成為更大的游戲的尋一個(gè)組成部分的可能性。第六節(jié)主管類游戲主管類游戲設(shè)計(jì)包括幾個(gè)概念如建模和模擬。這些概念并非是某個(gè)具體主管類游戲特有的,而是這類游“模擬游戲?”您會(huì)問“是不是類似飛行模擬的游戲?”是的,但那些游戲模擬的只是軍事或非軍事的硬件設(shè)備,而不是像主管類游戲模擬一個(gè)就像人類社會(huì)或螞蟻社會(huì)的實(shí)體系統(tǒng)。主管類游戲很難建立一個(gè)與現(xiàn)實(shí)完全相同的模型。設(shè)計(jì)昔花費(fèi)大量的時(shí)間和情力用于研究社會(huì),例如,人們進(jìn)入或離開城市的原因,等等。這些努力沒有白費(fèi),您得到的是一個(gè)好玩而且真實(shí)的游戲。但不要為設(shè)計(jì)者而悲傷,因?yàn)樵谝粋€(gè)主管游戲中,設(shè)計(jì)者才是最終的上帝!未來展望未來是非常明朗的。更復(fù)雜的人工智能技術(shù)和建模技術(shù)能讓設(shè)計(jì)者創(chuàng)建更具智能的系統(tǒng),這將導(dǎo)致更真實(shí)的游戲,毫無疑問,這類游戲還將進(jìn)入網(wǎng)絡(luò)。第七節(jié)聯(lián)機(jī)游戲聯(lián)機(jī)游戲中不需要人工智能了。這對嗎?不對。事實(shí)上在許多多人游戲中人工游戲者變得更加重要了。原因很簡單,因?yàn)槟挠螒蚓哂卸嗳擞螒蚬δ埽⒉灰馕吨鄠€(gè)游戲者一直登錄在線。例如在一個(gè)多人賽車游戲中,如果只有一個(gè)游戲者參加游戲,您就需要控制其它的賽車以提供一個(gè)真實(shí)的游戲環(huán)境。另外,如果一個(gè)游戲者中途退出,他的賽車也不能立刻就消失。我的結(jié)論是在一個(gè)大規(guī)模的在線游戲中,您仍然需要人工角色在您創(chuàng)造的世界中參與游戲。未來展望可能比游戲發(fā)展更快的是支持游戲的聯(lián)機(jī)服務(wù)設(shè)備和Internet。多人游戲還只是剛剛開始。新的創(chuàng)意不斷出現(xiàn),但新的問題也很多。如果您想開發(fā)此類游戲,您就要有冒大風(fēng)險(xiǎn)的準(zhǔn)備。第八節(jié)RFG設(shè)計(jì)問題RPG設(shè)計(jì)包括以下幾個(gè)概念:保持連續(xù)和諧、與眾不同的世界和NPC。1.保持連續(xù)和諧RPG是非常值得開發(fā)的產(chǎn)品,因?yàn)樗鼈兡墚a(chǎn)生續(xù)篇,當(dāng)然首先您的第一個(gè)游戲應(yīng)獲得成功!如果您用一個(gè)好故事創(chuàng)建了一個(gè)動(dòng)態(tài)的世界,那么您可以不斷地用新的創(chuàng)意來更新這個(gè)世界,而游戲者對您的游戲也會(huì)很喜歡??纯粗饕腞PG游戲就會(huì)發(fā)現(xiàn)它們都是成系列的。當(dāng)您創(chuàng)建您最初的游戲時(shí),考慮加點(diǎn)將來的新版本中可以擴(kuò)展的創(chuàng)意。例如,您可以介紹一個(gè)在稍后的游戲中作為對手出現(xiàn)的龜色。您也應(yīng)該仔細(xì)考慮您創(chuàng)建的世界。您要讓游戲者投入到這個(gè)世界中,并且要讓他們喜歡這里發(fā)生的每一件事情。下一個(gè)主題就是設(shè)計(jì)這樣的世界?!?.與眾不同的世界因?yàn)橛?jì)算機(jī)探險(xiǎn)游戲已經(jīng)越來越復(fù)雜化了,創(chuàng)建世界就變得更加重要了。在創(chuàng)建世界過程叭設(shè)計(jì)者追尋創(chuàng)建一個(gè)完整的運(yùn)轉(zhuǎn)著的社會(huì),其中包括全部角色和他們那些由情節(jié)決定的“命運(yùn)”?;舅枷胧菍⒐适路诺揭粋€(gè)環(huán)境中,而不是讓環(huán)境適應(yīng)故事。另外,建造的世界要能產(chǎn)生小小的難題。盡管世界是假想的,但它必需真實(shí)。游戲老會(huì)這樣評價(jià)您的世界:這個(gè)假想的新世界是否與眾不同而又很有趣?這個(gè)世界中的系統(tǒng)是否運(yùn)轉(zhuǎn)得很真實(shí)?(例如,當(dāng)我將貨物賣到一個(gè)城鎮(zhèn)時(shí),貨物的價(jià)格是否會(huì)降下來?)3.NPC交互和交流設(shè)計(jì)RPG的最大問題是非游戲者角色(NPC-Non-playerCharacter)的交互作用。簡單說就是,如果RPG角色不能產(chǎn)生動(dòng)態(tài)交互作用,那么游戲的深度就會(huì)降低。解決的辦法是很顯然的:在內(nèi)部仿真引擎中增加靈活性并在游戲中加入人工智能功能。目的是通過他們前面的動(dòng)作將NPC界中。對于像天氣和佩帶武器這方面,開發(fā)者也應(yīng)該考慮一下。開發(fā)者同樣要力爭創(chuàng)造出更好的RPG對話,要使角色具有記憶能力,不同的對話要與不同的游戲內(nèi)容相適應(yīng)。當(dāng)設(shè)計(jì)您的RPG時(shí),應(yīng)仔細(xì)考慮如何實(shí)現(xiàn)逐步增加難度級別和對話交互。4.戰(zhàn)斗和戰(zhàn)爭在幾乎每一類的RPG中最關(guān)鍵的要素都是游戲中的戰(zhàn)斗類型。戰(zhàn)斗是劃分RPG和探險(xiǎn)游戲的主要差別。盡管大多數(shù)探險(xiǎn)游戲都有一定次序的戰(zhàn)斗,但戰(zhàn)斗并不是重復(fù)出現(xiàn)的成分。RPG游戲中的戰(zhàn)斗部分就像一個(gè)小型戰(zhàn)爭游戲。游戲者控制他們的角色,用武器或魔法武裝他們。然后,在各種選擇和統(tǒng)計(jì)預(yù)測的基礎(chǔ)上,戰(zhàn)斗開始了。活下來的角色通常戰(zhàn)斗力得到了提高。更具體的還有,設(shè)計(jì)者必需決定讓游戲者確定戰(zhàn)斗的策略還是把戰(zhàn)略部署留給程序去做。供挑選,如移動(dòng)、攻擊類型等等。還有一些游戲提供了“自動(dòng)”方式,它允許游戲者觀看計(jì)算機(jī)控制他(或她)的軍隊(duì)的戰(zhàn)略部署。自動(dòng)方式的目的有兩個(gè):開始游戲者通過觀看可以學(xué)習(xí)如何戰(zhàn)斗;而具有絕對優(yōu)勢的游戲者可以讓計(jì)算機(jī)操作戰(zhàn)斗,以減少自己控制的工作,并盡快結(jié)束戰(zhàn)斗?!蔽磥碚雇鸕PG現(xiàn)在看來處于一種不穩(wěn)定的狀態(tài),但是數(shù)量可能比其它任何一種類型的游戲都多。第九節(jié)模擬游戲模擬游戲在飛行模擬器的帶動(dòng)下曾經(jīng)是最強(qiáng)有力的游戲之一。模擬常常與某種類型的軍事硬件有聯(lián)系,例如F16戰(zhàn)斗機(jī)或坦克、潛艇、直升飛機(jī)模擬器。另外,除了這些戰(zhàn)爭工具模擬器,還有駕駛模擬器與核動(dòng)力飛機(jī)模擬器。我們只討論那些基于“”軌跡的模擬器,包括飛行和其它軍事模擬器、駕駛游戲和宇宙飛船戰(zhàn)斗游戲。1.模擬游戲設(shè)計(jì)問題1)模擬對象現(xiàn)有模擬游戲很容易分為兩類,如下:A。軍事的與非軍事的交通工具模擬器Microprose和spectrumHoly-byte等公司幾乎整個(gè)公司的力量都投在飛機(jī)、坦克和戰(zhàn)艦等軍事模擬器上。B字航模擬器大量的模擬器產(chǎn)品,特別是那些為虛構(gòu)世界設(shè)計(jì)的產(chǎn)品,與宇宙空間有些聯(lián)系。太空是最后的未知領(lǐng)域,可以也產(chǎn)生了令人難以置信的模擬器游戲。2.似乎真實(shí)的細(xì)節(jié)游戲設(shè)計(jì)者要充分考慮細(xì)節(jié)。有些游戲需要的細(xì)節(jié)很少,但有些需要的就多。許多模擬器設(shè)計(jì)者在設(shè)計(jì)的全過程中都能很好地把握這個(gè)問題。但是也有些設(shè)計(jì)者感到模擬的世界意味著產(chǎn)品必須盡可能與現(xiàn)實(shí)接近。然而,有時(shí)為真實(shí)世界奮斗的結(jié)果會(huì)使一個(gè)好游戲變成煩人的或很難玩的東西。例如,您想設(shè)計(jì)一個(gè)包括起飛前檢查等各種細(xì)節(jié)的飛行模擬器,這真的對整個(gè)游戲有好處嗎?這對局部精確度也許有好處,但是它損害了整體的操作特性。最后,您和測試者必須決定多少細(xì)節(jié)是必要的,但是無論細(xì)節(jié)多么真實(shí),無用的細(xì)節(jié)必須去除。別忘記,人們玩游戲就是為了從現(xiàn)實(shí)世界的瑣碎中解脫出來。3.令人難受的傳道區(qū)許多流行的模擬游戲在游戲中設(shè)計(jì)一些“傳道區(qū)”(以講解或說明情況),除了贊許,此外并沒聽到別的什么。當(dāng)您設(shè)計(jì)您的模擬器時(shí),考慮在您的產(chǎn)品上設(shè)計(jì)各種各樣的傳道區(qū),并把最主要的故事線索結(jié)合到您的產(chǎn)品中。4.引擎模擬游戲也經(jīng)常用復(fù)雜的3D圖像引擎來開發(fā)。許多游戲具有續(xù)集或是使用相同的引擎來開發(fā)其它的模擬類型游戲是不奇怪的。生產(chǎn)一系列優(yōu)秀模擬優(yōu)秀的關(guān)鍵是要有一個(gè)優(yōu)秀的3D圖像引擎和發(fā)現(xiàn)一個(gè)潛在的模擬游戲領(lǐng)域來應(yīng)用那些技術(shù)。5.尋找新的機(jī)會(huì)在游戲世界中模擬游戲是一個(gè)對圖像很敏感的類型。因此,開發(fā)者通過提高圖像質(zhì)量就可以很“容易”并有效地提高這些游戲的質(zhì)量。您只要看看市場上的大量飛行模擬器就知道了。但是,更流行的摸擬器是把精力集中在新的創(chuàng)意上的。第十節(jié)戰(zhàn)爭類游戲戰(zhàn)爭類游戲可以被分為即時(shí)戰(zhàn)略游戲和回合制游戲兩類。在即時(shí)戰(zhàn)略游戲中主要要考慮的問題是人工智能和力量均衡的問題。對于人工智能,主要是電腦對手的悄芎退秸蕉返ノ壞鬧悄艿納杓莆侍狻4蟛糠鐘蝸氛呤遣換嶠郵芤桓鎏賴鬧換嶙鞅椎畝允幀斯ぶ悄萇杓鋪嗄托勻ヌ粽揭桓齬Ψ浼蛑焙廖奩普賴摹白ㄒ導(dǎo)丁鋇畝允幀ㄒ檔娜斯ぶ悄萇杓疲膊換崛萑套約旱氖窒輪換嶙咧畢摺穆肪端閹魎惴ā遠(yuǎn)勻斯ぶ悄懿糠鐘ψ邢傅目悸嗆筒饈?。哉對量緩?qiáng)悸歉髦指嘸段淦骱突疚淦骷湫閱艿牟鉅臁⒏髦指嘸段淦韉腦旒?、建造时间、臭溬|(zhì)奔浼疤跫賾械奈淦韉奶氐愕墓顧肌?設(shè)計(jì)時(shí)僅僅可以不考慮路徑算法的問題,其他的問題是基本相似的。第十一節(jié)總結(jié)上面談到的游戲類型僅僅是從技術(shù)上而言的,在現(xiàn)在的大部分游戲中實(shí)際上是包含了這些類型之中的一種以上的特性,或與其相似。比如說文明和七個(gè)王國就包含了主管類游戲和即時(shí)戰(zhàn)略游戲的特性,現(xiàn)在大部分的即時(shí)戰(zhàn)略游戲都有連線作戰(zhàn)的能力等等。所以您在設(shè)及您的游戲是應(yīng)考慮所有可加入的特性。好我們的介紹到此就算是結(jié)束了,但對于您來說,還有很長的路要走。游戲中可以說包含了整個(gè)計(jì)算機(jī)技術(shù)的方方面面,作為一個(gè)游戲開發(fā)的程序員來說您還需要了解很多的知識掌握很多的技巧。俗話說“師傅領(lǐng)進(jìn)們,修行靠個(gè)人”,我們就只能言盡于此了,剩下的就靠您自己了。祝您開發(fā)出世界級的游戲,成為振興中國游戲業(yè)的功臣。第一節(jié)窗口的移動(dòng)和改變大小時(shí)caseWM_SIZE:caseWM_MOVE:if(IsIconic(hWnd)){Msg("FoxBearisminimized,pausing");PauseGame();}if(bFullscreen){SetRect(&rcWindow,0,0,GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN));}else{GetClientRect(hWnd,&rcWindow);ClientToScreen(hWnd,(LPPOINT)&rcWindow);ClientToScreen(hWnd,(LPPOINT)&rcWindow+1);}Msg("WINDOWRECT:[%d,%d,%d,%d]",rcWindow.left,rcWindow.top,rcWindow.right,rcWindow.bottom);break;caseWM_SIZE:是在窗口的大小被改變時(shí)發(fā)送的。caseWM_MOVE:是在窗口被移動(dòng)時(shí)發(fā)送的。當(dāng)收到這兩個(gè)消息后,首先檢測窗口是否最小化了,如果是則暫停游戲。否則再檢測游戲是否轉(zhuǎn)為全屏模式,若是則改變用戶區(qū)的大小為全屏。如果只是改變了窗口的大小但并沒有使顯示模式變成全屏或窗口最小化,則先取得窗口的用戶區(qū)坐標(biāo)(左上角的、y及右下角的、y的值)將之存入結(jié)構(gòu)rcWindows,再將rcWindows中的坐標(biāo)轉(zhuǎn)換為屏幕坐標(biāo)。請注意rcWindows是RECT型的結(jié)構(gòu),但要求的是POINT型的結(jié)構(gòu),在結(jié)構(gòu)RECT中存放的是一個(gè)矩形的左上角的、y及右下角的、y的值而結(jié)構(gòu)POINT中存放的就只是x和y的值。故此在ClientToScreen(hWnd,(LPPOINT)&rcWindow);ClientToScreen(hWnd,(LPPOINT)&rcWindow+1);中先對rcWindow進(jìn)行強(qiáng)制類型轉(zhuǎn)換,而且兩次調(diào)用該函數(shù),同時(shí)在第二次掉用時(shí)使rcWindow的地址自加1。第二節(jié)窗口被激活時(shí)caseWM_ACTIVATEAPP:bIsActive=(BOOL)wParam&&GetForegroundWindow()==hWnd;if(bIsActive)Msg("FoxBearisactive");elseMsg("FoxBearisnotactive");if(bPaused&&bIsActive){if(RestoreGame()){UnPauseGame();}else{if(GetForegroundWindow()==hWnd){if(InitGame()){UnPauseGame();}}}}break;caseWM_ACTIVATEAPP:當(dāng)不同于當(dāng)前窗口的應(yīng)用程序的窗口被激活時(shí)發(fā)送本消息。當(dāng)接收到這個(gè)消息時(shí),首先令bIsActive等于(BOOL)wParam&&GetForegroundWindow()==hWnd,然后檢測bIsActive是否為級。接下來先檢測游戲窗口是否是從暫停狀態(tài)到激活的狀態(tài),若是則運(yùn)行RestoreGame()從新開始,若RestoreGame()成功則運(yùn)行UnPauseGame()否擁有最高的優(yōu)先級,若有則從新初始化游戲(運(yùn)行InitGame()),初始化成功后則運(yùn)行UnPauseGame()。第三節(jié)實(shí)現(xiàn)邏輯調(diào)色板時(shí)caseWM_QUERYNEWPALETTE:if(!bFullscreen&&lpPalette&&lpFrontBuffer){HRESULTddrval;ddrval=IDirectDrawSurface_SetPalette(lpFrontBuffer,lpPalette);if(ddrval==DDERR_SURFACELOST){IDirectDrawSurface_Restore(lpFrontBuffer);ddrval=IDirectDrawSurface_SetPalette(lpFrontBuffer,lpPalette);if(ddrval==DDERR_SURFACELOST){Msg("Failedtorestorepaletteaftersecondtry");}}if(ddrval==DD_OK){SetWindowText(hWnd,OUR_APP_NAME);}}break;在窗口收到輸入焦點(diǎn)前發(fā)出,當(dāng)窗口收到輸入焦點(diǎn)后將返回顯示它是否能實(shí)現(xiàn)邏輯調(diào)色板。在這個(gè)消息獲得后,程序先檢測是否運(yùn)行于窗口模式且調(diào)色板和前緩沖區(qū)已設(shè)定,然后設(shè)定一次調(diào)色板,若失敗則恢復(fù)前緩沖區(qū)然后再試一次,如果仍然失敗則輸出錯(cuò)誤信息。兩次設(shè)定若成功一次則將標(biāo)題改為“WinFox。第四節(jié)改變系統(tǒng)調(diào)色板時(shí)caseWM_PALETTECHANGED:if((HWND)wParam!=hWnd){if(!bFullscreen){if(!bStress){Msg("*****PALETTECHANGED,PAUSINGGAME");PauseGame();}else{Msg("Lostpalettebutcontinuing");SetWindowText(hWnd,OUR_APP_NAME"-palettechangedCOLORSPROBABLYWRONG")}}}break;系統(tǒng)調(diào)色板被改變,本消息允許不帶輸入焦點(diǎn)的窗口使用調(diào)色板去實(shí)現(xiàn)自己的邏輯調(diào)色板和更新其用戶區(qū)域。在得到這個(gè)消息后,程序首先是否是當(dāng)前窗口改變了系統(tǒng)調(diào)色板,如果是則直接跳出窗口過程,若不是則再檢測是否是全屏模式,若是則直接跳出窗口過程,若非則先檢測bStress是否為FLASE,若為FLASE則暫停游戲,若為TURE則將標(biāo)題條改為“-palettechangedCOLORSPROBABLY。第五節(jié)當(dāng)操作鍵按下時(shí)WM_KEYDOWN消息是在一個(gè)非系統(tǒng)鍵按下時(shí)產(chǎn)生的,非系統(tǒng)鍵是指沒有按下ALT鍵時(shí)按下的鍵,或是當(dāng)某窗口已有輸入焦點(diǎn)時(shí)按下的鍵。在該消息的wParam參數(shù)中包含了識別所按下的鍵的虛鍵碼,由不同的虛鍵碼就可以完成鍵盤對游戲的操作。我們知道鍵盤對游戲的操作中所按的鍵可以分為:操作鍵和功能鍵兩類。下面讓我們先看看例程中是如何定義操作鍵的吧。在上一章我們就介紹過在本例程中操作鍵是小建盤上的“2345678”我們來看一看。對操作鍵的功能的定義是在caseVK_NUMPAD5:lastInput=KEY_STOP;break;caseVK_DOWN:caseVK_NUMPAD2:lastInput=KEY_DOWN;break;caseVK_LEFT:caseVK_NUMPAD4:lastInput=KEY_LEFT;break;caseVK_RIGHT:caseVK_NUMPAD6:lastInput=KEY_RIGHT;break;caseVK_UP:caseVK_NUMPAD8:lastInput=KEY_UP;break;caseVK_HOME:caseVK_NUMPAD7:lastInput=KEY_JUMP;break;caseVK_NUMPAD3:lastInput=KEY_THROW;break;您可以看到在得到每個(gè)虛鍵碼之后都對lastInput進(jìn)行賦值,這時(shí)就完成了對操作鍵的定義了,至于操作鍵是如何其作用的,在本章的第八節(jié)中您可以看到。第六節(jié)當(dāng)功能鍵按下時(shí)在本游戲中的功能鍵是F3F5F6F7F8F9。這些鍵的作用時(shí)什么,是如何實(shí)現(xiàn)的呢?下面就讓我們一個(gè)一個(gè)的看看吧!1.F3的作用是暫停游戲和解除暫停。在程序中這個(gè)作用是這樣實(shí)現(xiàn)的:caseVK_F3:bPaused=!bPaused;break;2.F4的作用是實(shí)現(xiàn)ALT+ENTER的作用。在程序中是使用caseVK_F4:PostMessage(hWnd,VK_RETURN,0);break;4.F6的作用是逐個(gè)使用在顯示模式列表中的顯示模式。caseVK_F6:{statici;if(bFullscreen){for(i=0;i=NumModes){i=0;}Msg("ModeList%d%d",i,NumModes);GameMode.cx=ModeList[i].w;GameMode.cy=ModeList[i].h;GameBPP=ModeList[i].bpp;bStretch=FALSE;InitGame();}break;在收到VK_F6的消息后,程序設(shè)立一個(gè)初值為0的變量,并以該變量為存放顯示模式列表的數(shù)組的下標(biāo),然后令其自加直至找到一個(gè)與當(dāng)前模式相同的。然后令其自加1,取以該值為下標(biāo)的元素為顯示模式,最后重新初始化游戲。5.F7的作用是改變顏色數(shù)。caseVK_F7:GameBPP=GameBPP==8?16:8;InitGame();break;6.F8的作用是決定是否使用拉伸算法。caseVK_F8:if(bFullscreen){bStretch=!bStretch;InitGame();}else{RECTrc;GetClientRect(hWnd,&rc);bStretch=(rc.right!=GameSize.cx)||(rc.bottom!=GameSize.cy);if(bStretch=!bStretch)SetRect(&rc,0,0,GameMode.cx*2,GameMode.cy*2);elseSetRect(&rc,0,0,GameMode.cx,GameMode.cy);AdjustWindowRectEx(&rc,GetWindowStyle(hWnd),GetMenu(hWnd)!=NULL,GetWindowExStyle(hWnd));SetWindowPos(hWnd,NULL,0,0,rc.right-rc.left,rc.bottom-rc.top,SWP_NOMOVE|SWP_NOZORDER|SWP_NOACTIVATE);}break;這部分的運(yùn)行過程為:若為全屏模式則對bStretch取非,然后初始化游戲。若為窗口模式,則取得當(dāng)時(shí)窗口的特征,以確定bStretch的值,然后從新顯示窗口。7.F9的作用是取消使用軟件模擬并逐個(gè)使用已有的驅(qū)動(dòng)程序caseVK_F9:DevIndex++;bUseEmulation=FALSE;if(DevIndex>=MaxDevIndex)DevIndex=0;ExitGame();DDDisable(TRUE);InitGame();break;//destroyDirectDrawobject第七節(jié)其他消息caseWM_DISPLAYCHANGE:break;caseWM_CREATE:break;這兩個(gè)消息收到后,將不做任何反應(yīng)。caseWM_SETCURSOR:if(bFullscreen&&bIsActive){SetCursor(NULL);returnTRUE;}break;該信息在光標(biāo)隨鼠標(biāo)的移動(dòng)而輸入未被捕獲時(shí)發(fā)出。由于本游戲不需鼠標(biāo),故在隨后的檢測是否是全屏模式或是被激活的語句,獲得肯定的答案后,將光標(biāo)從屏幕上刪除。caseWM_PAINT:hdc=BeginPaint(hWnd,&ps);if(bPaused){char*sz="Gameispaused,thisisnotabug.";TextOut(ps.hdc,0,0,sz,lstrlen(sz));}EndPaint(hWnd,&ps);return1;該消息在請求重新繪制應(yīng)用程序窗口是發(fā)出。程序在接收到這個(gè)消息后就調(diào)用BeginPaint()為hWnd若是則向屏幕輸出Gameispaused,thisisnotabug.最后調(diào)用EndPaint()caseWM_DESTROY:hWndMain=NULL;lastInput=0;DestroyGame();DDDisable(TRUE);PostQuitMessage(0);break;//endofgame//destroyDirectDrawobject該消息在要撤消某窗口時(shí)向該窗口發(fā)送。在收到這個(gè)消息后程序令指向窗口的句柄為NULL0及游戲工所占的內(nèi)存。第八節(jié)刷新游戲單元在討論完窗口過程后,我們應(yīng)開始介紹這個(gè)游戲的消息循環(huán)部分了。在這個(gè)游戲的消息循環(huán)部分中大部分在第二章windows編程基礎(chǔ)中已經(jīng)談到過了,所以在這里我們將只介紹刷新游戲單元和重畫游戲單元部分。在消息循環(huán)中程序是調(diào)用函數(shù)ProcessF
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年南昌市建設(shè)投資集團(tuán)有限公司公開招聘備考題庫及完整答案詳解一套
- 2026年中遠(yuǎn)海投(廈門)供應(yīng)鏈發(fā)展有限公司招聘備考題庫及一套完整答案詳解
- 2026年東北地區(qū)專場招聘事業(yè)編制教師15名備考題庫附答案詳解
- 2026年度思茅區(qū)教育體育行業(yè)急需緊缺人才第二批招聘備考題庫及參考答案詳解一套
- 2026年廣東工業(yè)大學(xué)生態(tài)環(huán)境與資源學(xué)院科研助理招聘備考題庫及參考答案詳解一套
- 2026年中國醫(yī)學(xué)科學(xué)院醫(yī)學(xué)生物學(xué)研究所第二批公開招聘10人備考題庫及完整答案詳解一套
- 2026年中遠(yuǎn)海運(yùn)物流供應(yīng)鏈有限公司廣州分公司招聘備考題庫及一套參考答案詳解
- 2026年中復(fù)神鷹碳纖維西寧有限公司招聘備考題庫完整答案詳解
- 2026年·包頭稀土高新區(qū)教育系統(tǒng)校園招聘25人備考題庫(三)(北京師范大學(xué)招聘站)含答案詳解
- 2026年中電(山東)新能源投資有限公司招聘備考題庫有答案詳解
- 動(dòng)量守恒定律(教學(xué)設(shè)計(jì))-2025-2026學(xué)年高二物理上冊人教版選擇性必修第一冊
- 2025年全國注冊監(jiān)理工程師繼續(xù)教育題庫附答案
- 云計(jì)算環(huán)境下中小企業(yè)會(huì)計(jì)信息化建設(shè)問題
- 15D501建筑物防雷設(shè)施安裝圖集
- 社區(qū)老人心理疏導(dǎo)服務(wù)記錄表
- 屈光不正診療規(guī)范
- 國際貿(mào)易采購合同(中英文)
- 建設(shè)部環(huán)衛(wèi)勞動(dòng)定額
- 金蝶云星空 V7.2-產(chǎn)品培訓(xùn)-PLM領(lǐng)域-文檔管理
- 溶洞注漿施工方案樣本
- GB/T 25852-20108級鏈條用鍛造起重部件
評論
0/150
提交評論