AngelScript

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
AngelScript
ParadigmMulti-paradigm: scripting, imperative (procedural, object-oriented)
DeveloperAndreas Jönsson
First appeared2003
Stable release
2.37.0 / July 20, 2024; 20 months ago (2024-07-20)
Typing disciplinestatic, strong
OSCross-platform
Licensezlib License
Website{{#property:P856}}
Influenced by
C++

AngelScript is an open-source game-oriented compiled scripting language developed by Andreas Jönsson at AngelCode.

AngelScript features static typing, object handles (similar to C++ pointers but garbage collected via reference counting), object-orientation, single inheritance, multiple inheritance with interfaces. It allows operators to be registered and overloaded. AngelScript can be used with any C++ IDE, such as NetBeans, Geany, and Eclipse.

C and C++ functions can be called within an AngelScript environment.[1][2] AngelScript's class syntax closely follows C++ classes by design: no proxy functions are required to embed AngelScript in C++ applications, easing the two languages' integration.[3] There are several differences of AngelScript and C++:

AngelScript is used in video game development,[4] including

In addition, it is also supported as a scripting language in Urho3D. Hazelight Studios maintains a plugin that integrates AngelScript into the Unreal Engine; this plugin was used to write their game, It Takes Two, in AngelScript,[7] the plugin is also used by Embark Studios in The Finals and the upcoming ARC Raiders.[8] It is also used at the University of Ulm in its interactive 3D-Animation program,[9][failed verification] as well as in robotics; for example, to program behavioral rules of robotic agents.[10]

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ a b c d e f g h i j k l m n o p q Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]