Python-PyGame nedir,Nasıl Kurulur ?

Emir Özkan
7 min readApr 26, 2023

Herkese Selamlar bugün sizlere anlatmak istediğim konu PyGame. Genellikle Pygame; Python programlama dili için oluşturulmuş bir oyun geliştirme kütüphanesidir. Bu kütüphane, oyun yapımına yönelik birçok araç ve özellik sunar. Pygame, hem profesyonel oyun geliştiricileri hem de yeni başlayanlar için mükemmel bir seçenektir.

Pygame ile neler yapabilirsiniz?

Pygame kütüphanesi, Python programlama diliyle oyun, animasyon ve görsel uygulamalar yapmak için kullanılabilir. Basit oyunlar için bile kullanımı kolaydır, fakat ileri düzeyde de karmaşık özellikleri sunar. Pygame, grafikler, ses, klavye ve fare gibi girdileri yönetmek için araçlar sağlar. Ayrıca, açık kaynaklı bir proje olması, kullanıcıların kütüphaneyi özelleştirmelerine olanak tanır. Pygame topluluğu da güçlüdür ve kullanıcılara yardım etmek, örnek kodlar sunmak ve yeni özellikler eklemek için çalışır. Pygame kullanarak platform oyunları, bulmaca oyunları, strateji oyunları, simülasyon oyunları ve görsel uygulamalar yapılabilir. Ayrıca, eğitim amaçlı oyunlar da yapılabilir. Pygame, karakter hareketleri, seviyeler, müzik ve efektler gibi özelliklerin eklenmesine olanak tanır.

Aşağıda, Pygame kullanarak neler yapabileceğinize dair bazı örnekler sunuyorum:

  1. Platform oyunları: Pygame, platform oyunları oluşturmak için ideal bir seçenektir. Pygame ile, zıplama, koşma ve düşmanlardan kaçma gibi hareketler sağlayan karakterler oluşturabilirsiniz. Ayrıca, seviyelerin oluşturulması ve oyunun müzik ve efektlerle zenginleştirilmesi gibi diğer özellikleri de ekleyebilirsiniz.
  2. Bulmaca oyunları: Pygame, bulmaca oyunları oluşturmak için de kullanılabilir. Örneğin, Tetris veya Bejeweled benzeri bir oyun oluşturabilirsiniz. Pygame ile, farklı şekilleri ve renkleri olan bloklar oluşturabilir ve bunları doğru şekilde eşleştirmek için kullanıcıya fırsat verebilirsiniz.
  3. Strateji oyunları: Pygame, strateji oyunları oluşturmak için de kullanılabilir. Örneğin, savaş veya ticaret gibi farklı senaryolar için bir strateji oyunu oluşturabilirsiniz. Pygame ile, oyunun özelleştirilebilir haritalarını oluşturabilir, farklı askerleri veya ticaret mallarını tasarlayabilir ve oyuncuların kararlarını etkileyen öğeler ekleyebilirsiniz.
  4. Simülasyon oyunları: Pygame, simülasyon oyunları oluşturmak için de kullanılabilir. Örneğin, bir çiftlik veya şehir simülasyonu oluşturabilirsiniz. Pygame ile, çiftlik veya şehirde bulunan farklı unsurların etkileşimlerini simüle edebilirsiniz. Bunlar arasında bitkilerin büyümesi, hayvanların beslenmesi veya hava koşullarının değişmesi gibi faktörler yer alabilir.
  5. Görsel uygulamalar: Pygame, sadece oyunlar için değil, aynı zamanda farklı görsel uygulamalar için de kullanılabilir. Örneğin, etkileşimli bir sanat uygulaması veya eğitim amaçlı bir simülasyon oluşturabilirsiniz. Pygame, grafik ve ses öğeleri için araçlar sunar ve kullanıcıların farklı girdileri yönetmelerine olanak tanır.
  6. Eğitim amaçlı oyunlar: Pygame, öğrenme sürecini daha eğlenceli hale getirmek için de kullanılabilir. Örneğin, matematik veya dil öğrenme için bir oyun oluşturabilirsiniz. Pygame ile, oyuncuların doğru yan

