LibGDX Projesi Oluşturma

Önceki yazımda LibGDX hakkında kısa bir bilgi vermiştim. Eğer siz de ufak bir araştırma yapmış, oyun (özellikle mobil) geliştirmek istiyorsanız ve LibGDX kullanmaya karar vermişseniz proje oluşturmaya başlayabiliriz.

Öncelikle Projemizi oluştumadan önce bize gerekecek şeylerden bahsedelim.

  1. JDK. Projeye başlamamız için öncelikle bilgisayarımızda JDK’nın kurulu olması gerekiyor. Bu adresten bilgisayarınıza uygun olan JDK’yı indirip kurun.
  2. Intellij IDEA. (veya Eclipse) Yani bir geliştirme ortamı. Ben Intellij IDEA kullanıdığım için yazımda da projeyi Intellij IDEA üzerinden anlatacağım. Intellij IDEA’yı da buradan indirip kurabilirsiniz.
  3. Android SDK. Projeyi ne amaçla yapıyorsanız yapın LibGDX projesi bir Android Projesine ihtiyaç duyuyor. Çünkü projemizde kullanacağımız dahili dosyalara Android projesindeki assets klasöründen ulaşıyoruz. Android SDK’yı bu linkten indirerek bilgisayarımızdaki bir klasöre çıkarıyoruz.
  4. Java Bilgisi. Önceki yazımda LibGDX’in bir Java kütüphanesi olduğundan bahsetmemiştim. Bu yazımda bahsediyorum: “LibGDX bir Java kütüphanesidir.”. Bu yüzden biraz Java bilgisine ihtiyacınız olacak.
  5. Hayal gücü. (veya Fikir). Aslında bu ilk madde olmalıydı. Eğer buna sahip değilseniz ilk 4 maddedekilere sahip olmanızın bir önemi kalmıyor.

Ek olarak iOS uygulaması geliştirmek isteyenler bir Mac’e ve XCode’a ihtiyaç duyacaklar. Apple’a teşekkürler.

Proje oluşturmak için ön şartları oluşturmuşsak bu linkten LibGDX Proje Oluşturucusunu indirip çalıştırıyoruz ve karşımıza böyle bir pencere geliyor.

Libgdx Proje Oluşturucu

Bu pencerede sırasıyla Proje Adını, Package Name’ini, Oyun Class’ını, Proje Klasörünü ve Android SDK klasörümüzü seçiyoruz. Şimdilik bir şeye ihtiyacımız olmadığı için sadece Desktop ve Android projelerini seçtim. eğer ihtiyacınız olan bir uzantı varsa istediğiniz uzantıyı seçebilirsiniz. Projeyi istediğimiz gibi ayarladıktan sonra tek yapmamız gereken şey “Generate” butonuna tıklamak. İşlemler tamamlandıktan nur topu gibi bir LibGDX oyunumuz oluyor.

Artık yolun dik bir yerine geldik. Bundan sonra yolumuza Intellij IDEA ile devam edeceğiz.

Intellij IDEA’yı açınca hemen karşımızda gelen pencereden “Open Project”e tıklıyoruz. Sonra projeyi oluşturduğumuz klasördeki “build.gradle” dosyasını seçiyoruz. karşımıza şöyle bir pencere geliyor.

Import Gradle

Bu pencerede de “OK”e tıklayıp projemizi açıyoruz. Biraz bekledikten sonra projemiz açılıyor. Sağ üstte bulunan yeşil “Run” butonuyla projemizi çalıştırabiliriz. Eğer konfigürasyonlarda bir değişiklik yapmadıysanız aşağıdaki gibi projeyi sadece Android projesi olarak çalıştırabilirsiniz.

Eğer projeyi Masaüstünde de denemek istiyorsanız yukarıdaki kısımdan “Edit configuration”a tıklayın. Karşınıza aşağıdaki pencere gelecek. Masaüstü konfigürasyonu eklemek için encerenin sol üstünde bulunan “+” butonundan “Application”ı seçiyoruz.

  • İlk olarak konfigürasyonumuza bir isim veriyoruz (Ör. Masaüstü).
  • Sonra Main Class olarak projemize ait olan DesktopLauncher Class’ını seçiyoruz.
  • Working Directory olarak Android Projesine ait olan “assets” klasörünü seçiyoruz.
  • Modül olarak “desktop”ı seçiyoruz ve OK’e tıklıyoruz.

