AngelScript
AngelScript is an open-source game-oriented compiled scripting language developed by Andreas Jönsson at AngelCode.
AngelScript features static typing, object handles, 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. 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. There are several differences of AngelScript and C++:
- AngelScript does not support multiple inheritance. Multiple-inheritance functionality may be achieved with Interfaces.
- It is impossible to declare methods or properties outside of the class body.
- All methods are virtual.
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, the plugin is also used by Embark Studios in The Finals and ARC Raiders. It is also used at the University of Ulm in its interactive 3D-Animation program, as well as in robotics; for example, to program behavioral rules of robotic agents.