15 Yaşında Programlama – Bir Umut Bin Emek Bir Yeni Oyun…

2 6,720

Android markette basit de olsa bir oyunumun bulunması bana biraz özgüven kazandırmıştı, yeni oyunumu tasarlarken daha ciddi yaklaşıyordum işime. Başlarda hayal kurmak serbest tabi, ama tek başıma yapabileceklerimin sınırlı olduğunu bilerek hayal etmek biraz beni kısıtlıyordu. Kafamdaki mükemmel grafiklerle ve animasyonlarla süslenmiş o oyun, iş çizim yapmaya gelince bir anda yerini bir hayal kırıklığına bırakabilirdi. Ben de bu yüzden görselliği ikinci plana atarak düşünmeye başladım. Kafamda minimalist ama geniş bir oyun olsun düşüncesi vardı, açık dünya olmalı ve oyuncuya belli bir özgürlük tanımalıydı. Küçük, kırmızı bir karakterin kendi kolonisini kurmaya çalıştığı bir oyun, iki boyutlu bir evrende platformer ve tower defence dinamikleri ile birleşse nasıl olur diye düşündüm. Ayrıca oyunumun tıpkı Minecraft gibi bloklardan oluşan bir dünyaya uyarlanması eğlenceli olabilirdi. Oyun kafamda belli miktarda şekillendikten sonra çizimlerini tasarlamaya başladım. Bloklar, düşmanlar, yan karakterler ve daha birçok element gözlerimin önünde somutlaştı, çok profosyonel olmasa da ne olduğunu anlatıyordu denebilir.

Çizimler üzerinde çalışırken kafamda bir yol haritası tasarlıyordum, ilk düşüncem oyunun haritasını tasarlayacağım bir harita editörü yazmak oldu. Benim kullandığım framework ile tam uyumlu editörler vardı ama bunları kullanmak yerine benim oyunumla tam uyumlu bir harita editörü yazmak istedim, yazdığım koda tam hakim olmak ve esnek bir şekilde istediğimi yapabilmek için elimi taşın altına koydum ve sıfırdan bir editör yazmaya başladım. Oyunumun dünyasını, her bloğun 1 byte ile temsil edildiği iki boyutlu bir dizi olarak düşündüm. Bu sayede oyunumun dünyası büyük olsa bile haritanın diskte kapladığı alan küçük oluyordu (Var olan editörlere göre %50 alan tasarrufu sağladım). Sırada her bloğu ekrana çizdirmek vardı, basit bir switch case yapısıyla blokları ayrı ayrı çizdirdim, test ettiğim dünya 100 bloktan oluşan küçük bir dünyaydı. Render işlemi başarıyla gerçekleştiriliyordu ama bunun daha büyük dünyalarda sorun çıkarabileceğinin farkındaydım. Test etmek amacıyla dünyanın boyutunu 10000 bloğa çıkardım, tahmin ettiğim gibi bilgisayarım bütün bu nesneleri ekrana çizerken zorlandı. Buna çözüm olarak sadece oyuncunun gördüğü alanların çizdirilmesini gerekiyordu, ben de birkaç ufak kontrol yapısıyla durumu hallettim. Artık performans normale dönmüştü ve ben de karakter üzerinde çalışmaya başlamıştım.

 

 

 

 

 

 

 

Oyuncunun dünyadaki tüm blokları toplayabilmesi üzerinde uzun zaman harcadım. Fakat tamamen yapılandırılabilir bir dünya oluşturmak, bana kaybettirdiği aylara değdi doğrusu… Ateş etme, zıplama gibi dinamikleri de tamamladıktan sonra oyun yavaş yavaş şekillenmeye başlamıştı. Oyunuma düşmanları ve diğer canlıları eklemek üzere kolları sıvadım. Bunun kolay olamayacağını biliyordum fakat haftalarca beni kilitleyeceğini bilmiyordum. Oluşturduğum haritada sadece 1 byte yer tutan düşmanların, oyuncunun görüş açısına girdiğinde aktif olması gerekiyordu. Kendi kendine dünyanın en dibine gidenlerle, kendini yok edenlerle ve hatta dünyadaki blokları durduk yere silenlerle (!) bile karşılaştım, yazdığım kodlar karmaşıklaştıkça işin içinden çıkması da zor oluyordu haliyle. Ama şükür ki en sonunda bunu da hallettim. Sonrasında GIST 2017 fuarına oyunumu sergilemek için yaptığım başvurunun onaylandığı haberini aldım ve bunun için bir demo hazırladım.

Fuarda oyunumun demosunu ziyaretçilere sergilemem bana birçok geri bildirim alma fırsatı sağladı. Bu öneri ve görüşleri oyunuma yedirmek için ciddi zaman harcadığım şu günlerde oyunun gerçekten değiştiğini hissediyorum. Bahsettiğim oyunum UNRECT, hala geliştirme aşamasında, umuyorum kısa zaman içerisinde tamamlayacağım… Anlattığım üzere, artık vaktimin büyük kısmını bu işe harcıyorum, ne kadar basit olursa olsun projeler üretmek bu dünyadaki en güzel şeylerden birisi. Umuyorum, ülkemiz de gerek oyun gerek yazılım alanında iyi yerlere gelecek…

2 Comments
  1. Coder olmaya çalışan çocuk says

    Ben 13 yaşındayım.Allah izin verirse gelecek sene bende oyun yaratmaya başlayacağım.İnşallah başarılı olursun yeni oyunun olan unrecte.Bu oyunun ne zaman piyasaya çıkacağı hakkında bilgi verebelir misin?

    1. Sedat Güç says

      Güzel sözlerinden ötürü teşekkürler, umarım her şey yolunda gider ve planladığın şekilde oyunlarını tasarlarsın 😉
      Unrect eğer bir aksilik olmazsa bu yılın son çeyreğinde Steam üzerinden yayınlanacak. Güncel haberleri sosyal medya üzerinden takip edebilirsin.

      Başarılar dilerim,

Email adresiniz yayınlanmayacaktır.