Jump to content

AngelScript

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by LVDP01 (talk | contribs) at 12:16, 15 September 2021 (AngelScript was used to write It Takes Two, as confirmed on the GitHub repository of the UE4 AngelScript plugin by Hazelight Studios. The repo is private, but can be accessed by joining the Epic Games organization on GitHub. Screenshot as extra evidence:). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
AngelScript
ParadigmMulti-paradigm: scripting, imperative (procedural, object-oriented)
DeveloperAndreas Jönsson
First appeared2003
Stable release
2.35.0 / December 5, 2020; 4 years ago (2020-12-05)
Typing disciplinestatic, strong
OSCross-platform
Licensezlib License
Websiteangelcode.com/angelscript/ Edit this at Wikidata
Influenced by
C++

AngelScript is a game-oriented 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, 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 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] Sven Co-op and [5] Jazz Jackrabbit 2 Plus[5], in addition to being 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 newest game, It Takes Two, in AngelScript [7]. It is also used at the University of Ulm in its interactive 3D-Animation program,[8][failed verification] as well as in robotics; for example, to program behavioral rules of robotic agents.[9]

References

  1. ^ Weinbub, Josef; Rupp, Karl; Selberherr, Siegfried (2010). "ViennaIPD - An Input Control Language for Scientific Computing" (PDF). Retrieved April 27, 2019.
  2. ^ Golodetz, Stuart (February 2010). "Simplifying the C++/Angelscript Binding Process". ACCU. Retrieved April 27, 2019.
  3. ^ Dickheiser, Michael (2006). Game Programming Gems 6. Charles River Media. ISBN 1584504501.
  4. ^ Nishimori, Taketoshi; Kuno, Yasushi (May 2012). "Join token: A language mechanism for programming interactive games". Entertainment Computing. 3 (2): 19–25. doi:10.1016/j.entcom.2011.09.001. hdl:2241/00124828.
  5. ^ a b c d e f g h i j k l m n o p q "Applications using AngelScript". AngelCode. Retrieved April 27, 2019.
  6. ^ Orsvärn, Lukas; Riehl, Anton; Rosen, David (November 30, 2014). A good episode. YouTube. Overgrowth Weekly. Vol. 86. at 17m 40s. Retrieved April 27, 2019.
  7. ^ "Hazelight/UnrealEngine-Angelscript on GitHub". Retrieved September 15, 2021.
  8. ^ "Animal Race". University of Ulm (in German). 2005.
  9. ^ Brandoff, Josh; Sayama, Hiroki (2009). "Cultural transmission in robotic swarms through RFID cards". 2009 IEEE Symposium on Artificial Life. ALife'09. IEEE. pp. 171–178. doi:10.1109/ALIFE.2009.4937709. ISBN 978-1-4244-2763-5.