Nasil Oyun Yapabilirim?

Nasil oyun yapabilirim veya oyun yapmaya ve gelistirmeye nereden baslamaliyim? Soruları sıklıkla soruluyor bu gibi konuları konuştuğumda sıkça rastladıgım dusunce “Ben  Call of Duty / Everquest / MıneCraft . Clash of Clans ve benzeri bir oyunları nasıl yapabilirim? Bu oyunların her biri sonsuz karmaşık sistemlerden oluşmaktadır ve deneyim, tecrube, zaman gerektiren oyunlardır. Bu tur oyunlari yapmak icin kucuk oyunlarla ve adım adım başlamak gerektiğini düşünüyorum böylelikle daha sağlam bir temel ve bilgi birikimi olacaktır. Oyun programlamaya baslamadan once makaleler, kitaplar, oyun ornekleri, ornek kodlar, oyun mantiklari gibi bilgiler okuyarak baslamakta yarar var.

İkinci olarak, tavsiyem sadece beklentileri gerçekçi tutmak olacak .Clash of Clans, Call of Duty gıbı oyunlar milyon dolarlık bütçeleri olan uzman ekipler tarafından düşünülmüş ve geliştirilmiştir. Daha da önemlisi, bu oyunların düsünce ve geliştirme aşamasında deneyimi oldukça yüksek ekiplerden oluşmaktadır. Bu insanlar sadece hadi bir oyun yapalım ve hit bır oyun olacak düşüncesiyle bu yola çıkmamışlardır basarisiz da olabilirlerdi. Yukarıda da dediğim gibi küçük başladılar ve ve çok çalıştılar. Tekrar etmek, Tekrar etmek ve Tekrar etmek cok tekrar cok calismak, cok okumak, ve denemek. Angry Birds oyunu Rovio firmasinin 54. oyunudur ve onlar 54. oyunlarinda hit oldu ve tum dunyada etkili oldu. Bir baska ornek Fifa 2016- Fifa 98 oynarken adamlarin icinde gecip gol atilabiliyordu fizik hareketleri sinirliydi gercekci degildi. Fakat yil 2015’e gelindiginde Fifa 2016 versiyonu ile artik bir cok sey asilmis oyunun tamami yapay zeka tarafindan yonetiliyor her ne kadar biz oynayip gol attigimizi bizim kontrolumuzde oldugunu sansak da dedigim gibi oyunu tamamen yapay zeka yonetiyor(AI) demek istedigim zaman icinde denemelerle gelistirdiler muhendisler, kullanicilar, pazarlamacilar bu surec icinde oyunlariyla birlikte kendilerinide gelistirdiler bizim amacimizda kucuk baslayip karmasik oyunlara kendimizi hazirlamak temelimizi saglam tutmak.

Kucuk baslayarak yapilari, oyunun kurallarini, neler gerektigini, nasil gercekci olacagini, fizik kurallarini vs… gibi detaylara kucuk kucuk baslayarak ogrenebilir ve gelistirebilirsiniz. Ufak da olsa basladiginiz oyun projenizi kesinlikle bitirin nefret etseniz bile bilin ki cok sey ogreneceksiniz.

Nereden Baslamaliyim?

TetrisTetris.

Tetris guclu bir oyun olup oyun geliştiricisi olma yolunda yolculuğunuza başlamak için mükemmel bir oyun. Neden? Tetris her oyunda bulunan tüm unsurları içeren ve işin hemen en az miktarda yapılabilen bir oyundur. Ayrıca, iyi görünümlü bir Tetris oyunu yapmak için bir sanatçı olmak zorunda değilsiniz. hazir asset’ler ile  programlayabilirsiniz fakat en dogrusu renkler ve bloklar icin array’ler + matrisler kullanilmasidir.

Tetris oyununun büyük faydalarından bir diğeri ise,  Eglenceli, bagimlilik yapmasi ve para kazanilmasi yuksek bir oyundur, fakat temelde siz baslarken hedefiniz ticari kazanc olmasin.. Oyun nesneleri 4 bloktan farkli renklerde olusuyor yukarida da dedigim gibi matrisler ve array’ler ile gelistirebilirsiniz.

