Game oriented compiled scripting language
AngelScript — это ориентированный на игры компилируемый скриптовый язык с открытым исходным кодом, разработанный Андреасом Йонссоном из AngelCode.
AngelScript поддерживает статическую типизацию , дескрипторы объектов (похожие на указатели C++, но собирающие мусор с помощью подсчета ссылок ), объектно-ориентированное программирование , одиночное наследование , множественное наследование с интерфейсами. Позволяет регистрировать и перегружать операторы . AngelScript можно использовать с любой IDE C++, например NetBeans , Geany и Eclipse .
Функции C и C++ могут вызываться в среде AngelScript. [1] [2] Синтаксис классов AngelScript по своей сути во многом соответствует классам C++ : для встраивания AngelScript в приложения C++ не требуются прокси-функции, что упрощает интеграцию двух языков. [3] Между AngelScript и C++ есть несколько различий:
AngelScript используется в разработке видеоигр , [4] в том числе
- Амнезия: Темное нисхождение , [5]
- Эми , [5]
- Пылесос , [5]
- Gekkeiju Онлайн , [5]
- Золото короля Артура , [5]
- Легенда о Хранителях: Совы Га'Хуула , [5]
- Разрастание , [6]
- Пенумбра: Увертюра , [5]
- Пенумбра: Реквием , [5]
- Лужа , [5]
- Снаряжение из стержней , [5]
- Бег с винтовками ,
- Сине Мора , [5]
- Звездный Правитель , [5]
- СуперТуксКарт , [5]
- Warhammer: Знак Хаоса , [5]
- Варшава , [5]
- Свен Кооператив [5]
- и Джаз Джекраббит 2 Плюс , [5]
Кроме того, он также поддерживается как язык сценариев в Urho3D . Hazelight Studios поддерживает плагин, который интегрирует AngelScript в Unreal Engine ; этот плагин использовался для написания их новейшей игры It Takes Two на AngelScript, [7] плагин также используется Embark Studios в The Finals и предстоящей ARC Raiders . [8] Он также используется в Университете Ульма в его интерактивной программе 3D-анимации, [9] [ неудачная проверка ], а также в робототехнике ; например, для программирования правил поведения роботизированных агентов. [10]
Ссылки
- ^ Вайнбуб, Йозеф; Рапп, Карл; Сельберхерр, Зигфрид (2010). "ViennaIPD - язык управления вводом для научных вычислений" (PDF) . Получено 27 апреля 2019 г.
- ^ Голодец, Стюарт (февраль 2010 г.). «Упрощение процесса связывания C++/Angelscript». ACCU . Получено 27 апреля 2019 г. .
- ^ Дикхайзер, Майкл (2006). Game Programming Gems 6. Charles River Media. ISBN 1584504501.
- ^ Нисимори, Такетоши; Куно, Ясуши (май 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 .
- ^ abcdefghijklmnopq "Приложения, использующие AngelScript". AngelCode . Получено 27 апреля 2019 г. .
- ^ Orsvärn, Lukas; Riehl, Anton; Rosen, David (30 ноября 2014 г.). Хороший эпизод. YouTube . Overgrowth Weekly. Vol. 86. at 17m 40s . Получено 27 апреля 2019 г.
- ^ "Hazelight/UnrealEngine-Angelscript на GitHub". GitHub . Получено 15 сентября 2021 г. .
- ^ "Старший программист игрового процесса - Игры". Embark Studios . Получено 2023-11-23 .
- ^ "Animal Race". Университет Ульма (на немецком языке). 2005. Архивировано из оригинала 2014-05-25 . Получено 2013-05-31 .
- ^ Брэндофф, Джош; Саяма, Хироки (2009). «Культурная передача в роботизированных роях через RFID-карты». Симпозиум IEEE 2009 года по искусственной жизни . ALife'09. IEEE . стр. 171–178. doi :10.1109/ALIFE.2009.4937709. ISBN 978-1-4244-2763-5.
Внешние ссылки
- Официальный сайт
- AngelScript-JIT-компилятор на GitHub