AngelScript
Paradigm | Multi-paradigm: scripting, imperative (procedural, object-oriented) |
---|---|
Developer | Andreas Jönsson |
First appeared | 2003 |
Stable release | 2.36.0
/ September 25, 2022 |
Typing discipline | static, strong |
OS | Cross-platform |
License | zlib License |
Website | {{{1}}} |
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 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 destructors) are virtual.
AngelScript is used in video game development,[4] including Amnesia,[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,[5] Penumbra,[5] Puddle,[5] Rigs of Rods,[5] Sine Mora,[5] Star Ruler,[5] SuperTuxKart,[5] Warhammer,[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][failed verification] as well as in robotics; for example, to program behavioral rules of robotic agents.[10]
References
- ↑ Weinbub, Josef; Rupp, Karl; Selberherr, Siegfried (2010). "ViennaIPD - An Input Control Language for Scientific Computing". http://www.iue.tuwien.ac.at/pdf/ib_2010/CP2010_Weinbub_1.pdf.
- ↑ Golodetz, Stuart (February 2010). "Simplifying the C++/Angelscript Binding Process". http://accu.org/index.php/journals/1608.
- ↑ Dickheiser, Michael (2006). Game Programming Gems 6. Charles River Media. ISBN 1584504501.
- ↑ 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. https://tsukuba.repo.nii.ac.jp/?action=repository_action_common_download&item_id=33964&item_no=1&attribute_id=17&file_no=1.
- ↑ 5.00 5.01 5.02 5.03 5.04 5.05 5.06 5.07 5.08 5.09 5.10 5.11 5.12 5.13 5.14 5.15 5.16 "Applications using AngelScript". http://angelcode.com/angelscript/users.html.
- ↑ Orsvärn, Lukas; Riehl, Anton; Rosen, David (November 30, 2014). A good episode. YouTube. Overgrowth Weekly. 86. at 17m 40s. Retrieved April 27, 2019.
- ↑ "Hazelight/UnrealEngine-Angelscript on GitHub". https://github.com/Hazelight/UnrealEngine-Angelscript.
- ↑ "Senior Gameplay Programmer - Games" (in en-GB). https://careers.embark-studios.com/en-GB/jobs/1161763-senior-gameplay-programmer-games/ed57c5e4-f694-4bb6-9683-534edf92e029?utm_campaign=page_1916407_cta_17398026&utm_content=https://careers.embark-studios.com/pages/gameplay-at-embark&utm_medium=cta-block&utm_source=teamtailor-page.
- ↑ "Animal Race" (in de). 2005. http://graphics.uni-ulm.de/lehre/showcases/animation/0405/index.php.
- ↑ Brandoff, Josh; Sayama, Hiroki (2009). "Cultural transmission in robotic swarms through RFID cards". ALife'09. IEEE. pp. 171–178. doi:10.1109/ALIFE.2009.4937709. ISBN 978-1-4244-2763-5.
External links
Original source: https://en.wikipedia.org/wiki/AngelScript.
Read more |