Sonuç olarak, Pygame, oyun geliştirme sürecini daha kolay ve keyifli hale getiren güçlü bir araçtır. Hem basit hem de karmaşık oyunlar yapmak için uygundur. Ayrıca, açık kaynaklı olması ve güçlü topluluğu sayesinde kullanıcıların kütüphaneyi özelleştirmeleri ve yardım almaları kolaydır.

Pygame’in Kurulumu:

Pygame’i kullanmaya başlamak için, öncelikle Python’un bilgisayarınıza yüklü olması gerekir. Ardından, Pygame’i yükleyebilirsiniz. Pygame kurulumu için şu adımları izleyebilirsiniz:

  1. Komut isteminde “pip install pygame” yazarak Pygame kütüphanesini yükleyin.
  2. Pygame’in kurulumunu doğrulamak için bir Python dosyası oluşturun ve içine şu kodları yazın:

Bu kod, Pygame’in yüklendiğini doğrulayacak ve “pygame başlatıldı” gibi bir çıktı verecektir.

Pygame ile İlk Oyunu Oluşturma Pygame kullanarak basit bir oyun oluşturmak, özellikle Python’da daha önce programlama yapmadıysanız, ilk başta zor olabilir. Ancak, Pygame’in öğrenme eğrisi düşüktür ve kolayca anlaşılabilir.

Aşağıdaki örnekte, basit bir Pong oyunu yapacağız. Oyun iki raket ve bir top içerecek. Oyuncular raketleri kullanarak topu karşı tarafa göndermeye çalışacaklar. Oyunu durdurmak için, oyuncuların “q” tuşuna basmaları gerekecek.

İlk olarak, oyunun gerekli bileşenlerini içe aktaracağız. Ardından, oyun penceremizi oluşturacağız ve oyuncuların raketlerini ve topu çizeceğiz. Son olarak, oyuncuların raketlerini hareket ettirmek ve topun çarpışmalarını yönetmek için oyun döngüsünü oluşturacağız.

Yukarıdaki kodda, Pygame kütüphanesini içe aktardık ve oyun penceresi boyutlarını belirledik. Daha sonra, beyaz ve siyah renkler için RGB değerlerini tanımladık.

Ardından, oyuncu raketleri için boyutlar belirledik ve SolRaket adlı bir dikdörtgen oluşturduk. Bu raketin konumu, PencereYuksekligi’nin yarısıdır ve raket yüksekliğinin yarısı çıkarılmıştır, böylece raket penceremizin tam ortasında yer alır.

Daha sonra, oyun penceremizi oluşturduk ve bu pencereyi OyunPenceresi adlı bir değişkende sakladık. Bu penceremize, oyuncu raketlerini ve topu çizmek için kullanacağız.

Şimdi, oyuncu raketlerini ve topu çizmemiz gerekiyor. Bunun için, aşağıdaki kodu kullanabiliriz:

Yukarıdaki kodda, CizimFonksiyonu adlı bir fonksiyon oluşturduk. Bu fonksiyon, oyuncu raketlerini ve topu çizer ve pencereyi siyah renkle doldurur. Sol raket için pygame.draw.rect() fonksiyonunu kullanarak dikdörtgen çizdik. Top için pygame.draw.circle() fonksiyonunu kullandık ve topu penceremizin ortasına yerleştirdik.

Son olarak, oyun döngüsünü oluşturacağız. Bu döngü, oyuncuların raketlerini hareket ettirmesine ve topun çarpışmalarını yönetmesine izin verecek.

Yukarıdaki kodda, OyunFonksiyonu adlı bir fonksiyon oluşturduk ve bir while döngüsü içinde çalıştırdık. Bu döngü, pencereyi kapattığımızda veya oyuncuların kaybetmesi durumunda sona erecektir.

