第一章概述
什麼是遊戲引擎?
遊戲引擎是任何電腦遊戲的心臟。很多遊戲引擎是緊緊的跟遊戲繫結在一起,只能適用於乙個遊戲。然而,乙個設計得當的引擎應該是模組化,可重用和足夠靈活的,可以適用於同一型別的很多款遊戲。遊戲引擎一般是為某一特定型別遊戲設計和優化過的。這些型別包括第一人稱射擊、實時戰略遊戲和車輛模擬,這幾類最流行的一些遊戲(to name a few of the most popular)。
在這裡講到的商業遊戲引擎都是針對各自的遊戲高度優化過的,這都是由非常有經驗的專業人員組成的團隊經過許多man-years開發的。這些商業遊戲必須在非常廣泛的硬體上良好的執行。它們既可以使用directx也可以使用opengl渲染,這樣玩家可以自由的選擇他們的系統中圖形卡最好的工作方式。商業軟體使用高階方法,例如vertex和pixel shaders的一些專利**,為了提供公司刺向遊戲市場的利刃。
第一人稱射擊遊戲引擎
第一人稱設計遊戲引擎常是基於室內場景。這就強調了可視的細節和動畫。增加可視細節就伴隨著花費很多的紋理以及在給定的遊戲級別上增加更多的多邊形數目。為了補償這些(必須維持乙個合理的幀率),大多數的引擎依賴四叉樹(quadtree),protal,或者空間二分法(bsp)剔除。剔除是從場景中移除多邊形的過程。(這些剔除方法的具體細節在第三章。)這些型別的例子是id software公司的doom和quake(在他們的許多版本中),以及sierra公司的half-life(包括極其流行的反恐精英版本)。
實時戰略遊戲引擎
直到最近,實時戰略遊戲一直是二維的,基於精靈(sprite-based)的遊戲,他們使用固定的視點和巧妙設計的sprite來給人三維的假象。新的遊戲,例如sierra公司的empire earth和ensemble studios的age of mythology把這類遊戲帶入到3d時代。圖1-1展示了age of mythology遊戲的乙個場景。
圖一 age of mythology中的乙個場景
這一類遊戲一般是室外的,面臨著使人畏懼的在同一時間顯示非常巨大數量的物件和廣闊的地形的困難。這類遊戲的遊戲引擎使用高空視點來減少玩家視野裡的物件數目和地形數目。這些遊戲也使用相比第一人稱射擊裡的相對較低的解析度的物件。因為視點保持在離地面較遠的乙個固定點上,玩家不會足夠近看到物件的細節。
車輛模擬遊戲引擎
這第三類遊戲引擎是車輛模擬。這一種包括第一人稱軍事戰鬥模擬器(飛機,***,坦克等等),賽車遊戲,以及其他駕駛遊戲。乙個例子是novalogic公司出品的comanche 4。
因為這些遊戲是室外的,並且視點角度也相對沒有限制,所以需要一些特殊的技術來維持可玩的幀率。這些技術主要落在剔除和細節級別(lod)這些領域,來減少必須貼紋理和繪製的多邊形數目。在室外的模擬遊戲中,乙個最普通的方法是把遠裁剪平面移近視點。這會導致任何遠於平面的多邊形被移除場景。乙個不好的效果是當視點移動時,玩家可以看到在遠裁剪平面有物件忽隱忽現。這個問題的解決方法是使用霧。霧或者煙使多邊形在接近霧的最大距離(通常是等於或者稍小於遠裁剪平面的距離)時,退成霧的顏色。lod和改進的麵片(mesh)技術都提供了乙個機制減少給定的物件的多邊形數目,通過乙個函式的方式,根據物件離視點的距離範圍。lod技術在模型遠離眼睛時用低細節來替代高細節。另一方面,改進的麵片技術,基於離視點的範圍來修改單個的麵片。
注意:不要混淆遊戲引擎設計和遊戲設計。遊戲引擎是遊戲背後的方法技術(enabling technology)。遊戲設計需要考慮的許多問題無關於遊戲引擎。遊戲引擎提供遊戲設計者向遊戲傳遞概念或者故事情節的工具。
sparql第一章第一節
第2章對rdf提供了一些背景,語義網,並在sparql 適合,但在進入之前,讓我們從動手實踐開始。執行sparql查詢,把背景部分過於理論。但首先,sparql是什麼?這個名字是乙個遞迴的縮寫和sparql協議 rdf查詢語言,它是由w3c的一組規範描述的。w3c或全球資訊網聯盟是同乙個標準機構。負...
第一章 第一節 環境搭建
負 一 閱讀前注意 本教程使用的python版本是3.6.5,讀者使用的python版本盡量與本教程一致,最低版本必須是 python3.5 版本 本教程的開發環境是windows 10,其他作業系統亦可 本教程的開發ide是atom,其他ide亦可 零 windows 搭建python環境 驗證安...
第一章 第一節 環境搭建
負 一 閱讀前注意 本教程使用的python版本是3.6.5,讀者使用的python版本盡量與本教程一致,最低版本必須是python3.5版本 本教程的開發環境是windows 10,其他作業系統亦可 本教程的開發ide是atom,其他ide亦可 零 windows 搭建python環境 安裝 驗證...