Artık konfigürasyonumuzu sağ üstteki listede görebiliriz. Projemizi masaüstü olarak çalıştırdığımızda ilk LibGDX projesi karşımıza geliyor.

İlk Libgdx Oyunu

Böylece LibGDX’e ilk adımımızı atmış olduk. Yeni projelerde görüşmek üzere :)

 

 

LibGDX Hakkında

Bu yazımda LibGDX’den bahsedeceğim. LibGDX, “cross-platform” bir oyun geliştirme kütüphanesidir. “Cross-platform ne ola ki?” diyenleriniz için kısaca açıklamak gerekirse tek bir kodla farklı platformlara oyun geliştirebilirsiniz. Peki nedir bu farklı platformlar?

  • Masaüstü (Windows, Linux, Mac OS X)
  • Mobil (Android, iOS)
  • Web (HTML5)

Gördüğünüz gibi tek bir kodla neredeyse her platformda çalıştırabileceğiniz oyun uygulamaları geliştirebiliyorsunuz. Tabii ki platforma özel kodlar yazmanız gerekebilir ama uygulamanızın ana çatısı tek bir kod üzerinden çalışıyor. Böylece farklı platformlar için geliştireceğiniz uygulamaları çok daha hızlı geliştirme imkanı bulabiliyorsunuz. Örneğin, Android için bir oyun geliştiriyorsanız bunu masaüstü uygulaması olarak çok hızlı bir şekilde (cihazı veya emülatörü beklemeden) çalıştırabilirsiniz. Projenin faklı platformlarda nasıl çalıştığından bir sonraki yazımda bahsedeceğim.

LibGDX, bir oyun motorundan ziyade size ihtiyacınıza göre şekillendirebileceğiniz bir çatı sunuyor. İsterseniz 2 Boyutlu Mario tarzı bir oyun, isterseniz 3 Boyutlu bir yarış oyunu geliştirebilirsiniz. Üstelik LibGDX tarafından sunulan fizik, yapay zeka, 2 boyutlu ışıklandırma gibi hazır kütüphaneleri de kullanabilirsiniz.

Giriş olarak anlatacaklarım bu kadar. Bir sonraki yazım LibGDX ile proje oluşturma hakkında olacak.

DigitalOcean Alternatifi: Vultr

Merhabalar.
Bu yazımda şu anda blogumu da host etmemi sağlayan Vultr adlı VPS’den bahsedeceğim. Tabii daha öncesinde bilmeyenler için VPS nedir ondan bahsetsem iyi olur diye düşündüm şimdi. VPS (yani uzun adıyla Virtual Private Server), bir fiziksel sunucu üzerinde oluşturulan kişisel bir sanal sunucu anlamına geliyor. Son zamanlarda VPS desteği veren şirketler hızla arttı. Bunun sanallaştırma teknolojilerinin gelişmesi, kullanıcıları kendi ihtiyaçlarına göre sunucu belirleme isteği gibi birçok sebebi var ancak en önemli sebebi kuşkusuz sanal sunucuların maliyetinin fiziksel sunuculara göre çok düşük olması. Fiziksel sunucu sadece bir kişi tarafından kullanılırken sanal sunucu teorik olarak sınırsız kişi tarafından kullanılabilir. Bu da otomatik olarak fiyatlara yansıyor.

VPS meselesi anlaşıldığına göre konumuza geçebiliriz. Vultr‘dan DigitalOcean alternatifi olarak bahsetmemin sebebi önceden DigitalOcean kullanıyor olmam. “DigitalOcean‘dan memnun değil miydin?” diye soracak olursanız “Kesinlikle memnundum” cevabını alırsınız. Vultr‘a geçme sebebim tamamen kişisel tercihim. Vultr‘da beni en çok etkileyen SATA depolama planı, köpürtmesi… Anlayamazsınız… Evet, Vultr‘da DigitalOcean‘da şimdilik bulunmayan SATA depolama planı bulunuyor. Yani sabit sürücünüzün çok iyi performanslı SSD olması gerekmiyorsa onun yerine yüksek kapasiteli bir sabit disk seçebiliyorsunuz.

