Ben ortopedik engellisiyim ve oyun yapma maceramı kaleme aldım ve bu forumda paylaşmak istedim.

Esenlikler dilerim, bugün sana Nasıl Oyun Yapıyorum? Ondan bahsedeceğim, bahsederken de arka planına detaylıca inmeye çalışacağım.
Bu haftanın iki günü maalesef yazamadım. Zamansızlıktan çok üşendiğim için yazamadım.


Yazıyı ele alırken ilk baş çizim kısmından bahsetmek istiyorum. Inkscape adlı yazılımla çizimlerimi yaparken, 5x5 olarak bir daire çizerim. Daha sonra daireyi yapacağım nesneye göre planlayıp tamamen kopyala + yapıştır sistemiyle yapıyorum ama bu sistem biraz hatalara sebep oluyor.

Sanırım doğru hesaplamadığım için sevemedim. Bir de aynı programla başka bir metod bulmak istiyorum. Umarım aradığım kolay metodu bulurum, eğer bulamazsam Krita'yı öğrenmeye başlayacağım. Bir gözümde o programa doğru kayıyor.

Çizim tamamen bittiğinden emin olduğumda çizimi renklendiriyor ve arkasından birleştirmeden yedekliyorum ve daha sonra birleştiriyorum. O birleştirmenin ardından resmi çıktı alma ekranında 64x64 ve ya kullanacağım boyutu yazarak onaylıyorum. Daha sonra çıktıyı alıyorum ve oyuna aktarıyorum.



Grafiksel işi bittikten sonra, çoğu zaman işkence olarak görsem de oyun üreteceğimi bildiğim için es geçiyorum. Oyuna aktarmak için iki yol var, ya Nesne Ekle > Sprite olarak nesneyi bulup eklemek ya da diğer yol, aynı zamanda en sık kullandığım yoldur kendisi. Nesneyi sürükleyip oyuna aktarmaktır.
Daha sonra aktarınca kodları yazmadan önce kaydederim ve arkasından oyunun kaynağını .zip olarak bir üst dizinde tutuyorum, kod eklerken hatalı kodlar bazen beni caydırıyor ve düzeltemezsem geri dönmek için ihtiyacım oluyor, o yüzden yedeklemek şart.

Arkasından kodları yazıyorum ve deniyorum, olana kadar deneme + yanılma ile yazıyorum kodları. Bazen algoritmayı anında kurabiliyorum ve bazen de hiç kuramıyorum. Kodları yazarken, bodoslama dalıyorum ve plansız değil tabii ki.

Planlarıma uygun giderim, mesela bugün nesneler çizilip eklenecektir yazdıysam onu mutlaka yapar ve oyuna aktarıyorum. Daha sonra o nesneleri bölümlere de ekliyorum. Hatta oyuna eklediğim nesneleri denemek için oyun içinde test odası var. Bu odada ki nesneleri oyunda hemen göremeyeceğim için gerekli olduğu için yaptım.

Son olarak, oyundaki hataları giderirken. Oyun motorun Debug moduna başvuruyorum ve çoğunluğunu onun sayesinde gideriyorum. Bazen hatayı anlamam zaman alıyor, özellikle pause sonucu oluşan saçma hatalar.
Bunun dışında oyundaki özellikleri yazarken global variable tekniğine başvruyorum, çok hayat kurtarıyor. Bu hayat kurtaran sistem, karakter şunu alınca ne yapacağını onun sayesinde yazabildim. O sistem olmasaydı, büyük ihtimalle başka bir metodu illa ki olurdu.
Sonuçta oyun motoru bir araçtır, kullanmayı bilen şah eserler yaratır. Kullanmayı bilmeyen, dünyanın eniyi oyun motorunu koy önüne bir şey yapamaz.
Bugünlük benden bu kadar.