AngelScript
AngelScript è un linguaggio di scripting compilato a sorgente aperta, pensato per lo sviluppo di videogiochi. È stato sviluppato da Andreas Jönsson per l'azienda AngelCode.
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 della memoria 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 supporti 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++. 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.
Esistono diverse differenze tra AngelScript e C++:
- AngelScript non tollera l'ereditarietà multipla; tuttavia, un simile risultato può essere ottenuto utilizzando le interfacce.
- Non è ammessa la dichiarazione dei metodi o proprietà al di fuori del corpo della classe.
- Tutti i metodi (inclusi costruttori e distruttori) sono virtuali.
Utilizzo
AngelScript è stato più volte adoperato nello sviluppo di videogiochi, alcuni esempi sono: Amnesia: The Dark Descent, Amy, Dustforce, Penumbra: Ouverture, Penumbra: Requiem, Puddle, Sine Mora, SuperTuxKart, Warhammer: Mark of Chaos, Warsow e Jazz Jackrabbit 2 Plus, 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.
Nell'ambito della robotica, invece, può essere adoperato per programmare le regole comportamentali di agenti robotici.
Note
Collegamenti esterni
- (EN) Sito ufficiale, su angelcode.com.
- (EN) AngelScript, su SourceForge.
- Repository sorgenti di AngelScript, su sourceforge.net.