LibGDX Nedir ?
LibGDX farklı cihazlarda çalışabilen 2D ve 3D oyun geliştirebileceğimiz açık kaynaklı (open source) Cross Platform (Android, iOS, Blackberry, Desktop, HTML5) çatıdır (framework). İlk olarak Mario Zechner tarafından geliştirilmeye başlandı ve şu anda 400’den fazla geliştirici tarafından geliştirilmeye devam etmekte.
Şu anki en güncel sürümü olan 1.6.1 sürümünde 8 tane dahili (Bullet, Freetype, Tools, Controllers, Box2d, Box2dlights, Ashley, Ai) ve 9 tane harici eklenti (Overlap2D, VisUI, libgdx-utils, libgdx-utils-box2d, gdx-facebook, gdx-dialogs, gdx-kiwi, gdx-lml, gdx-lml-vis) bulunuyor. Herhangi bir oyun geliştirecek olursak imdadımıza yetişecek kütüphaneler hazır olarak geliyor. Bize sadece hayalimizdeki oyunu tasarlamak ve kütüphaneleri kullanarak işlevsel kodları yazmak kalıyor.
LibGDX ile oyun geliştirmek için gerekli olan ses ve görüntü işlemleri, matematik ve fizik işlemleri, dosya işlemleri ve diğer bir çok şey kolaylıkla yapılabiliyor. Herhangi bir işlemde takılınca stackoverflow araması ile yeteri kadar doyurucu içeriğe ulaşabiliyoruz. İngilizce bilenler için kaynaklar çok fazla olmasına rağmen Türkçe kaynak pek fazla mevcut değil. Youtube ortamında videolar hazırlayan birkaç yazılımcı hem örnekler ile hem de tam oyun projeleri ile LibGDX için kaynaklar hazırlamışlar ama onlar da genelde birbirine yakın ve temelde aynı kodların olduğu örnekler üzerinde durmuşlar. Örneğin oyun içinde bizim karakterimize saldıracak olan düşman karakterlerin yarım akıllı dahi olsa yapay zekasının nasıl kodlanacağına değinen yok. Karakterlerin haraketleri, ses ve görüntü işleme, telefonlardaki dokuma ve tüm platformlardaki klavye girdilerinin alınması, başlangıç ile ortaya yakın seviyede fizik kuralları gibi konulara değinmişler. Yapay zeka başlı başına büyük bir dünya olsa da çarparak durma gibi temel fizik kurallarının örneklendirildiği gibi hafif yapay zeka konusuna değinilmemiş.
Eğer LibGDX ile oyun geliştirmeye başlamak isterseniz öncelikle kendi kaynağı olan şu, şu ve şu linkten, ardından da kapsamlı ve güzel bir İngilizce kaynak olan şu linkten başlayabilirsiniz.
LibGDX Nasıl Kurulur ?
Şimdi de nasıl kurulacağına değinelim. LibGDX kurulumu için yapmanız gereken hiçbir işlem yoktur. Bilgisayarınızda Java JDK kurulu ise ve zaten bir Java geliştiricisiyseniz LibGDX kütüphanesini şu adresten indirerek çalıştırmanız yeterli. Ardından aşağıdaki ekran açılacaktır.
Bu ekranda “Name” kısmına projenizin adını, “Package” kısmında ana paketin adını, “Game class” kısmına main class adını, “Destination” kısmına projenin nerede oluşturulacağını, “Android SDK” kısmına sdk yolunuzu girin. Ardından “Sub Projects” bölümündeki Desktop, Android, iOS, iOS-MOE ve Html seçeneklerinden bir veya birkaçını seçin. Son olarak Extensions kısmından ihtiyacınız olan eklentileri seçin ve “Generate” butonuna tıklayın. Böylelikle oyun projenizi oluşturmuş olacaksınız.
Burada dikkat edilmesi gereken kısım “Game class” kısmını doldururken Java dil kurallarına dikkat etmeniz. Boşluk ve özel karakter kullanırsanız projenizi bir editörle açtığınızda her yerden bir hata mesajı çıkacaktır. Ek olarak “Destination” kısmında projenizin yolunu yazarken sonuna mutlaka projenizin klasörünün adını da yazın. Örneğin “D:\Projelerim” klasöründe tüm projelerinizi geliştiriyorsanız yolunu “D:\Projelerim\YeniOyunum” yapın. Eğer böyle yapmazsanız LibGDX projeyi oluştururken projenin dosyalarını “D:\Projelerim” klasörüne oluşturacak ve diğer projelerinizle karışacaktır.
Ek olarak eğer ana ekranda görünenlerin dışında diğer eklentilere de ihtiyaç duyuyorsanız “Show Third Party Extensions” butonuna tıklayarak aşağıdaki ekranı açabilir ve istediğiniz eklentiyi seçebilirsiniz.
Son olarak eğer isterseniz “Advanced” butonuna tıklayarak oluşturulacak projenin gelişmiş ayarlarını da yapabilirsiniz. Bu ekranda Maven url eklemenize, Kotlin desteği eklemenize veya doğrudan bir editörün projesi gibi oluşturmanıza imkan sağlanıyor. Değişiklikleri yaptıktan sonra “Save” butunu ile kaydedip bu pencereyi kapatıp ana ekrandaki “Generate” butonu ile projenizi oluşturabilirsiniz.
Faydalı olması dileğiyle..
Merhaba öncelikle bilgilendirme için teşekkür ederim lakin sdk kısmında problem yaşıyorum nereden indirecegime bir bilgim yok yardımcı olabilir misiniz ?
Merhaba, bir süredir işlerim sebebiyle sitem ile ilgilenemedim. Bu nedenle yorumunuzu çok geç gördüm. Kusura bakmayın. Eğer hâlâ yardıma ihtiyacınız varsa iletişim formundan yazarsanız en kısa sürede ilgilenmeye çalışırım.
Merhabalar libgdx ile hic calismalariniz oldumu olduysa neler var bu konuya merakim var ama kaynak sikintisi oldugundan calismalarinizi yakindan takip etmek istiyorum.
Merhaba,
Maalesef herhangi ciddi bir projem olmadı. Sadece meraktan kurcalayıp birkaç oyun yapmıştım. Ufak denemeler olduğu için saklamadan sildim.