Tetris oyunun tum bilesenleri hemen hemen ortak kullanilabilir diyebiliriz. Bir oyun döngüsu (oyun alanindan çıkana kadar defalarca tekrarlama işlemine) sahiptir. Oyun döngüsu, girdi, cikti process’ler, kazanmak / kaybetmek gibi oyunun unsurları vardir arti olarak da düşen tetris nesnelerinin update yani guncellenmesi gerekir.

Her oyun öğrenme sürecini ve her oyun yapimi aslında cok önemlidir. Bu oyunu tamamladiginizda/tamamladıktan sonra, size gelecekteki oyunlar hakkinda ne kadar zor oyunlar yapabileceginizi ve derin fikirler verecektir. Daha büyük projelerde de fikir sahibi olacak nasil baslamaniz gerektigini dusunebilme yetenegi kazanacaksiniz.

 

Siradaki Ne?

Breakout

Blocked

Tetris bittikten sonra Breakout adi verilen oyuna geciyoruz.

Breakout de benzer bir oyun ama Tetris de gerekli olandan çok daha ileri çarpışma (collision) algilamalari var. Ayrıca ana karakter olan simdilik buna raket diyorum 🙂 ve ust tarafta bulunan bloklardan olusan aralari kapali diger taraflari acik olan top carpmalarinda yok olan puan alinan, fizik hareketleri bulunan guzel ve bir cok ozellikle fizik hareketlerinin ogrenilmesi icin yararli bir oyun.

Ayrica seviyeler de ekleyerek zorluk sahnelerini ekleyebilirsiniz topun hizlanmasi veya bloklarin hareket ettirilmesi gibi.

 

Pac-Man

Pac Man

Breakout oyununu bitirdikten sonra Pac-Man oyununa gecebilirsiniz. Artik bu oyunda bir takim yapilar fizik hareketleri, carpismalar, seviyeler, davranislar, az da olsa oturmus olacaktir. Bu oyunda düşman nesnesine  yapay zeka (AI) Pathfinding eklenecektir. Pac-Man oyunuyla birlikte inanilmaz gelisme katedeceksiniz. Farkinda olmayabilirsiniz, ancak orijinal Pac-Man dört farklı hayalet dusmanlardan olusan bir takım olarak sizi yenmeye calisiyor. Saldırganin hedefi dogrudan siz olacaksiniz ve sizi bulmasi için en kısa yolu takip ederek sizi bulmaya calisacaktir. Sizi bulmasi icin en kisa mesafeyi hesaplayacak ve engelleri asarak bulacaktir.

Bu oyunda kullanacaginiz en kisa mesafe bulma algoritmasi olan Pathfinding kullanilacaktir. Ve sonrasinda bunu nasil kullanacaginizi ogreneceksiniz gelismis oyunlarda diger algoritmalari implemente etmeniz kolaylasacaktir.

Pac-Man, kullandiginiz haritayi daha karmasik hale getirebilirsiniz, Kullandiginiz algoritma yukarida da bahsettigim gibi en kisa yolu bularak size gelecektir karmaşıklığını ve oyunu keyifle hale getirmek icin ses ekleyebilirsiniz. Dusman sesi, ana karakter sesi, kaybedildiginde, kazanildiginda farkli sesler ekleyebilirisiniz.

 

Super Mario

Super-MarioSon oyunda ise Super Mario yapmanizi tavsiye ediyorum. Bu oyunda yapmaniz gereken bir platform, parallax (efekti sahnenin arka planda kayidirlmasi), dusmanlar, saga ve sola hareket ettirilmesi carptigi takdirde olmesi, ana karakterimizde ise atlamak, saga ve sola kontrol ettirmek, puanlar almak ve düşmanları ile etkileşim kurmak . Bu oyunda hazir sprite’lar kullanabilirsiniz. Gecmis oyunlarda yaptiginiz oyunlardaki ozellikler bu oyunda toplanmistir.

Bu oyunlari dil bagimsiz gelistirebilirsiniz hangi dilde en iyi performansi verecekseniz o dil ile gelistirmenizi tavsiye ederim. Oyunlari bitirdikten sonra gelistiginizin ve farkli denemeler yapacaginiza inaniyorum. Tum bu ornekler icinde fizik hareketleri, yapay zeka, carpismalar, sesler, blok kontrolleri gibi detaylari ogrenebilirsiniz. Ilerleyen zamanlarda daha karmasik ornekleri vermeye ne nasil yapilacagina deginecegim.

Bu yazı Oyun kategorisine gönderilmiş ve , , , , , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir