AngelScript

AngelScript
linguaggio di programmazione
AutoreAndreas Jönsson
Data di origine2003
Ultima versione2.36.1
UtilizzoSviluppo videogiochi, grafica 3D
ParadigmiScript, programmazione imperativa, programmazione ad oggetti
TipizzazioneForte
Influenzato daC++
Implementazione di riferimento
Licenzazlib License
Sito webangelcode.com/angelscript/

AngelScript è un linguaggio di scripting compilato con sorgente aperto, pensato per lo sviluppo di videogiochi. È stato sviluppato da Andreas Jönsson per l'azienda AngelCode[1].

Descrizione

AngelScript è caratterizzato da una tipizzazione statica delle sue variabili, un orientamento agli oggetti (simili ai puntatori C++, ma con la differenza che la pulizia mnemonica di Angelscript adopera la tecnica del conteggio dei riferimenti), ereditarietà singola e multipla con l'ausilio di interfacce, nonché la possibilità di gestire un sovraccarico degli operatori. AngelScript può essere utilizzato con qualsiasi IDE che sia stato pensato per C++ come: NetBeans, Geany ed Eclipse.

All'interno di un ambiente AngelScript si possono utilizzare nativamente le funzioni appartenenti ai linguaggi di programmazione C e C++.[2][3] La sintassi della classe di AngelScript è identica a quelle delle classi di C++ in base alla progettazione. Non essendo necessarie funzioni proxy per incorporare AngelScript nelle applicazioni C++ viene facilitata l'integrazione dei due linguaggi.[4]

Esistono diverse differenze tra AngelScript e C++:

Utilizzo

AngelScript è stato più volte adoperato nello sviluppo di videogiochi,[5] alcuni esempi sono: Amnesia: The Dark Descent,[6] Amy,[6] Dustforce,[6] Penumbra: Ouverture,[6] Penumbra: Requiem,[6] Puddle,[6] Sine Mora,[6] SuperTuxKart,[6] Warhammer: Mark of Chaos,[6] Warsow[6] e Jazz Jackrabbit 2 Plus,[6] oltre ad essere tollerato come linguaggio di scripting in Urho3D.

Hazelight Studios ha sviluppato un plugin che integra AngelScript nell'Unreal Engine; l'hanno utilizzato nel 2022 per scrivere It Takes Two, il loro videogioco, in AngelScript.

Un altro possibile esempio d'uso del linguaggio è il programma interattivo d'animazione 3D dell'Università di Ulm.[7]

Nell'ambito della robotica, invece, può essere adoperato per programmare le regole comportamentali di agenti robotici.[8]

Note

  1. ^ Cos'è AngelScript? (di Andreas Jönsson), su www.solvusoft.com. URL consultato l'8 aprile 2024.
  2. ^ (EN) Josef Weinbub, Karl Rupp, Selberherr e Siegfried, "ViennaIPD - An Input Control Language for Scientific Computing" (PDF), su iue.tuwien.ac.at, 2010. URL consultato il 27 aprile 2019.
  3. ^ (EN) Stuart Golodetz, "Simplifying the C++/Angelscript Binding Process", su ACCU, febbraio 2010. URL consultato il 27 aprile 2019.
  4. ^ Michael Dickheiser, Game Programming Gems 6, Charles River Media, 2006, ISBN 1584504501.
  5. ^ Taketoshi Nishimori e Yasushi Kuno, Join token: A language mechanism for programming interactive games, in Entertainment Computing, vol. 3, Maggio 2012, pp. 19-25, DOI:10.1016/j.entcom.2011.09.001.
  6. ^ a b c d e f g h i j k Applications using AngelScript, su AngelCode. URL consultato il April 27, 2019.
  7. ^ (DE) Animal Race, su University of Ulm. URL consultato il 31 maggio 2013 (archiviato dall'url originale il 25 maggio 2014).
  8. ^ Cultural transmission in robotic swarms through RFID cards, IEEE Symposium on Artificial Life, 2009, DOI:10.1109/ALIFE.2009.4937709, ISBN 978-1-4244-2763-5.

Collegamenti esterni

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica