AngelScript
| AngelScript | |
|---|---|
| Paradigm | Multi-paradigm: scripting, imperative (procedural, object-oriented) |
| Developer | Andreas Jönsson |
| First appeared | 2003 |
| Stable release | 2.38.0
/ August 8, 2025 |
| Typing discipline | static, strong |
| OS | Cross-platform |
| License | zlib License |
| Website | angelcode |
| 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. It 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: The Dark Descent,[5]
- Amy,[5]
- Dustforce,[5]
- Gekkeiju Online,[5]
- Jazz Jackrabbit 2 Plus,[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]
- Running with Rifles,
- Sine Mora,[5]
- Star Ruler,[5]
- SuperTuxKart,[5]
- Sven Co-op,[5]
- Warhammer: Mark of Chaos,[5]
- and Warsow.[5]
In addition, it is also 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 game, It Takes Two, in AngelScript,[7] the plugin is also used by Embark Studios in 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" (PDF). Retrieved April 27, 2019.
- ^ Golodetz, Stuart (February 2010). "Simplifying the C++/Angelscript Binding Process". ACCU. Retrieved April 27, 2019.
- ^ 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. hdl:2241/00124828.
- ^ 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.
- ^ 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.
- ^ "Unreal Engine Angelscript". Retrieved 2025-12-18.
- ^ "ARC Raiders Blueprint". Retrieved 2025-06-08.
- ^ "Animal Race". University of Ulm (in German). 2005. Archived from the original on 2014-05-25. Retrieved 2013-05-31.
- ^ 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.
External links
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.