| Paradigm | Multi-paradigm: scripting, imperative (procedural, object-oriented) |
|---|---|
| Developer | Andreas Jönsson |
| First appeared | 2003 |
| Stable release |
2.31.0 / February 26, 2016; 9 months ago |
| Typing discipline | static, strong |
| OS | Cross-platform |
| License | zlib License |
| Website | angelcode |
| Influenced by | |
| C++ | |
AngelScript is a game-oriented interpreted compiled scripting language.
AngelScript features static typing, object handles (similar to C++ pointers but garbage collected via reference counting), object-orientation, single inheritance, multiple inheritance with interfaces. Allows operators to be registered and overloaded. AngelScript can be used with any C++ IDE, such as Netbeans, Geany, Eclipse, and also supported by AngelJuice IDE developed specifically for the language.
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 Amnesia: The Dark Descent,[5] Amy,[5] Dustforce,[5] Gekkeiju Online,[5] King Arthur's Gold,[5] Legend of the Guardians: The Owls of Ga'Hoole,[5] Overgrowth,[6] Penumbra: Overture,[5] Penumbra: Requiem,[5] Puddle,[5] Rigs of Rods,[5] Sine Mora,[5] Star Ruler,[5] SuperTuxKart,[5] Warhammer: Mark of Chaos,[5] Warsow.[5] AngelScript is used at the University of Ulm in interactive 3D-Animation program.[7] AngelScript is also used in robotics, for example, to program behavioral rules of robotic agents.[8]