AngelScript
ParadigmMulti-paradigm: scripting, imperative (procedural, object-oriented)
DeveloperAndreas Jönsson
First appeared2003
Stable release
2.36.0 / September 25, 2022 (2022-09-25)
Typing disciplinestatic, strong
OSCross-platform
Licensezlib License
Websiteangelcode.com/angelscript
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. 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[5] and 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] the plugin is also used by Embark Studios in their upcoming games The Finals and ARC Raiders.[8] It is also used at the University of Ulm in its interactive 3D-Animation program,[9] as well as in robotics; for example, to program behavioral rules of robotic agents.[10]

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. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 "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". GitHub. Retrieved September 15, 2021.
  8. "Senior Gameplay Programmer - Games". Embark Studios. Retrieved 2023-11-23.
  9. "Animal Race". University of Ulm (in German). 2005. Archived from the original on 2014-05-25. Retrieved 2013-05-31.
  10. 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.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.