Neyse gelelim artık rakamlarla konuşmaya… Böylece hangisini seçeceğinize karar vermenizde yardımcı olalım (ya da kafanızı tamamen karıştıralım :) ). Öncelike ikisinin de en ucuz (benim de kullandığım :) ) planı olan aylık 5$’lık seçeneğini inceleyelim;

DigitalOcean: 512MB RAM, 1 Çekirdekli İşlemci, 20GB SSD Disk ve 1TB Transfer sunuyor.

Vultr ise aynı fiyata: 768MB RAM, 1 Çekirdekli İşlemci, 15GB SSD Disk, 1TB Transfer sunuyor. Eğer Vultr‘da SSD yerine SATA seçeneğini tercih edecek olursanız (benim gibi) o zaman karşınıza şu özellikler çıkıyor: 512MB RAM, 1 Çekiredekli İşlemci, 160GB SATA, 1TB Transfer.

Vultr‘da bir özelliğe değinmeden geçemeyeceğim.  DigitalOcean gibi standart işletim sistemlerinin yanı sıra Vultr‘a yüklediğiniz bir ISO dosyasından da işletim sistemi kurmanız mümkün. Üstelik Vultr‘daki standart işletim sistemleri arasında Windows Server 2012 R2 bile mevcut :)

Performans konusunda bir sıkıntı yaşamadım. Bu yazıyı okuyabiliyorsanız sayfa yüklenmiştir :) ama yüklenme hızı size bu konuda bilgi verecektir.

Sonuç olarak bu VPS iyidir şu kötüdür gibi bir düşünce paylaşmadım. Seçim tamamen size kalmış. Bu tarz oluşumlar görmek ve şirketler arasında rekabet görmek hoşuma gidiyor. VPS sahibi olmak bir hosting sahibi olmaktan çok daha farklı bir uğraş. Hosting almışsanız alanınızı sadece size izin verilen şekilde kullanmak zorunda kalıyorsunuz (sadece site yayınlamak gibi). Ancak VPS yönetirken kendimi uzaya uydu fırlatmış gibi hissediyorum :) Dünyanın bir köşesinde bana ait bir bilgisayar var ve kontrolü tamamen bana ait. Bu yüzden heyecanlanıyorum.

Vultr hakkında son bir şey söyleyip yazımı noktalayacağım. Vultr‘a üye olduğunu taktirde ilk satın almanızda size 5$’lık ücretsiz ek yükleme yapıyor :)

Yukarıdaki linkler referanslıdır. Referansla üye olduğunuz taktirde blogumun ömrünü 2 ay uzatmış olursunuz :)

Hello World!

Merhabalar,

Bu benim kendi domainimdeki ilk yazım. Fırsat buldukça burada yazacağım. İlk amacım “birileri okusun da faydalansın” değil. Sitenin sloganında da bahsettiğim gibi “Genç adamım, köşede bulunsun”. Burada genel olarak “ileride lazım olur” düşüncesiyle yazılar paylaşacağım.

Yazılım insanı olduğum için yazılarımın ezici bir çoğunluğu yazılımla alakalı olacak (en azından ben öyle tahmin ediyorum). Ama sadece yazılım olmayacak tabii ki. Arada Oturma odasında yetiştirdiğim bitkilerden, akvaryumdaki balık ve kaplumbağadan, beni mutlu eden, üzen ve heyecanlandıran şeylerden bahsedebilir, hayata dair küçük ayrıntılar paylaşabilirim. Kod yazıyorum, bu doğru, ama ben de sizin gibiyim.

Yazımın başında söylediği gibi; ilk amacım “birileri okusun da faydalansın” değil. Ama ikinci amacım kesinlikle o. İnsanların bir şeyler öğrenmesine bir faydam dokunursa ne mutlu. Bu yüzden ne kadar “kendim için yazıyorum” desem de size hitap ederek yazacağım (bu yazıda olduğu gibi).

Yazının başlığına gelince… Sanırım bir yazılımcı alışkanlığı… Bir programlama dili öğrenilirken ilk önce o dilde “Hello World!” çıktısı veren bir kod yazılır. Blog yazmaya da böyle başlıyorum. Zamanla yazı yazmayı öğreneceğimi  umut ediyorum.

Bu arada kendimden kısaca bahsedeyim: “Ben @aikutto“.

Yakında güzel şeyler paylaşmak dileğiyle…