Torque Game | 4. Aşama

UPBGE ile oyun geliştirme sürecimin 4. aşamasında özel olarak yeri belirlenebilen checkpoint sistemini, bir kısım parçacık efektlerini, karakterin ölünce yeniden başlamasını ve daha birçok şeyi yaptım.


İndir “UPBGE Torque Game | Step 4” Torque_Game_Step_4.rar – 10 defa indirildi – 26 MB


LICENSE / LİSANS


Hami Cihat SERTCAN isimli yazarın Torque Game Step 4 başlıklı eseri bu Creative Commons Atıf-GayriTicari-AynıLisanslaPaylaş 4.0 Uluslararası Lisansı ile lisanslanmıştır.
https://hamisertcan.com/2020/06/14/oyun-yapimi/ bağlantısındaki esere dayalı olarak.


Bu aşamada anlatabileceğim birçok şey var aslında. Kısaca yaptıklarımı açıklamaya çalışayım.

Checkpoint sistemi

Oyunda birçok defa başarısız olma ihtimalimiz olacağı için checkpoint sistemine ihtiyaç vardı. Bu checkpoint noktaları önceden benim belirlediğim yerlerde olabilirlerdi ancak ben ölünce karakterin nereden başlayacağının seçimini de oyuncuya bırakmak istedim. Tabi sınırsız sayıda checkpoint noktası oluşturmak oyunu çok kolay hale getirirdi. Bu sebeple oluşturabileceğimiz checkpoint sayısını kontrol edecek bir şey olmalıydı.

Bu tarz oyunlarda genelde sahnedeki objeleri (altın, elmas vs) toplama ve bu sayede puan kazanma şeklinde bir özellik olur. Ancak toplanan puanlar çok da bir işe yaramaz, sadece oyunun bitiminde oyuncunun başarısını değerlendirmede kullanılırlar. Ben onun yerine toplanabilen objeler ile checkpoint yerleri oluşturmayı düşündüm.

Sahnedeki birden çok objeyi tek bir yazılım ile yönetmek

Checkpoint noktaları için obje toplama fikri güzeldi ancak toplanabilecek objelerin de hiç hareket etmeden oyunda durmalarını istemiyordum. Toplanabilecek objeler z ekseninde sürekli dönsünler istedim. Bunun için blender da çok fazla seçenek var. Basitçe mevcut objeye sürekli çalışan bir motion çalıştırıcı bağlayıp sorunu çözebilirdim ya da bu objelere bir animasyon ekleyip bu animasyonun döngü halinde oynatılmasını sağlayabilirdim. Ancak ben daha farklı bir yolla bu işi yapmak istedim. Az önce saydığım yöntemlerin hepsinde logic bağlantı yapmak gerekiyor. Bu objelerden birden sahneye birden çok tane ekleyeceğime göre eklediğim obje adedince logic bağlantılarımın sayısı da artacak demektir.

Blender oyun motorunda oyun yapımı aşamasında ne kadar çok logic bağlantı yapılmışsa oyun motoru o kadar zorlanır. Dolayısıyla mümkün olan en az logic bağlantının yapılması gerekir.

Parçacık sistemi yapımını yazımda objelere işlem yaptırabilmek için objeleri tanımlayan özelliklere ihtiyaç duyduğumuzu bu özelliğinde en basit haliyle objenin adı olduğunu açıklamıştım. Hazırlayacağım yazılım içinde sahnedeki objelerin isimlerini kullanarak onlara rotasyon hareketi yaptırabilirdim. Ancak obje sayısı çok olacağından bütün objeleri kod içerisinde tanımlamam çokta pratik olmayacaktır. Bu sorunu çözmek için, objelerin isimlerinin sadece son kısımları sistematik bir şekilde farklı olacak şeklde, objeleri benzer isimli yaptım. Sonra bu objelerin hepsini bu sistematiğe göre kod içerisinde bir matrise depoladım. Sistematiği arada bozacak yanlışlıkla silinmiş objeler içinde ekstra bir güvenlik kodu ekledim. Artık bütün objeler matris içerisinde depo edildiklerine göre bu objelere for komutu ile rotasyon işlemi yaptırabilirdim.

Oyunun kayıt edilmesi

Daha önceden oyunu kaydetmek için internette araştırma yaparken son derece faydalı olabilecek bir videoya denk gelmiştim. Bu çalışmayı ben de UPBGE içerisinde denedim ve kodun çalıştığını teyit ettim. Bu kodları hem oyunu kaydetmede hem de oyun içerisindeki checkpoint noktalarında kullanabilirdim. Basitçe açıklamak gerekirse kod kaydetme ve yükleme kısımlarından oluşuyor. Oyun içerisinde checkpoint oluşturma hakkımız varsa ve c tuşuna belirlenen süre basılırsa kayıt işlemi yapılıyor ve objenin o anki konumu bir not defteri dosyasına kaydediliyor. Karakter öldüğünde ise kaydedilen veri tekrar okunuyor ve objenin konumu bu veriye göre değiştiriliyor.

Görüntü efektlerinin yapımı

Oyunda kullandığım efektleri daha önce sizlerle de paylaştığım parçacık sistemi ile yaptım. Bu noktada beni gerçekten mutlu eden sonuçlar aldığımı söyleyebilirim. Efektlerin hazırlanmasında zorlanmadım ve herhangi bir problemle de karşılaşmadım.

Ses efektleri

Aslında ses efektleri en son yapılıyor genelde ancak ben basitçe birkaç ses efekti şimdiden eklemeyi düşündüm. Bu noktada freesound.org dan bulduğum CC0 lisanslı birkaç ses efektini kullandım ancak bu efektler nihai efektler olmayabilir sizden gelen yorumlar doğrultusunda efektleri değiştirebilirim.

Bir cevap yazın