跳至內容

UnrealScript

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
UnrealScript
編程範型物件導向泛型
實作者蒂姆·斯維尼
面市時間1998年5月,​26年前​(1998-05
目前版本
  • 4.24(穩定版本)[1]
編輯維基數據鏈結
型態系統靜態、強型別、安全
作業系統跨平台
副檔名.uc .uci .upkg
網站docs.unrealengine.com
啟發語言
C++, Java

UnrealScript(通常縮寫為「UScript」)在虛幻引擎4發布之前是虛幻引擎的原生手稿語言,用於編寫遊戲程式碼和遊戲玩法事件。該語言專為簡單、高階遊戲程式設計而設計[2]。UnrealScript直譯器由虛幻引擎的作者蒂姆·斯維尼編寫,他同時也是另一門更早的遊戲手稿語言ZZT-oop的創造者。

Java類似,UnrealScript是物件導向的,不支援多重繼承(類都繼承自一個公共Object類),並且類的定義均儲存於與之同名的單獨檔案中。與Java不同的是,UnrealScript沒有對原始類型提供物件導向的包裝。介面特性僅在虛幻引擎3和少數虛幻引擎2遊戲中受到支援。UnrealScript支援運算子多載;但除函式的可選參數特性外,不支援方法多載

在2014年3月舉辦的遊戲開發者大會上,Epic Games宣布虛幻引擎4將移除對UnrealScript的支援,改為使用C++[3]。「藍圖視覺化程式設計」系統將讓設計師得以進行視覺化程式設計,取代早期的Kismet視覺化指令碼系統[4][5]

在虛幻引擎4開發過程中的一個關鍵時刻是,我們圍繞我自己設計的沿用了三代的手稿語言UnrealScript展開了一系列辯論。我們要讓UnrealScript在未來擁有競爭力,為此我們要做些什麼。之後我們不斷列出讓UnrealScript升級換代後需要支援的功能,以及誰可能能實現這個功能。這份列表越來越長,越來越龐大。之後我們便開了一次會來整理這份列表,做出取捨,然後指定計劃,然後——就在這時我說:「你們提出要添加進UnrealScript的這些功能C++已經都有了,那為什麼不直接丟掉UnrealScript直接全面倒向C++呢?要知道,最大化效能,最大化可除錯性,這些優勢C++都能帶給我們。」
— 蒂姆·斯維尼,2017年在與Gamasutra的採訪中[6]

參考文獻

  1. ^ https://docs.unrealengine.com/en-US/Support/Builds/ReleaseNotes/4_24/index.html.
  2. ^ UDN - Three - UnrealScriptReference. udn.epicgames.com. [2013-06-26]. (原始內容存檔於2013-07-03). 
  3. ^ Schultz, Warren. Unreal Engine 4 - First Look. About.com. [2017-12-29]. (原始內容存檔於2012-05-24). 
  4. ^ Nutt, Christian. Epic's Tim Sweeney lays out the case for Unreal Engine 4. Gamasutra. 2014-03-21 [2017-10-03]. (原始內容存檔於2017-10-03). 
  5. ^ Grayson, Nathan. Fortnite's Jessen Talks Minecraft, PC Gaming, UE4. Rock, Paper, Shotgun. 2012-07-20 [2018-05-01]. (原始內容存檔於2018-05-01). 
  6. ^ Wawro, Alex. For Tim Sweeney, advancing Epic means racing into AR and VR. Gamasutra. 2017-03-01 [2017-07-19]. (原始內容存檔於2017-07-20).