UnrealScript
Paradigm(s) | Object-oriented, generic |
---|---|
Appeared in | 1998 |
Developer | Tim Sweeney |
Typing discipline | Static, strong, safe |
Influenced by | C++, Java |
OS | Cross-platform (multi-platform) |
Usual filename extensions | .uc .uci .upkg |
Website | udn.epicgames.com |
|
UnrealScript (often abbreviated to UScript) is the scripting language of the Unreal Engine and is used for authoring game code and gameplay events. The language was designed for simple, high-level game programming.[1] The UnrealScript interpreter was programmed by Tim Sweeney, who also created an earlier game scripting language, ZZT-oop.
Similar to Java, UnrealScript is object-oriented without multiple inheritance (classes all inherit from a common Object class), and classes are defined in individual files named for the class they define. Unlike Java, UnrealScript is case-insensitive, and does not have object wrappers for primitive types. Interfaces are only supported in Unreal Engine generation 3 and a few Unreal Engine 2 games. UnrealScript supports operator overloading, but not method overloading, except for optional parameters.
By making the process of modifying the game easier, UnrealScript helped enable the growth of a large modding community around Unreal. This greatly added to the overall longevity of Unreal and provided an incentive for new development.
Syntax
Code comments
//
until the end of the line) and a multi-line comment (delimited by /*
and */
).
// Single-line comment class Foo extends Object; /* Multi-line comment */ var Object Foo;
Data types
Primitive types
- Bool - A boolean that allows the values true, and false, which is the same as 1, and 0
- Byte - A 8Bit Unsigned integer value that may range from 0 to 255
- Enum
- Float
- Int - A 32Bit integer value that may range from -2147483648 to 2147483647
- Name - A more restricted version of String, only allowing the following characters
([a-zA-Z0-9_\- ]*)
as expressed in regex. e.g. 'name_example' - String - A series of Unicode characters such as "A B C"
Reference types
- Class
- Delegate
- Interface
- Object
- Pointer
Composite types
- Array
- Struct
Functions
UnrealScript uses functions similar to C/C++/Java. Functions are declared by the keyword: function, followed by an optional return type, its required name, and finally its function parameters.
The declaration of a function can look like this:
-
[modifiers] function [[modifiers] datatype] name( [parameters] ) [const];
the semicolon is only necessary if the function has no body.
An example of a very simple additive function in UnrealScript:
function int Add( int a, int b ) { return a + b; }
"Hello, world" example
The following is a hello world example using the syntax of UnrealScript.[2]
class HelloWorld extends GameInfo; event InitGame( string Options, out string Error ) { `log( "Hello, world!" ); }
The following text will be printed to the output console when HelloWorld is initializing:
Hello, world!
See also
|
|
|
References
- ↑ "UDN - Three - UnrealScriptReference". Udn.epicgames.com. Retrieved 2013-06-26.
- ↑ "UDN - Three - MakingACommandlet". Udn.epicgames.com. Retrieved 2013-06-26.
- ↑ "Tools:nFringe - Pixel Mine Games Wiki". Wiki.pixelminegames.com. 2009-04-05. Retrieved 2013-06-26.
- ↑ "Downloads". Apple. Retrieved 2013-06-26.
- ↑ "Unreal X-Editor | Free Script Editor for Unreal Development Kit (UDK)". Unrealxeditor.wordpress.com. 2013-04-29. Retrieved 2013-06-26.
- ↑ "UDN - Three - UnCodeX". Udn.epicgames.com. Retrieved 2013-06-26.
External links
- UnrealScript Language Reference for UE2
- UnrealScript Language Reference for UE3
- UnrealScript Language Reference circa 1998 (Original Unreal)
- UnrealWiki: UnrealScript
|