AngelScript, özellikle oyun geliştirme alanında kullanılan, hafif, gömülebilir (embed) bir betik dilidir. Andreas Jönsson tarafından geliştirilen bu dil, C++ ile yazılmıştır ve C/C++ gibi popüler dillerle benzer bir söz dizimine sahiptir. Bu özellik, geliştiricilere tanıdık bir yazım ortamı sunduğundan, özellikle oyun motorlarında ve diğer gömülü sistemlerde popüler bir seçim haline gelmiştir.
AngelScript, C++ uygulamalarıyla entegre edilmesi kolay olacak şekilde tasarlanmıştır, bu sayede oyun veya uygulama içindeki kullanıcı betiklerini hızlıca ve güvenli bir şekilde çalıştırmak mümkün olur. AngelScript, kullanıcıların yazılımlarına hızlıca yeni özellikler eklemelerine ve mevcut işlevselliği genişletmelerine olanak tanır.
AngelScript, birçok farklı alanda kullanılır, ancak en yaygın kullanım alanı oyun geliştirmedir. AngelScript’in kullanım alanları şunlardır:
AngelScript’in nasıl çalıştığını görmek için bir örneğe bakalım. Bu örnek, iki sayıyı toplamak için bir fonksiyon tanımlar:
// AngelScript ile iki sayıyı toplayan bir fonksiyon
int Topla(int a, int b) {
return a + b;
}
void main() {
int x = 5;
int y = 3;
int sonuc = Topla(x, y);
Print("Toplam: " + sonuc); // Çıktı: "Toplam: 8"
}
Bu örnekte:
Topla
adlı fonksiyon, iki tamsayı parametre alarak bunları toplar ve sonucu döner.main
fonksiyonu, Topla
fonksiyonunu çağırır ve sonucunu Print
komutu ile ekrana yazdırır.Avantajları:
Dezavantajları:
AngelScript, daha büyük oyun motorları ve projeler tarafından çok fazla kullanılmasa da, küçük ve orta ölçekli oyun projeleri, bağımsız oyun geliştiricileri ve script tabanlı oyunlar için cazip bir seçenek olmaya devam etmektedir. Özellikle, Unity veya Unreal gibi büyük motorların aksine, kendi oyun motorunu yazmak isteyen geliştiriciler için esnek ve güçlü bir araçtır.