Bu döngü içinde, pygame.event.get() fonksiyonunu kullanarak kullanıcının yaptığı işlemleri takip edeceğiz. Eğer kullanıcı pencereyi kapatırsa, pygame.quit() fonksiyonunu kullanarak oyunu kapatırız.

Daha sonra, tuşları dinleyerek oyuncu raketlerini hareket ettiririz. Burada, pygame.key.get_pressed() fonksiyonunu kullanarak klavyeden basılı tutulan tuşları alırız. Sol oyuncu raketini hareket ettirmek için yukarı tuşuna basarsa, SolRaket’in top değeri -5 birim hareket eder. Aşağı tuşuna basarsa, SolRaket’in alt değeri 5 birim hareket eder. Bu sınırları geçmez, böylece raketler penceremizden çıkmaz.

Son olarak, CizimFonksiyonu() fonksiyonunu çağırarak oyun alanımızı çizeriz.

Oyunu çalıştırmak için aşağıdaki kodu kullanabilirsiniz:

Yukarıdaki kodda, OyunPenceresi adlı bir değişkende oyun penceresini oluşturuyoruz. Pencere başlığını “Pong Oyunu” olarak ayarlıyoruz ve OyunFonksiyonu() fonksiyonunu çağırarak oyunu başlatıyoruz.

Tüm kodları bir araya getirerek, Pygame ile basit bir Pong oyunu yazdık. Oyuncuların raketlerini hareket ettirmelerine ve topun çarpışmalarını yönetmelerine izin veriyoruz. Bu oyunu daha da geliştirmek için, topun hızını artırabilir, daha fazla oyuncu ekleyebilir veya skor tutabilirsiniz.

Pygame ile Pong oyununu yazarken, ayrıca görüntüler, sesler ve animasyonlar ekleyerek oyunu daha eğlenceli hale getirebilirsiniz. Pygame, bu tür özellikleri kolayca eklemenizi sağlar.

Örneğin, topun raketlere çarptığında çıkardığı sesi ekleyebilirsiniz. Pygame’in pygame.mixer.Sound() fonksiyonu kullanarak bir ses dosyası yükleyebilirsiniz. Ardından, topun raketlere çarptığı her seferde bu sesi çalabilirsiniz.

Ayrıca, topun hareketini daha gerçekçi hale getirmek için animasyon ekleyebilirsiniz. Pygame’in pygame.Surface() fonksiyonu kullanarak bir resim yükleyebilirsiniz. Ardından, topu bu resimle değiştirerek hareketini animasyonlu hale getirebilirsiniz.

Son olarak, oyunu daha ilginç hale getirmek için farklı oyun modları ve zorluk seviyeleri ekleyebilirsiniz. Örneğin, raketlerin boyutunu ve hızını değiştirebilirsiniz, topun hızını artırabilirsiniz veya birden fazla top ekleyebilirsiniz.

Pygame, geliştirdiğiniz oyunları farklı platformlarda (Windows, Mac, Linux, vb.) çalıştırmak için uygun olduğu gibi, mobil cihazlar için de uygun hale getirilebilir. Bunun için, Pygame’de kullanılan bazı bileşenleri farklı mobil platformlara taşımak gerekir.

Sonuç olarak, Pygame, Python programlama dilinde oyun geliştirmek için kullanabileceğiniz güçlü bir araçtır. Basit bir Pong oyunu yazmak, sadece birkaç satır kodla mümkündür. Ancak, oyunu daha ilginç hale getirmek için farklı özellikleri ve zorluk seviyelerini ekleyerek, oyuncuların daha uzun süre ilgilenmesini sağlayabilirsiniz.Ayrıca, Pygame ile geliştirdiğiniz oyunu internet üzerinden diğer oyuncularla paylaşabilirsiniz. Bu, oyununuzu daha geniş bir kitleye ulaştırmak için harika bir yoldur.

