Gamestudio

Gamestudio，一般被稱為 3D Gamestudio，或者 3DGS，是一個 3D 電腦遊戲開發系統，允許使用者建立 3D 遊戲和其它虛擬現實應用程式，可以免版稅釋出。該系統包含一個模型、地形、場景、指令碼和除錯程式，而且還收錄了大量的紋理，模型，和貼圖。不僅如此，該系統還帶有一個遊戲模板系統，使用者不需程式設計就可以用它做一些基本的射擊遊戲或者角色扮演類遊戲。對於更復雜的遊戲或應用程式可以使用軟體的程式語言，Lite-C，或者用外部開發語言，比如 VC++ 或者 Borland Delphi。

Gamestudio 面向各種使用者群，針對愛好者，美工人員及程式設計人員提供初級版、高階版、專業版。並且 Conitec 公司也希望把這個系統推向廣告遊戲開發，即時演示，模擬以及虛擬展覽製作的市場。大部分發行的 Gamestudio 作品都是有 2 到 3 人的開發團隊製作完成的。而且，在網路上還有一個龐大的線上使用者交流群可以對這個系統提供幫助。

歷史

1993 ACK 3D (Animation Construction Kit) by Lary Myers (Wolfenstein 型的開源引擎
1994 ACK NEXT GENERATION 由 Johann Christian Lotter /oP Group 製作 (ACK 3D 的改進版，開源)
1995 ACKNEX-2 為了一個德國電視節目 X-BASE 而編寫 (和 Doom 差不多的引擎)
1995 ACKNEX-2 成為 Conitec 的資產並且以 '3D GameStudio' 之名釋出
1997 ACKNEX-3 釋出
1999 A4 釋出 (基於 Window，像鐳射之錘一樣的引擎)
2000 A5 釋出 (地形引擎)
2003 A6 釋出 (物理和著色器)
2007 A7 釋出 (新的 ABT 渲染器和 Lite-C)
2009 A8 宣佈於 2010 年 11 月釋出

一般情況下該引擎每 4 到 8 個星期會提供免費更新。Gamestudio/A7 有兩部分。Gamestudio 指的是編輯器和遊戲模板系統；A7 指的是遊戲引擎。

遊戲引擎

A7 引擎包含一個可支援多個物理物件的物理引擎（例如，靠四輪轉向和移動的汽車，而不是簡單的汽車帶著輪子移動）。這個引擎可以自動處理多人遊戲（但是指令碼仍然需要針對多人遊戲的特點編寫）。它使用 ABT (Adaptive Binary Tree) 渲染器表現室內外場景，並用一個額外的 BSP 渲染器做室內場景。需要注意的是，只有昂貴的專業版中包含 BSP 渲染器。免費版和增強版不支援明暗器。

引擎支援高解析度，地型渲染，預先渲染，陰影貼圖和動態模板陰影（這是給模型的單一動態陰影，而不是像毀滅戰士 3 裡面可見到的那種對每個模型投射多個光源的動態模板陰影）。A7 引擎的 2D 系統（圖形化使用者介面系統）並不是很強大（見指令碼部分），但是卻可以在需要時與 3d 系統互換。在使用 Lite-C 語言時，很多東西都是可以使用者自定義的。3.0 版模型著色器和分階段的後期處理可以幫助著色程式設計師把各種特效連在一起用以產生任意數量的自定義的著色效果。

編輯器

Gamestudio 給使用者提供了一套編輯工具。但是使用者依然可以使用 3ds Max，Maya，Adobe Photoshop 來給 Gamestudio 做專業的影像與模型。

指令碼編輯器可以讓使用者透過建立地形或者建立環境和插入模型，並且可以透過模板指令碼或自創指令碼為它們加入動作和各種行為。如果需要，使用者可以自行建立模型和造型，紋理效果，以及指令碼。紋理是透過外部繪圖程式建立的，如 Photoshop，Paintshop Pro，Microsoft Paint，或者 GIMP。

3.1 場景編輯器（WED），又名關卡編輯器

場景編輯器（WED），是主編輯器。利用這個編輯器，使用者可以放置各種物體，給模型賦予指令碼定義的動作，給幾何場景加上紋理，並且用 BSP（Binary space partitioning tree）技術建立場景。

場景編輯器是 Gamestudio 的主程式，使用者可以從這裡啟動遊戲，給遊戲加指令碼等等。這是使用者把遊戲各個部分融合到一起的地方。

WED 的佈局很簡潔。主要部分，中間偏右的區域，用於編輯，有 3 個圖形檢視和一個 3D 視窗。雖然可以重新安排，但是左上方的視窗是頂檢視，顯示 X-Y 座標。左下方是側檢視，顯示 X-Z 座標。右下方是後檢視，顯示 Y-Z 座標。右上方是 3D 檢視，不編譯出遊戲就可以快速預覽遊戲場景。

這些圖形被分為 128 的倍數個，然後進一步被分為 16 的倍數個，以便對齊和擺放。按照 8 的倍數分步縮小後的圖形會自動調整大小。

左中區域列出場景中的物體，紋理和一些其他東西。為了達到最好的效果紋理必須是 2 的整數冪（比如 256x128, 1024x256, 或者 64x64）。奇數個的紋理看起來較差而且渲染較慢 (如 394x213 or 723x1280)。

頂部是工具欄。使用者可以用其操作物體，加入新的物體，比如實體、聲音和光，建立場景，執行程式。還有一些其他選項。

當對一個物體右擊並選擇屬性選單時，使用者可以手動輸入座標位置，給一個實體賦予動作，或者調整塊各個面的紋理。

WED 的一個缺點就是它不能在沒有塊或者地形的情況下進行操作。舉例說，我們很難去建立一條街道（不是一個簡單的平面），因為我們幾乎不可能把各個物塊移動到完美的位置上，使得整條街道沒有縫隙（我們不可能把物塊的邊緣完美對齊因為 “自動對齊到網格” 功能只能用於幾乎沒有旋轉過的物塊）。三角形和 “物塊邊緣對齊” 功能可以解決這個問題，讓我們用多個獨立物塊建立一個複雜的無縫地面。

3.2 模型編輯器（MED）

雖然許多使用者更傾向於使用外部模型程式，但是本系統的模型編輯器還是能讓使用者設計模型，而且有時還可以製作場景的。模型可以由任何東西構成，小到幾個簡單的箱子，大到人物模型或者整個城市一樣複雜的環境。模型是由眾多網狀物構成的：一組頂點和三角形（也就是多面體）構成形體，一個骨架來做運動，一個或多個紋理組成皮膚，以及特效檔案（.fx）來做明暗器。

和場景編輯器一樣，模型編輯器的大概佈局也是一樣的。它有 3 個圖形檢視和一個 3D 檢視，和場景編輯器的排布相同。

雖然 MED 的大體佈局和 WED 多少相同，但是 MED 還有一個皮膚編輯器，用來給模型新增紋理。皮膚編輯器有一個完全不同的佈局。紋理效果在左邊顯示，模型在右邊顯示。工具欄環繞著它們。紋理效果經常都是由外部圖形編輯器建立並透過 BMP，TGA，或者 PCX 格式的圖片匯入的。MED 使用 UV 對映，把模型網格的頂點放在紋理上以此給模型上紋理。

模型的形體既可以透過簡單的基元（比如立方體和錐體）建立，也可以由頂點到面的方法來製作。模型不一定非要像 BSP 一樣受限制，不過 BSP 渲染快速，大部分情況下是更理想的設計層次的選擇。

3.3 指令碼編輯器（SED）

指令碼編輯器（SED）是一個有編譯器和偵錯程式的純文字編輯器。不過，一些關鍵詞，如 “function”，“alpha”，變數型別或者數字會體現不同的顏色來幫助使用者。行號可以幫助更快查詢語法錯誤。程式碼跳躍功能可以跳至不同函式，動作和物件上。除此之外 SED 還有其他功能來幫助程式設計和組織專案。指令碼編輯器使用的是 Lite-c 或者 C-Script（一個在之前版本中使用到的指令碼語言，有些接近 C 語言。這裡為了提高相容性而保留）語言。

3.4 遊戲編輯器（GED）

遊戲編輯器 GED 與場景編輯器相似，但是採用即時渲染製作場景。目前還不支援建造塊或者光束。

指令碼編寫和程式設計

C-Script 是 Gamestudio 使用的舊語言。雖然現在的系統仍然支援這個語言，但是在新的 A7 引擎 C-Script 已經被 Lite-C 取代，而且已經不推薦使用。C-Script 是簡化版的 C 程式語言，它只包含一種變數，var, 而且不支援類。

Lite-C 是 2007 年被引進的。它更加類似於 C 語言，但是包含很多方面使其比 C 語言更簡單。Lite-C 支援所有的 C/C++ 變數集，結構，和外部類。並且 Lite-C 是組合語言，不需要轉譯。它可以讓使用者利用 DirectX 的命令集以及 Windows API。Lite-C 支援來自外部庫的類，但是不允許使用者在 Lite-C 裡自定義類。除此之外，Lite-C 還有一個免費的獨立版本，可以獨立於 Gamestudio 運作。

遊戲

使用 Gamestudio 製作的遊戲包括《異教危機》（Kabus 22,2006 年又 S on Isik LTD, Merscom LLC) 出品）和 Citroën C4 Robot（2008 年 2GEN Studio, Citroën Turkey 出品）和 Dejobaan 公司的一些 Windows 遊戲。