UnrealScript
外观
编程范型 | 面向对象、泛型 |
---|---|
实作者 | 蒂姆·斯维尼 |
发行时间 | 1998年5月 |
当前版本 |
|
型态系统 | 静态、强类型、安全 |
操作系统 | 跨平台 |
文件扩展名 | .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]
参考文献
[编辑]- ^ https://docs.unrealengine.com/en-US/Support/Builds/ReleaseNotes/4_24/index.html.
- ^ UDN - Three - UnrealScriptReference. udn.epicgames.com. [2013-06-26]. (原始内容存档于2013-07-03).
- ^ Schultz, Warren. Unreal Engine 4 - First Look. About.com. [2017-12-29]. (原始内容存档于2012-05-24).
- ^ Nutt, Christian. Epic's Tim Sweeney lays out the case for Unreal Engine 4. Gamasutra. 2014-03-21 [2017-10-03]. (原始内容存档于2017-10-03).
- ^ Grayson, Nathan. Fortnite's Jessen Talks Minecraft, PC Gaming, UE4. Rock, Paper, Shotgun. 2012-07-20 [2018-05-01]. (原始内容存档于2018-05-01).
- ^ Wawro, Alex. For Tim Sweeney, advancing Epic means racing into AR and VR. Gamasutra. 2017-03-01 [2017-07-19]. (原始内容存档于2017-07-20).