AngelScript

AngelScript è un linguaggio di scripting compilato a sorgente aperta, pensato per lo sviluppo di videogiochi. È stato sviluppato da Andreas Jönsson per l'azi

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 a sorgente aperta, 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 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++.[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; è stato utilizzato nel 2022 per scrivere It Takes Two, di produzione della stessa Hazelight, in AngelScript.

Il linguaggio è anche utilizzato nel 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

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.

  1. 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:
  2. 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.
  3. 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.
  4. 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.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.