開發游戲需要學習什麼?

大家都知道,遊戲開發是一門技術活,需要各方面的知識儲備,那麼到底需要哪些數學知識呢?

首先,數學是電子遊戲的基礎,它能讓遊戲按照設計師的意圖運行。請仔細想想,遊戲本質上是一個虛擬世界,數學可以為它設定規則。如果沒有數學,馬里奧可能漂浮在空中,《使命召喚》的子彈可能不會飛向敵人。

總體而言,遊戲開發需要運用大量的數學知識,包括代數、幾何學、微積分、線性代數、離散數學和應用數學等,運用的元素包括矩陣、增量時間、向量和標量操作等。

以「幾何學」為例,遊戲中的世界基本上由多邊形的空間組成,開發者可以創建具有數萬個多邊形的對象,然後通過渲染等方式讓它們看起來更真實。

為了方便渲染,遊戲中的物體很喜歡用「三角形」來製作,比如下圖左中的維京頭盔使用了數千個三角形,下圖右是渲染後的樣子。使用三角形的原因是它們的形狀相對簡單,因此開發者無需為遊戲中每個物體編寫單獨的程序。

遊戲中還經常使用「尋路」,比如你在《看門狗》中定位一個目標後,遊戲會立即為你規劃最短路線。要知道,計算機不能自主思考,它們需要確切的指令,這一切就依賴於「戴克斯特拉演算法」。

該演算法有很多變體,原始版本僅適用於找到2個頂點之間的最短路徑,後來可以固定一個頂點作為源結點,然後找到該頂點到其他結點的最短路徑,產生一個最短路徑樹。

因此,在《看門狗》、《荒野大鏢客2》等遊戲中,一旦你錯過某條路線規劃,遊戲會立即為你規劃全新的最短路線,就像手機導航軟體那樣。

事實上,大型遊戲往往需要復雜的數學,但在一些簡單的遊戲中,可能只需要一部分,比如三角函數和代數。

即便如此,數學是開發遊戲的必要元素,如果沒有數學,遊戲將變得脫離現實。

當然,遊戲不等於現實,數學也能讓玩家做現實世界無法做到的事情,比如《刺客信條》的信仰之跳,《荒野大鏢客2》中的死神之眼。

隨便看看 更多