||The topic of this article may not meet Wikipedia's notability guidelines for products and services. (May 2013)|
|Paradigm(s)||Multi-paradigm: scripting, imperative (procedural, object-oriented)|
|Stable release||2.28.0 / November 2, 2013|
|Typing discipline||static, strong|
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. 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 (including constructors and destructor) are virtual.
AngelScript is used in video game development, including Amnesia: The Dark Descent, Amy, Dustforce, Gekkeiju Online, King Arthur's Gold, Legend of the Guardians: The Owls of Ga'Hoole (video game), Overgrowth, Penumbra: Overture (open-source), Penumbra: Requiem, Puddle, Rigs of Rods, Sine Mora, Star Ruler, Warhammer: Mark of Chaos, Warsow. AngelScript is used at the University of Ulm in interactive 3D-Animation program. AngelScript is also used in robotics, for example, to program behavioral rules of robotic agents.
- Weinbub, Josef; Rupp, Karl; Selberherr, Siegfried. "ViennaIPD-An Input Control Language for Scientific Computing".
- Golodetz, Stuart (2010). "Simplifying the C++/Angelscript Binding Process". ACCU.
- Michael Dickheiser (2006). Game programming gems six. Charles River Media. ISBN 1584504501.
- Yasushi, Taketoshi; Kuno (2012). "Join token: A language mechanism for programming interactive games". ScienceDirect.
- "Animal Race". University of Ulm. 2005.
- "Cultural transmission in robotic swarms through RFID cards". IEEE. 2009.