Script Dilleri ve Oyun Yapımı
(652 kelime) (1040 okuma) ![Yazdırılabilir Sayfa](images/print.gif)
Script Dili Nedir?
Script dilleri genel programlama dillerinin aksine, direk olarak çalıştırılabilir
kod üretmeyen, ancak script yorumlayıcısı (interpreter) tarafından
çalıştırılabilen programlar yazmamıza olanak veren programlama dilleridir.
Genel programlama dilleri olarak C/C+,Pascal (Delphi..),Basic(Visual Basic,Dark
Basic..),Java,Ada gibi birçok dil sayabiliriz. (Aslında Java 'nın konumu script
dillerine biraz daha yakın durmakla beraber Java bir script dili olarak
değerlendirilmemektedir. JavaScript denilen dilin script diline indirgenmiş bir
versiyonu vardır.) .En çok bilinen script dillerinden birkaçını saymak gerekirse;
Phyton, Perl, PHP, VBScript, JavaScript gibi diller ilk olarak aklımıza gelenler.
Script Dillerinin Artı ve Eksileri Nelerdir?
Artıları:
- kolay öğrenilme
- kolay kullanılma
- çoğunlukla platformdan bağımsızlık
- derleme ve bağlama zamanına ihtiyaç duymaması
Eksileri:
- kendi kendine çalışan kod üretmez (fakat bazı gelişmiş script dillerinin
derlyicileri bulunmakta..)
- derlenmiş dillere göre yavaş çalışırlar
Script Dilleri Nerelerde Kullanılır?
Script dilleri iki ana kategoride incelenebilir:
- genel amaçlı script dilleri
- özel amaçlı script dilleri
Günümüzde genel amaçlı script dilleri ile yukarıda belirttiğimiz genel
programlama dilleri ile yapılabilecek çoğu iş gerçekleştirilebilmektedir. Bir script
dilinin en önemli dezavantajı olan hız sorunu da, gelişmiş interpreter ve üst düzey
anında derleme (just in time compiling) teknikleri ile büyük oranda aşılmaktadır.
Üst seviye script dilleri: hızlı prototiplendirme, GUI tasarımı, text işleme,
program akış kontrolü ve genel programlama amaçlı olarak kullanılmaktadırlar.
Phyton, Perl, VBScript, JavaScript gibi diller genel amaçlı script dillerine
örnektirler.
Özel amaçlı script dilleri, genel amaçlı dillerin aksine bir konu üzerinde
hızlı/kolay uygulamalar yapmak için özelleşmişlerdir. Bu diller yazılım
üreticileri tarafından kendi işlerini kolaylaştırmak, program üretim süreçlerini
hızlandırmak, esnekleştirmek, bakımı kolaylaştırmak, gelişime olanak sağlamak
gibi amaçlar ile genelde her proje 'ye özgü bir biçimde yazılırlar. Bu diller çoğu
zaman piyasaya sürülmez, üreticisi dışında kullanıcı bulamaz. Oyun programlarında
otomasyonu ve dizaynı kolaylaştırmak için sıkça yazılan script dilleri bu türe
örnek oluşturmaktadırlar..
Oyun Programlamada Script Dillerinin Yeri
Öncelikle şunu iyice anlamalıyız: Script dilleri günümüzde oyun programlama
sektöründe yoğun olarak kullanılmaktadırlar. Üreticiler çoğunlukla kendi
yazdıkları script dilleri ile: level dizaynı, program akış kontrolü, yapay zeka
programlaması, aktör yönetimi gibi yazılım parçalarını kolayca ve gelişmeye uygun
biçimde gerçekleştirebilmektedirler. Örneğin: Bir frp oyununda ana programcı oyun
motoru üzerinde çalışmakta, level dizayn eden kişiler ise oyununa özgü script
dilini kullanarak senaryolar, levellar, NPC 'ler yaratmakta, oyun akışını
yönlendirmektedirler. Bu şekilde ana oyun motoru üzerinde, yapılan oyun ile ilgili
daha çok genel amaçlı bilgiler bulunmakta, aynı motor başka oyunlarda az bir
değişiklikle rahatlıkla kullanılabilmekte, senaryo hazırlama işi programcı yerine
dizayn uzmanları tarafından rahatlıkla gerçekleştirilebilmektedir.
Biz Kendi Oyunlarımızda Script dillerinden Nasıl Faydalanabiliriz?
Kendi oyunlarımızda kullanmak üzere genel script dillerini seçebilir yada oturup
kendimize oyunuu yönetmeye yarayan bir script dili geliştirebiliriz. Doğal olarak
ikinci seçeneğin uygulanması birincisine nazaran zor olacaktır. Çoğu uygulama için
birinci seçenek seçilebilir. Hazırda bulunan hiçbir script dilinin ihtiyaçlarınızı
karşılamayacağını düşünüyorsanız, veya işlevselliği yada performansı
uygulamanız için daha verimli olacak bir dil yazabileceğinizi düşünüyorsanız
ikinci seçeneği seçebilirsiniz.
Peki, genel script dillerinden biri ile programımızı nasıl kontrol edeceğiz?
Günümüzün gelişmiş script dilleri, çalıştırılabilir kodlu programlarınız ile
iletişim kurabilme ve veri alışverişinde bulunabilme yetisine sahiptirler. Bu
özellikler ile programınız içerisinden script diline geçit verecek uygun ayarlamalar
yapıldıktan sonra, programınızla beraber çalışan bir script içerisinden oyununuza
ilişkin verilere erişebilir, fonksiyonları çağırabilirsiniz. Bu şekilde scriptler
ile program işleyişinize yön verebilirsiniz.
Scriptler text dosyaları halinde bulunduğu için kolaylıkla değiştirilip anında
kullanılabiliyor, ve her değiştirmede oyun projenizin işleyişini değiştirmiş
oluyorsunuz. Projenizi yeniden derlemeden yeni bir işleyiş düzeni elde edebiliyorsunuz.
Bir script dilini seçerken kullandığınız programlama diline (C/C++,pascal vb..) uygun
bağlantı arayüzünü içermesine dikkat etmelisiniz. Aksi taktirde o script dilinden
faydalanamassınız.
Nereden Başlamalıyım?
Öncelikle bir script diline ihtiyaç duyup duymadığınıza karar verin. Aslında her
koşulda sırf yeni bir programlama olanağını denemek, yeni bir şeyler
öğrenmek/uygulamak için bile script dilleri konusunda çalışabilirsiniz.
Daha sonra bir script dili seçmelisiniz. Phyton, Perl gibi dillere bir göz
atabilirsiniz. Bunlar piyasada uzun süredir bulunan ve oldukça popüler olan dillerdir.
Bu dillerin aynı zamanda birçok programlama dili için bağlantı arayüzleri
bulunmakta.
Ben şu anda LUA script dili ile çalışıyorum. Bu dil Phyton ve Perl gibi alternatifler
ile karşılaştırıldığında çok daha yalın ve basit bir dil olarak karşımıza
çıkıyor. Diğer diller kadar olanak içermese de sade, zarif ve hızlı yapısı ile
bir göz atmaya değer. Üstelik bu dil birçok oyunuda script dili olarak ta
kullanılmış ve kendini kanıtlamış durumda. Bir örnek vermek gerekirse: Baldur's
Gates II oyununun dizaynında LUA script dilinden faydalanılmıştır. Dilin web
sitesinde bu dili kullanarak geliştirilmiş oyun yazılımlarının bir listesini
bulabilirsiniz.
İlgili Linkler
PYTHON: www.python.org
PERL: www.perl.org
LUA: www.lua.org
M.Deniz Aydınoğlu :: 2002 ::
|