Bunun için, Pygame’in pygame.network modülünü kullanarak bir sunucu istemci modeli oluşturabilirsiniz. Bu, oyuncuların oyunu internet üzerinden oynamalarına olanak tanır. Pygame ile yazdığınız oyunu, web tarayıcısı üzerinde çalışan bir uygulamaya dönüştürmek için de farklı araçlar bulunmaktadır.

Son olarak, Pygame ile geliştirilen oyunlar, sadece eğlence amaçlı değil, eğitim amaçlı da kullanılabilirler. Örneğin, matematik problemleri çözme oyunları veya dil öğrenme oyunları geliştirebilirsiniz. Bu tür oyunlar, öğrencilerin eğlenirken öğrenmelerini sağlayabilirler.

Pygame, geliştirdiğiniz oyunların tasarımı ve geliştirilmesi için birçok araç ve özellik sunar. Oyunların görüntüleri, sesleri, animasyonları ve diğer özellikleri için gereken tüm kaynaklar, Pygame ile birlikte gelir. Böylece, sadece Python programlama dilini bilmekle, kolayca bir oyun geliştirebilirsiniz.

Sonuç olarak, Pygame, hem eğlence amaçlı hem de eğitim amaçlı oyunlar geliştirmek için kullanabileceğiniz güçlü bir araçtır. Basit oyunlar yazmak için sadece birkaç satır kod yazmanız yeterli olabilir, ancak oyunları daha ilginç hale getirmek için farklı özellikler ve zorluk seviyeleri eklemek gerekebilir.Bununla birlikte, Pygame’in bazı dezavantajları da vardır. Örneğin, Pygame, karmaşık 3D grafikleri ve yüksek performans gerektiren oyunları desteklemez. Bu tür oyunlar için, daha spesifik araçlar kullanmak daha iyi olabilir.

Ayrıca, Pygame ile geliştirilen oyunlar, diğer oyun motorlarına göre daha yavaş çalışabilirler. Bu nedenle, yüksek performans gerektiren oyunlar için farklı bir araç kullanmak daha uygun olabilir.

Bununla birlikte, Pygame, Python programlama dilinde oyun geliştirmek için en popüler araçlardan biridir. Ayrıca, Pygame’in geniş bir topluluğu vardır ve bu topluluk, Pygame’in daha da geliştirilmesi ve iyileştirilmesi için sürekli çalışmaktadır.

Sonuç olarak, Pygame, Python programlama dilinde oyun geliştirmek için kullanabileceğiniz güçlü bir araçtır. Pygame ile yazılan oyunlar, farklı platformlarda çalıştırılabildiği gibi, farklı özellikler ve zorluk seviyeleri eklenerek daha ilginç hale getirilebilir. Ancak, karmaşık 3D grafikleri veya yüksek performans gerektiren oyunlar için farklı araçlar kullanmak daha uygun olabilir. Kodun en son halini aşağıda bütün olarak verdim…

Bu şekilde Pygame ile bir oyun yapmanın temel adımlarını öğrendik. Tabii, gerçek bir oyun daha karmaşık olacaktır ve bu örnekte gösterilen kodların sadece bir kısmını içerebilir. Ancak, bu örnekte gösterilen temel prensipler, gerçek bir oyunun geliştirilmesi için iyi bir başlangıç noktasıdır.

Pygame’in sunduğu araçlar sayesinde, oyun geliştirme sürecinde hem grafiksel hem de programlama tarafında pek çok zorluğu aşmak mümkün olur. Tabii, bu örnekte gösterilen kodların öğrenmesi ve anlaşılması zaman alabilir, ancak Pygame ile oyun geliştirmeyi öğrenmek oldukça keyifli bir deneyim olabilir.

Umarım bu yazı, Pygame ile oyun geliştirme konusunda size bir başlangıç noktası sağlamıştır. Herhangi bir sorunuz veya geri bildiriminiz varsa, lütfen yorum bölümünden bana ulaşın! arkadaşlarınızla paylaşmayı unutmayın herkese iyi günler dilerim :)

--

--

Emir Özkan

Would you like to join me as an enthusiastic teenager to teach other person what you have learned on your own :)? follow me ;))