İçerik yoğun mu?
Top fiziği eklendi.
Dolayısı ile topu havalandırma, havalanınca yerde gölgesinin oluşması da eklendi.
Oyunun aslında 2D Önden görünüşlü olduğunu hatırlatırım! 2D yatay platform oyunu olmadığı için 4 yönde zemindeyken topu olmayan üçüncü boyuta doğru havalandırmak ve zeminde gölgesini çizmek için birkaç dosyalık kod yazıldı.
Sonra bu top fiziği kullanılarak neredeyse aynı ama tam olarak aynı olmayacak şekilde “Yaprak” eklendi.
Sonra basit canavar sınıfı eklendi. Oyundaki “Balon” ve “Bamboo” bu sınıftan.
Canavar sınıfına alt sınıf olarak “Neebatat” sınıfı eklendi. Amaç rüzgarda ahenk ile savrulan çimenler yada bitkiler yapılabilir miydi. windows 10 da PyGame ile denemiştim, ama oyunu çok kastığı için kullanamamıştım. Linux ve Pardus 25 Gnome windows 10’dan daha başarımı yüksek olduğu için Linux’ta da denemek istedim. Gerçi oyunu ilk olarak halâ Raspberry Pi 5 (8GB) da kodluyorum. Orada oyunun çalışmasını engelleyecek hiç bir geliştirme oyuna eklenmeyeceği için Masaüstü PC’de çok rahat çalışacaktır.
Daha sonra gelişmiş canavar sınıfı eklendi.
Bunların farkı oyuncu karakterleri gibi 8 yönlü canlandırmaları olması.
“Balık” bu tip bir canavar.
Canavarların yapay zekâları hâlâ geliştirilmeyi bekliyor.
Oyuna gölet ve dalgalanan su eklendi.
O da henüz tam istediğim gibi değil.
Suyun ortasındaki dalgalanmayı gösteren bir ara katman daha gerekiyor.
Gerisi TileMap csv dosyasından oyuna yerleştirilen objeler.
Bu mu çok karışık?
Dosya sayıları yüzündense dediğim gibi her bir dosyanın 250 satırdan fazla kod içermemesi ve aradığım kod satırlarına kolayca ulaşabilmek için özellikle “World” klasöründe bu kadar çok dosya var ve bunun en az on katı daha olması gerek!
Aslında “World” ve “Arayuz” klasörlerindeki dosyaları da daha alt klasörlere ayırmak istedim, ama yapay zekâ klasör içinde klasör açarsam oyunun ağırlaşacağı uyarısında bulununca vazgeçtim! Yoksa ben tüm hâyatımda arşivlerimi klasör içinde klasörler açarak en alt konuya kadar ayırırım.
Daha oyuna “sinek” ekleyeceğim.
Balıklara sinek avlatacağım!
Kırlangıç ekleyeceğim onları da olmayan üçüncü boyutta göletin üzerinde uçurup havada sinek yakalatacağım!
Yerden alınabilir objeler ekleyeceğim.
Kuru dal toplatıp ateş yaktıracağım.
Envanter, çanta arayüzü hazırlayacağım ve yerden yada dükkandan alınan eşyaların bu envantere eklenmesini sağlayacağım.
Bir süre sonra envanter yetersiz kalacağı için aynı anda bir de belki sınırsız depo envanteri kodu yazacağım.
Bütün bunları kusursuzca başarsam bile olacak şu:
Oyuna giriyorsun 9 tâne yemyeşil masal dünyası gibi hârika görünen harita var.
Gölet var balık tutuyorsun! (Daha balık tutup envantere ekleme de eklenecek, onu unuttum)
Balıkların suya konan sinekleri avlamalarını ve kırlangıçların havada uçan sinekleri avlamalarını izliyorsun. … Ateş yakıyorsun… Yemek yapmak için herhâlde onu daha düşünmedim bile! Yemek yapıyorsun, balıkları pişiriyorsun diyelim… Top oynuyorsun, yaprak tekmeliyorsun, çalı çırpı, kurumuş dal topluyorsun … eeee!
Eeee! İşte işe yaşayan bir ekosistem ile başladığım için böyle ve sanırım sorunun bu olduğunu gördünüz ve uyarıyorsunuz!
Ortada oyun yok!!!
O yüzden bunu oyun yerine bir tür “kır simülasyonu” gibi bir şey olarak sunmam gerekiyor.
Bunun gerçek bir oyun olmadığını her fırsatta söylemeye çalışıyorum, ama bunu geliştiren ben olduğun için, bu benim için bir oyun! O yüzden buna “oyun” demeye devam etmekten kendimi alamıyorum!
Bundan çok daha az etkileyici gerçek oyunlarla karşılaştım.
Kendi oyununuza editör eklediğinizi paylaşmışsınız.
Ben bunu “oyunuma” (ツ) çoktan ekleyecektim, ama konsol açarak!
CTRL+" tuşu ile oyun ekranında açılan konsol komut penceresine sihirli sözler yazılınca editör ekranı açılacaktı. Sihirli sözler de şimdilik Alibaba ve Kırk Haramilerin mağara kapısını açış şifresi olan “susam” yada orijinaliyle “simsim”. Tüm cümleyi Arapça orijinaliyle yazmak istemedim. Türkçesinde de Türkçe karakter sorunu var! (Açıl Susam Açıl) “opensusamopen” yapmak bile aklıma geldi, ama neden İngilizce diye kendime kızıp vazgeçtim!
Fakat sonra buna oyunun içinden bir görevle ulaşma izni vermek aklıma yattı.
Görev başarılınca dünyayı yönetme yetkisi elde edilir ve editör açılabilir olur!
Datayları ve çıkabilecek sorunları halâ düşündüğüm için ve oyunun daha Eşli, (Co-Up) uyumluluğu bile eklenmediği için sonraya bıraktım.
Fakat şimdi editör olsa csv haritası yerine editörden istediğim bitkiyi görerek ekebilecek. Canavarların can, silah, hız gibi tüm özelliklerini bu ekran arayüzünden kolayca değiştirebilecektim. Elbette reset tuşunu mutlaka ekleyecektim.
Oyun Raspberry Pi 5 (8GB RAM) bilgisayarımda çalışabildiği sürece geliştirmeye devam edeceğim!
Yapay zekâ ile dosya paylaşma sorunum sanıldığı kadar büyümeyecek.
Yeni eklenecek yada geliştirilecek özellikler için en artık fazla 5 veya 6 dosya yetiyor ve çoğunlukla bundan bile az.
Kodları konularına göre parçalayıp ayrı dosyalara almanın böyle bir faydası oluyor.
En sonunda oyun (!?) artık bu kadar yeter dediğim yerde.
Yapay Zekâ ile oturup neredeyse oyunun her bir satırı için detaylı bir açıklama yazıp öyle paylaşacağım ki C++ öğrenmek isteyenler yada benim gibi oyun yapmak isteyenler sorunları nasıl çözdüğümü kolayca anlayabilsinler.
Oyunu parayla satmak gibi bir düşüncem hiç olmadı.
Eski PyGame sürümünü GoogleDrive hesabımdan aylar, belki de bir yıldan fazla bir zaman önce herkese açık yapıp video açıklamalarının altına linkini ekledim.
Bunu da öyle paylaşacağım, ama bunu ayrıca “.dep” olarak paketleyip de paylaşacağım.
Paketli alanlar için o editörü eklemem, oyunun ayarlarını diledikleri gibi değiştirebilmelerini sağlayacağı için çok faydalı olacaktır. Şu anda sâdece dışarıdan oyuna uygun asset ekleyip oyunda dolaşabiliyorlar.