10 Aralık 2008 Çarşamba

PyGame hakkında

Pygame, Python kullanıcıları rahatça oyun geliştirebilsin diye Pete Shinners tarafından geliştirilmeye başlanmış bir Python pakedi. İçerisinde şu modüller ile birlikte geliyor :
  • Cdrom (manage cdrom devices and audio playback)
  • Cursors (load cursor images, includes standard cursors)
  • Display (control the display window or screen)
  • Draw (draw simple shapes onto a Surface)
  • Event (manage events and the event queue)
  • Font (create and render Truetype fonts)
  • Image (save and load images)
  • Joystick (manage joystick devices)
  • Key (manage the keyboard)
  • Mouse (manage the mouse)
  • Mask
  • Mixer
  • Movie (playback of movies)
  • Music (playback of music)
  • Overlay
  • Pixelarray
  • Rect
  • Sndarray
  • Sprite
  • Surface
  • Surfarray (manipulate images with Numeric)
  • Time (control timing)
  • Transform (scale, rotate, and flip images)
Görüldüğü üzere zenginlik konusunda karun kadar zengin PyGame. Avantajlarının biri de geliştirdiğiniz uygulamanın diğer işletim sistemlerine kolayca port edilebilmesi. Hatta işleme gerek kalmaksızın Mac sistemlerde direkt olarak çalışıyor.

Bu pakedi kullanarak geliştirdiğiniz ürünleri istediğiniz her hangi bir lisans ile yayınlayabiliyorsunuz (evet para kazanmak da mümkün). Gücünü SDL (Simple DirectMedia Layer) denen bir kütüphaneden alıyor. Bahsi geçen SDL, C ve Assembly dili kullanılarak yazılmış bolca optimizasyondan geçmiş, hız konusunda tartışmasız bir biçimde tatmin edici. Anlayacağınız PyGame'in duruşu pek şirin olsa da arkasında bir canavar yatıyor.

Aslına bakarsanız bir video kurgu programı yapmak için bile uygun gördüm kendisini, "oyun yapmak için kütüphane" tanımı biraz zayıf kalıyor kendisini anlatmaya.

Evet SDL kütüphanesi çok güçlü ama "Python dili oyun programlama yapmak için uygun mu?" sorusunu cevaplamak gerekiyor.

Python çok üst seviyeli bir dil, bir C kodundan yaklaşık 20 kat yavaş çalışıyor. Zaten bu programlama dilini tercih ederken pek performansına bakarak karar vermedik hiçbirimiz. Python dilinin asıl vurucu noktası bildiğiniz gibi kolay öğrenilir olması, ve size çok çabuk çözümler sunabilmesi. Python ve PyGame ile oyun yapmaya niyetlendiyseniz, bir "enemy-territory yapayım" şeklinde hayallere dalmanız sizi hayal kırıklığına uğratır. Yapabileceğiniz genelde hafif diye tabir edebileceğimiz oyunlar. Zaten genelde PyGame ile yapılmış oyunları incelediğinizde flash oyunu türevi ya da eski ATARI-C64 oyunlarının yeniden yapılmış halleri ile karşılaşıyoruz.

Bunların yanında PyGame hoş bir topluluğa sahip.İnsanları oyun geliştirilmesine teşvik etmek amacıyla "bir hafta içerisinde en güzel oyunu kim geliştirecek?" konseptine sahip bir yarışma düzenliyorlar adı da PyWeek. Siteye uğrayıp en azından o hafta yarışmaya katılmış oyunları oylamak bile yeterince eğlenceli bir aksiyon. Gerçekten güzel işler var ve tabi ki hepsinin kodları açık.

Hiç yorum yok:

Yorum Gönder