有關遊戲引擎的 FAQ

導讀:這個 FAQ 的目的是提供足夠的信息,讓開發者能夠做出明智的決定,決定哪些工具適合他們,或者至少提供足夠的信息以讓他們的開始搜索。

在 reddit 上(特指 gamedev 這個 subreddit),有抱負的遊戲開發者最常問的問題之一就是「我應該使用什麼遊戲引擎」,這並不是一個容易回答的問題,即使對於那些在遊戲開發中「玩了一段時間」的開發者來說也是如此。

什麼是遊戲引擎?

引擎是一個完整的包:一套幫助開發者從頭開始構建遊戲的全面的工具。 引擎通常包含某種級別或場景編輯器,用於導入和管理遊戲資源(模型,紋理,聲音等)的工具,動畫系統以及編寫遊戲邏輯的腳本語言或 API 。仍然需要編寫代碼才能使用引擎,但只需要專註於遊戲邏輯,系統級的已經由引擎完成了。

什麼是遊戲框架?

一個框架比引擎更輕,框架用來抽象出最底層的編程細節,並允許開發人員輕鬆地製作互動式圖形程序。通常,框架處理創建遊戲運行的操作系統級窗口(這是非常的複雜),提供一個直觀的、平台無關的方式來繪製窗口中的東西(無論是 2D 還是適當的 OpenGL/DirectX 代碼) 提供對各種輸入設備(鍵盤,滑鼠,操縱桿等)的狀態的訪問,並且提供用於處理聲音的系統,還有需要編碼的其他一切。框架遠遠小於引擎,但這意味著可以自由構建所需的任何架構,而不是在任何預設的引擎的約束下工作。

為什麼我需要這些?

嚴格來說,你並不需要使用任何這些工具,但是遊戲製作的道路漫長而且艱巨,問這個問題的許多開發人員自己很可能陷入被稱為「引擎陷阱」的東西之中,也就是說,他們花費了所有的時間來重新創建這些第三方工具中已有的功能,而實際上並沒有在開發他們一開始嘗試製作的遊戲。

如果你的最終目標是製作出一個遊戲的話,那麼在一些第三方工具的幫助下,這幾乎總是一個更好的選擇。

那麼我需要一個框架呢,還是一個引擎?

這取決於你的背景和目標。一般來說,如果你的動機是「我要玩一個遊戲」,你應該選擇一個引擎,引擎把開發者從凌亂的架構解放出來,轉而去關注藝術、設計和遊戲。

但是,如果你的目標是「我想學習遊戲編程」,那麼可能框架更加適合你,因為你可以自己做出關於如何構建內容的決策,而你將會對遊戲是如何真正建立的有更加深刻的認知。

另外,如果你想要現代的新潮的圖形(如 Xbox 360 或更好),請使用引擎,你會完全瘋狂地嘗試重新實現所有這些東西,除非你知道你在做什麼。

我應該使用哪個框架?

這是一個很有難度的問題,因為它的答案在很大程度上取決於你需要框架來完成什麼。用於遊戲開發的常用框架包括

  • Haxeflixel - Haxe based 2D framework supporting HTML5, iOS, Android, Desktop and more.
  • LibGDX - Java Framework / Engine
  • Love - 2D Lua based Game Framework
  • MonoGame is an open-source cross-platform reimplementation of XNA
  • PyGame - 2D Python Game Framework
  • SDL - Low-level library written in C. Supports Windows, Mac OS X, Linux, iOS, and Android
  • SFML - Slightly higher-level than SDL, written in C++. Supports Windows, Linux and Mac OS X
  • lgameframework - 3D game development framework for Lua
  • LWJGL - 3D Java OpenGL Access
  • Ogre - 3D C/C++ Rendering Engine
  • OpenTK - OpenGL & OpenAL framework for .NET
  • Flixel - Flash-based framework written in AS3
  • XNA - (hard to get running on mac)

我應該使用哪種引擎?

這是另一個有難度的問題,因為存在相當之多的引擎,沒有一套快速的規則來挑選最適合的。所以最終還是要自己來決定。

原文:engine_faq - gamedev

擴展閱讀:是不是很想製作遊戲,但不知道從何下手? - 知乎專欄

歡迎關註:

  • 知乎專欄「極光日報」,每天為 Makers 導讀三篇優質英文文章。
  • 極光 Github 項目:「Aurora UI」,一個通用 IM 聊天 UI 組件。
  • 推薦閱讀:

    荒野之息,一款不那麼「正宗」的塞爾達
    全球最可怕的殺人魔讓一群少女瘋狂殺人!這款遊戲還原了案發現場
    打磨2年推出首款MMO手游,初見科技這一次將如何攪動發行市場?
    《歸家異途》團隊專訪:用遊戲來思考歐洲難民危機
    為什麼「傳銷遊戲」能在市場上持續被「追捧」?

    TAG:游戏 | 电子游戏 | 编程 |