Python Kod

  1. Anasayfa
  2. »
  3. Oyun
  4. »
  5. Python ve Pygame İle Basit Bir Platform Oyunu Yapımı

Python ve Pygame İle Basit Bir Platform Oyunu Yapımı

admin admin - - 18 dk okuma süresi
223 0

=

Öncelikle oyunu geliştirmek için Python 3.x’in kurulu olması gerekiyor. Ayrıca Pygame kütüphanesinin de kurulu olması gerekiyor. Pygame kütüphanesi, oyun geliştirme için gerekli olan grafikler, müzikler ve daha birçok özellik sağlar. Eğer bu kurulumları yapmadıysanız, önce Python 3.x ve sonra Pygame kütüphanesini indirin ve kurun. Daha sonra bir metin editörüyle açacağınız Python dosyasına başlayın.

Gereksinimler

Oyunu geliştirmek için Python 3.x ve Pygame kütüphanesi yüklü olmalıdır. Python, Windows, Linux ve Mac gibi birçok platformda kullanılabilir. Pygame, Python’da oyun geliştirme için çok popüler bir kütüphanedir. Önceki birçok oyun geliştirme projesinde kullanılmıştır ve birçok örnek proje ve kaynak kodu dökümanı online mevcuttur.

Pygame kütüphanesi, videolar, sesler ve grafikler gibi birçok özellik ekleyen basit bir Python arayüzüdür. Bu kütüphane, özelleştirilmiş oyun kontrolleri, joystick desteği ve animasyonlar gibi bir dizi oyun özelliği sağlar. Pygame kütüphanesi, başlangıçta eğlence amaçlı olarak tasarlanmıştır ancak son zamanlarda eğitim amaçlı oyunlar ve simülasyonlar gibi eğitim amaçlı projeler için de popülerlik kazanmıştır.

    Gereksinimler

    Oyunu geliştirmek için, Python 3.x ve Pygame kütüphanesi yüklü olmalıdır. Bu gereksinimlerin yüklenmesi, oyunu çalıştırmak için gerekli olan tüm temel bileşenleri sağlayacaktır.

    Python 3, oyunu programlamak için ana dilimizdir. Pygame kütüphanesi, oyunun görüntüleri, sesleri ve animasyonlarını yönetmek için gereklidir. Bu kütüphane, oyunun fizik kurallarını uygulamak, olayları yönetmek ve ekranı yönetmek için kullanılan birçok fonksiyonu içermektedir.

    Oyun Tasarımı

    Oyun, oldukça basit bir tasarıma sahip olacak. Karakterimiz, platformlar arasında zıplayarak ilerleyecek ve aynı zamanda kuşların, ağaçların ve diğer engellerin üstünden zıplayarak onlardan kurtulmaya çalışacaktır. Oyunun amacı, karakterimizi kaybetmeden mümkün olduğunca ileri taşımaktır. Ancak, oyunda kaybedildiğinde, karakterimiz tekrar levelin başına dönecek.

    Level tasarımı da oldukça basit bir şekilde olacak. Level tasarımı, bir dizi koordinattan oluşacaktır. Bu koordinatların her biri, platformların başlangıç ve bitiş noktalarını ve ayrıca diğer özelliklerini de belirtir. Karakterimiz ise, oyunu yön tuşları veya W,A,S,D kullanarak kontrol edebilir ve space tuşuyla da zıplayabilir.

    Oyun deneyimi oyuncuya son derece keyifli bir deneyim sunacak. Temel ama bir o kadar başarılı oyun tasarımı sayesinde kolayca öğrenilebilir ve hoş bir meydan okuma sunacaktır.

    Level Tasarımı

    Level tasarımı, oyunun en önemli bileşenlerinden biridir. Bu tasarım, oyunun oynanabilirliği ve eğlence düzeyini belirleyecektir. Level tasarımı, bir dizi koordinatın belirlenmesiyle oluşturulur. Bu koordinatlar, her bir platformun başlangıç ve bitiş noktalarını ve diğer özelliklerini belirtir. Bu özellikler arasında platformun yüksekliği, genişliği, rengi ve arka planı gibi detaylar yer alabilir.

    Level tasarımı, oyunun zorluk seviyesini de belirleyebilir. Basit bir oyun için düz platformlar yeterli olabilirken, daha karmaşık bir oyun için engeller, tuzaklar ve daha yüksek zorluklar gerekebilir. Bu nedenle, her levelin tasarımı, oyunun genel amaçlarına göre belirlenmelidir.

    • Başlangıç koordinatı: Platformun başlangıç koordinatı x ve y koordinatlarını içerir. Bu koordinatlar, platformun sol üst köşesindeki konumu belirtir.
    • Genişlik: Platformun genişliği, piksel cinsinden belirtilir.
    • Yükseklik: Platformun yüksekliği, piksel cinsinden belirtilir.
    • Renk: Platformun rengi, RGB değerleriyle belirtilir.
    • Arka plan: Platformun arka planı, resim veya renk kullanılarak belirtilebilir.

    Level tasarımı oluşturulurken, oyunun amacına uygun platformlar belirlenmelidir. Bu sayede, oyun daha eğlenceli ve oynanabilir olacaktır. Ayrıca, level tasarımı yaparken, oyunun zorluk seviyesi de göz önünde bulundurulmalıdır. Oyunun ilerleyen seviyelerinde zorluk seviyesinin artması, oyuncunun heyecanını artıracaktır.

    Örnek Level Tasarımı

    Level tasarımı, oyunun yapı taşlarından biridir ve oyunun akıcılığı ve keyifliği üzerinde büyük etkiye sahiptir. Örnek bir level tasarımı, oyuncuların zorlanmadan ilerleyebilecekleri ancak aynı zamanda da biraz zorlayacakları bir oyun deneyimi sunmalıdır. Aşağıda yer alan level tasarımı, basit bir platform oyunu için uygun bir örnek olarak kullanılabilir.

    • Platform 1: (0, 500, 0, 100)
    • Platform 2: (150, 400, 50, 75)
    • Platform 3: (300, 350, 100, 25)
    • Platform 4: (450, 300, 150, 50)
    • Platform 5: (600, 250, 200, 75)
    • Platform 6: (800, 200, 150, 25)
    • Platform 7: (950, 150, 100, 50)
    • Platform 8: (1100, 100, 50, 100)

    Bu level tasarımı, oyunculara çeşitli zorluklar ve engeller sunarken, aynı zamanda oyunun akıcılığını bozmadan ilerlemelerine izin verir. Platformlar arasındaki boşluklar ve engeller, oyuncuların becerilerini geliştirmeleri için harika bir fırsattır.

    (0, 500, 0, 100), #platform 1

    Level tasarımı için örnek olarak verilen kodda, (0, 500, 0, 100) koordinatları platform 1’in başlangıç ve bitiş noktalarını ve boyutunu belirtir. Platformlar, oyun alanında karakterin hareket edebileceği alanlardır ve her biri koordinatlarla tanımlanır. Bu örnekte, platform 1, x=0’dan x=100’e kadar ve y=500’den y=600’e kadar olan alanı kapsamaktadır.

    Platformların boyutları ve yerleri, oyun hazırlandığında belirlenir ve level tasarımı olarak kaydedilir. Oyunda birden fazla level olabilir ve her levelde farklı platformlar ve engeller bulunabilir.

    Programlama sırasında, platformlar ve karakterin hareketleri, koordinatlara göre belirlenir ve oyun alanında görüntülenir. Pygame kütüphanesi, bu işlevleri gerçekleştirmek için kullanılan bir kütüphanedir ve Python dilinde yapılan oyun geliştirme işlemlerinde oldukça popülerdir.

    Bu şekilde, Python ve Pygame kullanarak, basit bir platform oyunu tasarlayabilir ve oluşturabilirsiniz. Gerekli eğitimi aldıktan sonra, kendinize özgü oyunlar tasarlayabilir ve bu alanda kendinizi geliştirebilirsiniz.

    (150, 400, 50, 75), #platform 2

    Platform 2, oyunun ikinci seviyesinde yer alacak ve karakterin ilerlemesi için önemli bir engel olacaktır. Bu platform, x-koordinatı 150’den başlayacak ve 50 piksel uzunluğunda olacak. Y-koordinatı 400’den başlayacak ve 75 piksel yüksekliğinde olacak. Bu nedenle, karakterin platformun üstünden zıplayarak geçmesi gerekecek. Platformun rengi, oyun tasarımına ve zevkinize göre seçebileceğiniz herhangi bir renk olabilir.

    (300, 350, 100, 25),#platform 3

    Platform 3, level tasarımımızın üçüncü platformudur. Bu platform, (300, 350) koordinatları arasında ve 25 piksel yüksekliğinde ve 100 piksel genişliğinde bir platformdur. Bu platformda, karakterimizin hareket edebileceği ve engelleri atlama becerisini geliştirebileceği bir alan sunulmaktadır.

    (450, 300, 150, 50),#platform 4

    Platform 4, oyunun en zorlu kısımlarından biridir. Koordinatları (450, 300, 150, 50) olarak belirlenmiştir ve karakterimizin bu platformdan geçerken dikkatli olması gerekmektedir. Platformun boyutları 150×50 pikseldir ve karakterin bu platform üzerinde zıplaması gerekir. Ayrıca platformun üzerinde birkaç engel de bulunur ve karakterimiz bu engelleri atlamak zorundadır. Bu platform, karakterin seviyeyi başarıyla tamamlaması için geçmesi gereken son platformlardandır.

    (600, 250, 200, 75),#platform 5

    Platform 5, oyunun orta seviyeli platformlarından biridir ve karakterin en zorlu engellerden birini aşması gereken bir aşamadır. Bu platform 600 piksel x 250 piksel boyutunda ve sol alt köşeden başlayarak sağa doğru ilerliyor. 200 piksel uzunluğunda ve 75 piksel yüksekliğinde. Platformun üzerinde, karşılaşılabilecek engellere dikkat çekmek için ağaçlar ve bazı kuşlar bulunmaktadır. Seyrek bir şekilde yerleştirilmiş engeller oyuncu için etkileyici bir zorluk oluşturmaktadır. Bu platform, oyunun geliştirilmesinde, tasarım ve programlama açısından orta zorlukta bir platform örneği sunmaktadır.

    (800, 200, 150, 25),#platform 6

    Bu platform, oyunun ilerleyen bölümlerinde oyunun zorluğunu arttırmak için kullanılabilir. Platformun başlangıç noktası (800,200) koordinatlarındadır ve boyutu 150×25 pikseldir. Oyuncunun bu platforma zıpladıktan sonra, bir sonraki platforma geçmek için biraz özveri ve pratik gerekiyor. Oyunun zorluk seviyesini arttırmak için tüm diğer platformlar bu şekilde özenle seçilmelidir.

    (950, 150, 100, 50),#platform 7

    Level tasarımı için örnek verilen bu platform, X koordinatı 950’den başlayarak 100 piksel genişliğinde bir platformdur. Y koordinatı 150’den başlayarak 50 piksel yüksekliğindedir. Bu platform, oyunda karakterin üzerinden zıplaması gereken bir engel olarak tasarlanmıştır. Oyunun sonraki seviyelerinde de benzer şekilde engellerle ve farklı büyüklüklerde platformlarla karşılaşılacaktır.

    (1100, 100, 50, 100) #platform 8

    Bu levelde, son platformumuz yer almaktadır. Bu platform, birçok önceki platformdan farklıdır ve karakterin farklı şekillerde hareket etmesi gerektiği bir platformdur. Platform, diğerlerine göre daha küçük olmasına rağmen, karakterin zıplaması gereken birkaç kuşun üstündedir ve karakter platformun üstünden geçebilmek için tam zamanında zıplamalıdır. Ayrıca, kuşların üzerinde durmak oyuncuya puan kazandırır. Bu platformun başarılı bir şekilde tamamlanması, oyuncunun oyunu tamamlamasına yardımcı olabilecek son derece önemli bir adımdır.

    ]

    Oyunun kodlanması sırasında öncelikle Pygame kütüphanesi projeye dahil edilmelidir. Sonrasında, oyunun tasarımında kullanılacak objeler ve özellikleri güncelleyebilmek için birçok değişkene ihtiyaç duyulacaktır.

    Oyun tasarımı örneği kullanılarak, platformların ve karakterin özelliklerini belirleyen bir kod bloğu oluşturulur. Daha sonra, oyunun sonsuz döngüsüne girilir. Bu döngü, oyunun sürekli olarak çalışmasını sağlar. Oyundaki objelerin hareketi, çarpışması, oyuncunun inputlarının alınması bu döngüde gerçekleştirilir.

    Oyun nesnesi oluşturulduktan sonra, karşılaşılacak engeller için bir çözüm yolu bulunmalıdır. Örneğin, karakterin kuşlara çarpması durumunda oyunun sonlanması gibi. Bu durumlar için, çarpışma kontrolü yapacak bir fonksiyon ve oyunun sonlanması durumunda başka bir fonksiyon oluşturulması gerekmektedir.

    En son olarak, oyunun sonlanması koşulları belirlenmeli ve oyunun kaybedildiği ve kazanıldığı noktalar belirlenmelidir. Bu noktalarda, karakterin yönü ve hızı belirlenebilir veya oyun tekrar başlatılabilir.

    Level tasarımı, oyunun en önemli kısımlarından biridir. Oyuncunun keyifli bir oyun deneyimi yaşaması için platformların uygun şekilde tasarlanması gerekiyor. Örnek level tasarımı aşağıda verilmiştir:

    level_1 = [    (0, 500, 0, 100),   #platform 1    (150, 400, 50, 75), #platform 2    (300, 350, 100, 25),#platform 3    (450, 300, 150, 50),#platform 4    (600, 250, 200, 75),#platform 5    (800, 200, 150, 25),#platform 6    (950, 150, 100, 50),#platform 7    (1100, 100, 50, 100) #platform 8]

    Bu örnekte, level_1 adında bir liste oluşturulmuştur. Her platform, (x, y, width, height) şeklinde bir koordinat çiftiyle belirtilmiştir. İlk iki değer, platformun başlangıç koordinatlarını (x, y) belirtirken, sonraki iki değer platformun genişlik(width) ve yüksekliğini(height) belirtmektedir. Platformlar arasındaki mesafeler, oyunun zorluğunu belirleyen en önemli faktördür. Yapacağınız değişikliklerle oyun zorluğunu ayarlayabilirsiniz.

    Karakter Tasarımı

    Oyunda kullanılacak karakter, W,A,S,D veya yön tuşlarıyla hareket edebilir ve space tuşuyla zıplayabilir. Karakterimiz, oyunun kazanıldığı veya kaybedildiği noktayı belirleyecek 500 piksellik bir sonsuzlukta ilerleyecektir. İlk adım olarak, karakterimizin görünümünü belirlemeliyiz. Bunun için, Pygame’in sprite sınıfını kullanarak bir karakter sınıfı oluşturabiliriz. Karakterimiz, oyuncunun kolayca fark edebileceği ve oyunun temasına uygun bir şekilde tasarlanmalıdır. Örneğin, eğer oyun teması doğa ise karakterimiz doğada bulunan hayvanlardan esinlenerek tasarlanabilir.

    Bir sonraki adım olarak, karakterimizin özelliklerini programlamalıyız. Bu özellikler, karakterimizin hızı, zıplama yüksekliği ve diğer özellikleri olabilir. Bunları programlamak için, karakter class’ındaki __init__ fonksiyonunu kullanabiliriz. Bu fonksiyon, karakterin adı, pozisyonu, özellikleri ve diğer özellikleri gibi birçok değişkenleri belirleyebilir. Ayrıca, karakterimizi platformların üstüne yerleştirmeliyiz, bu da karakterimizin daha kolay ve doğal bir şekilde hareket edebilmesine yardımcı olacaktır.

    Karakterimizin diğer özellikleri arasında, zıplama yüksekliği ve zıplama animasyonları yer alabilir. Zıplama animasyonları karakterin oyun içinde daha gerçekçi ve canlı görünmesine yardımcı olacaktır.

    Kodlama

    Kodlama kısmında, önce gerekli kütüphaneler ve modüller kullanıcıya tanıtılacak ve nasıl indirileceği hakkında bilgi verilecektir. Ardından, oyunun başlatılması ve ana döngünün oluşturulması için gereken işlevler ve değişkenler tanımlanacaktır.

    Oyuncunun hareketini sağlamak için, klavyeden alınan girdileri işleyecek bir işlev yazılacak ve oyuncunun karakteri ile etkileşimini belirlemek için kullanılacaktır. Ayrıca, karakterin zıplaması, yer çekimi gibi fiziksel özellikleri de kodlanacaktır.

    Engellerin ve nesnelerin yerleştirilmesi için rastgele koordinatlar oluşturulacak ve belirlenen level tasarımlarına göre yerleştirilecektir. Engellerin ve nesnelerin karakterle olan etkileşimleri de kodlanacaktır.

    Bölüm sonu canavarları ve kazanma koşulları da kodlanacak. Son olarak, oyunun bir resmi ekrana basılacak ve oyunun birkaç ayarına (ses düzeyi, klavye ayarları vb.) kullanıcının erişebileceği bir menü ekranı oluşturulacaktır.

İlgili Yazılar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir