Pardus'ta Oyun Geliştirme [Haxe]


(Emin Fedar) #1

Merhabalar.

Bildiğiniz gibi Oyun Dünyası Linux’a uzun süredir önem veriyor, hatta OpenGL’den daha gelişmiş bir grafik işleme kütüphanesi olan Vulkan ile Linux’taki ve diğer sistemlerdeki grafik performansı kat kat artıyor ve insanlar bir sürü lisans parası ödemeden oyun geliştirip yayınlayabilecekleri bir ortama kavuşuyorlar.

Linux üzerinde oyun geliştirmek ve bunu diğer platformlara da dağıtabilmek isteyen arkadaşlar için benim de daha önceden çokça kullandığım ve çok kaliteli ve performanslı bulduğum bir dili ve platformu sizlerle paylaşmak istiyorum:

Haxe

S: Haxe Nedir?
C: Haxe, bir programlama dili ve derleycisi içeren bir platformdur. Yaklaşık 10 kadar popüler dili, tek bir dil kullanarak yazabilmenizi sağlar. Haxe derleyicisi ise Haxe dilinde yazdığınız kodları istediğiniz dile çevirir ve orada derler.

Haxe’nin çeviri yapabildiği diller:

  1. Java
  2. C++
  3. PHP
  4. JavaScript
  5. ActionScript 3.0
  6. C#
  7. Python
  8. Flash
  9. Lua
  10. Neko

Haxe ile yazdığınız tek bir uygulamayı:

  1. Terminal uygulaması (Masaüstü)
  2. Windows (Masaüstü)
  3. macOS (Masaüstü)
  4. Linux (Masaüstü)
  5. HTML5 (Web)
  6. WebGL (Web)
  7. Android (Mobil)
  8. IPhone (Mobil)
  9. PlayStation (Konsol)

Uygulamasına tek bir tık ile çıkartabilirsiniz. Bu yüzden özellikle Oyun geliştiricileri için biçilmiş bir kaftandır. Ayrıca yazdığınız uygulamayı sistemin kendi diline çevirip o dilde derlediği için ve ara katman kullanmadığı için performans kaybı en düşük seviyede olur.

Haxe’yi Pardus’a nasıl kurarım?

Önce sudo apt-get update yaparak depolarınızı güncelleyin. Ardından:

sudo apt-get install haxe -y
mkdir ~/haxelib && haxelib setup ~/haxelib

Komutları ile haxe’yi başarılı bir şekilde kurmuş olacaksınız.

Kaynaklar ve daha fazla bilgi ve dersler için: http://haxeturkiye.wordpress.com
Facebook Grubu: https://www.facebook.com/groups/haxeturkiye/

– Not: Haxe bir dildir. Açık kaynak olarak github üzerinden yüzlerce geliştiricinin desteğiyle geliştirilir.
– Not2: Oyun geliştirmek için ise Haxe’nin OpenFL veya HaxeFlixel gibi kütüphanelerini kullanabilirsiniz. Haxe’nin Unity gibi sürükle bırak tarzında bir görsel editörü şimdilik yoktur (fakat gönüllülerce yapılabilir hatta belki yapılmış bile vardır uzun zamandır bakmadım). Herhangi bir yazı editörü ile haxe dilinde yazıp derleyebilirsiniz. (Örneğin Sublime-Text, Visual Studio Code vs.)

– Not3: Bana sorarsanız HaxeFlixel kütüphanesi OpenFL’den daha kolaydır, fakat biraz daha az hakimsinizdir kodlara, OpenFL ile daha hakim ve detaylı bir geliştirme yapabilirsiniz.
Hatta Onun da temeli olan Lime ile doğrudan “OpenGL” uygulamaları yazabilirsiniz. OpenFL Lime’dan, HaxeFlixel’de OpenFL’den oluşturulmuştur. Her bir sonraki katman biraz daha kolaylık sağlar kodlamada fakat siz yazdığınız koda daha az hakimsinizdir.

Lime > OpenFL > HaxeFlixel


(Emin Fedar) #2

HaxeFlixel

S: HaxeFlixel nedir?
C: Haxe dilinde Oyun odaklı geliştirmeler yapmak için oluşturulmuş bir kütüphanedir.

HaxeFlixel’i Pardus’a nasıl kurarım?

Öncelikle Haxe kurulmuş olması lazımdır.

Haxe’nin kendi kütüphanelerini kolayca yönetebileceğiniz bir uygulaması olan “haxelib” ile tek bir komutla flixel’i indirebilirsiniz.

haxelib install flixel

Daha sonra:

haxelib install flixel-tools
haxelib install flixel-templates
haxelib install flixel-addons

haxelib run flixel-tools setup

flixel-tools’u Çalıştırdıktan sonra size ayarlarınız için birkaç soru soracak ve flixel ardından hazır. :slight_smile:

HaxeFlixel ile oyun geliştirme nasıl yaparım?

Eğer yazıları anlayabilecek basit bir ingilizceniz var ise kendi sitesindeki eğitim çok kaliteli: http://haxeflixel.com/documentation/hello-world/

Eğer illa Türkçe arıyorsanız bu blogda HaxeFlixel ile bir oyun geliştirme serisi var, oradan faydalanabilirsiniz: https://haxeturkiye.wordpress.com/2016/06/16/haxeflixel-pong-oyunu-yapimi-1/
(Blog’da Windows ve FlashDevelop kullanıyor fakat siz aynısını herhangi bir editörle de yapabilirsiniz bir sorun oluşturmaz.)

----> HaxeFlixel ile geliştirilmiş popüler uygulamalar listesi <----