AngelScript
   HOME

TheInfoList



OR:

AngelScript is a game-oriented
compiled In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
scripting language A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled. A scripting ...
. AngelScript features static
typing Typing is the process of writing or inputting text by pressing keys on a typewriter, computer keyboard, mobile phone or calculator. It can be distinguished from other means of text input, such as handwriting and speech recognition. Text can b ...
, object handles (similar to
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
pointers but garbage collected via
reference counting In computer science, reference counting is a programming technique of storing the number of references, pointers, or handles to a resource, such as an object, a block of memory, disk space, and others. In garbage collection algorithms, referenc ...
),
object-orientation {{Broad-concept article Object-oriented or object-orientation is a software engineering concept, in which concepts are represented as "objects". Object-oriented topics include: * Object-oriented analysis and design * Object-oriented design * Objec ...
, single
inheritance Inheritance is the practice of receiving private property, Title (property), titles, debts, entitlements, Privilege (law), privileges, rights, and Law of obligations, obligations upon the death of an individual. The rules of inheritance differ ...
,
multiple inheritance Multiple inheritance is a feature of some object-oriented computer programming languages in which an object or class can inherit features from more than one parent object or parent class. It is distinct from single inheritance, where an object or ...
with interfaces. Allows operators to be registered and overloaded. AngelScript can be used with any C++ IDE, such as
NetBeans NetBeans is an integrated development environment (IDE) for Java (programming language), Java. NetBeans allows applications to be developed from a set of modular software components called ''modules''. NetBeans runs on Microsoft Windows, Windows, ...
,
Geany Geany ( IPA:dʒiːni ) is a free and open-source lightweight GUI text editor using Scintilla and GTK, including basic IDE features. It is designed to have short load times, with limited dependency on separate packages or external librarie ...
, and
Eclipse An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
. C and C++ functions can be called within an AngelScript environment. AngelScript's
class Class or The Class may refer to: Common uses not otherwise categorized * Class (biology), a taxonomic rank * Class (knowledge representation), a collection of individuals or objects * Class (philosophy), an analytical concept used differentl ...
syntax closely follows
C++ classes A class in C++ is a user-defined type or data structure declared with keyword class that has data and functions (also called member variables and member functions) as its members whose access is governed by the three access specifiers ''private'' ...
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 is a feature of some object-oriented computer programming languages in which an object or class can inherit features from more than one parent object or parent class. It is distinct from single inheritance, where an object or ...
. Multiple-inheritance functionality may be achieved with Interfaces. * It is impossible to declare
method Method ( grc, μέθοδος, methodos) literally means a pursuit of knowledge, investigation, mode of prosecuting such inquiry, or system. In recent centuries it more often means a prescribed process for completing a task. It may refer to: *Scien ...
s or
properties Property is the ownership of land, resources, improvements or other tangible objects, or intellectual property. Property may also refer to: Mathematics * Property (mathematics) Philosophy and science * Property (philosophy), in philosophy and ...
outside of the class body. * All methods (including constructors and destructors) are virtual. AngelScript is used in
video game development Video game development (or gamedev) is the process of developing a video game. The effort is undertaken by a developer, ranging from a single person to an international team dispersed across the globe. Development of traditional commercial PC a ...
, including '' Amnesia: The Dark Descent'', ''
Amy Amy is a female given name, sometimes short for Amanda, Amelia, Amélie, or Amita. In French, the name is spelled ''"Aimée"''. People A–E * Amy Acker (born 1976), American actress * Amy Vera Ackman, also known as Mother Giovanni (1886– ...
'', ''
Dustforce ''Dustforce'' is a platform game, platform video game developed by Hitbox Team. The game was released in January 2012 for Microsoft Windows via Steam (service), Steam, and Mac OS X through Steam in May 2012. A Linux port was released as part of th ...
'', ''
Gekkeiju Online was a 3D MMORPG developed by a Finnish indie software company, Coolhouse in 2003. It incorporates anime-style characters into a medieval fantasy world. ''Gekkeiju Online'' was a GameOgre.com online game of the week, highlighting the MUD-sty ...
'', ''
King Arthur's Gold ''King Arthur's Gold'' is a free online action game developed and published by Transhuman Design for Windows, Mac and Linux. Gameplay ''King Arthur's Gold'' (often abbreviated and referred to as ''KAG'') is a game about mining resources, bui ...
'', '' Legend of the Guardians: The Owls of Ga'Hoole'', '' Overgrowth'', '' Penumbra: Overture'', '' Penumbra: Requiem'', ''
Puddle A puddle is a small accumulation of liquid, usually water, on a surface. It can form either by pooling in a depression on the surface, or by surface tension upon a flat surface. A puddle is generally shallow enough to walk through, and too sma ...
'', ''
Rigs of Rods ''Rigs of Rods'' (''RoR'') is a free and open source vehicle-simulation game which uses soft-body physics to simulate the motion destruction and deformation of vehicles. The game uses a soft-body physics engine to simulate a network of interco ...
'', ''
Sine Mora is a shoot 'em up video game developed by Digital Reality and Grasshopper Manufacture for the Xbox 360, Windows, PlayStation 3, PlayStation Vita and iOS. It was released on March 21, 2012, for the Xbox 360 via Xbox Live Arcade, on November 20, 20 ...
'', ''
Star Ruler ''Star Ruler'' is a space 4X / RTS hybrid developed and published by American company Blind Mind Studios. was first announced on July 5, 2009 in the Irrlicht Community Forums, the game engine on which was based. It was released on August ...
'', ''
SuperTuxKart ''SuperTuxKart'' (''STK'') is a free and open-source kart racing game, distributed under the terms of the GNU General Public License, version 3. It features mascots of various open-source projects. ''SuperTuxKart'' is cross-platform, runn ...
'', '' Warhammer: Mark of Chaos'', '' Warsow'', ''
Sven Co-op ''Sven Co-op'' is a co-op variation of the 1998 first-person shooter ''Half-Life''. The game, initially released as a mod in January 1999, and created by Daniel "Sven Viking" Fearon, enables players to play together on online servers to complete ...
'' and '' Jazz Jackrabbit 2 Plus'', in addition to being supported as a scripting language in ''Urho3D''.
Hazelight Studios Hazelight Studios is a video game development company based in Stockholm, Sweden. Founded by director Josef Fares in 2014, the company is best known for developing cooperative multiplayer games ''A Way Out (video game), A Way Out'' and ''It Take ...
maintains a plugin that integrates AngelScript into the
Unreal Engine Unreal Engine (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter game ''Unreal''. Initially developed for PC first-person shooters, it has since been used in a variety of genres ...
; this plugin was used to write their newest game, '' It Takes Two'', in AngelScript. It is also used at the
University of Ulm Ulm University (german: Universität Ulm) is a public university in Ulm, Baden-Württemberg, Germany. The university was founded in 1967 and focuses on natural sciences, medicine, engineering sciences, mathematics, economics and computer sci ...
in its interactive 3D-Animation program, as well as in
robotics Robotics is an interdisciplinary branch of computer science and engineering. Robotics involves design, construction, operation, and use of robots. The goal of robotics is to design machines that can help and assist humans. Robotics integrat ...
; for example, to program behavioral rules of robotic agents.


References


External links

* * {{GitHub, BlindMindStudios/AngelScript-JIT-Compiler Scripting languages Software using the zlib license