Merhaba iyi geceler. İlk defa başladığınızda taklit ederek bir şeyler yapmak kod ezberlemek değil aslında. Bir yerden sonra kafanızda yer ediniyor ve bir şeyi yapmanın yolu olarak aklınıza gelebiliyor. Aslında tecrübe denilen şeyin de çoğu daha önce bir şekilde yapmış olup nasıl yapacağınıza dair aklınıza bir şeyler gelmesi.
Dili öğrenmek için kurstan ayrı olarak Unity için özel C# kurslarından alabilirsiniz (iyi yorumlu olanlardan tabii) çünkü C# bir derya deniz ve bir sürü şey için kullanılıyor. Unity dışında kullanılan kısmını şu aşamada öğrenmek daha zor olabilir. O kurslarda anlatılan şeyleri anlayana kadar kendiniz tekrar edebilirsiniz. Ya bu kod burada ne yapıyor diye anlamakta zorlandığınızda chat GPT'ye verip satır satır naptığını açıklatabilirsiniz. Ancak lütfen öğrenme esnasında algoritmaları GPT'ye yaptırıp geçmeyin. Önemli olan sizin yapmanız.
Temel programlamayı anlamakta zorlanıyorsanız bir şeyi yapmadan önce kağıt kalem ile tasarlamak faydalı olabilir. Örneğin yıldız sistemi yapacaksınız. Bunun için adımlarınızı kağıda dökün. Mesela şöyle başlayalım. Her düşman öldüğünde düşmanın seviyesi kadar yıldız ekleyeceğiz. Ve yıldızımız 100'ü aşınca seviye atlayacağız.
1. Adım düşmanın öldüğü yer neresi ise oraya giderek oyuncumuzun yıldızını kontrol eden yere erişelim. Nasıl erişeceğiz? Belki get component kullanarak belki singleton kullanarak belki başka bir şey. O erişme işi projenize göre değişir. Eriştikten sonra düşmanımın seviyesini tutan değişkeni alıp bu koddaki YıldızEkle(int mevcutSeviye) fonksiyonuna yollayalım
2. Playerımıza eriştik. Şimdi sıra YıldızEkle fonksiyonunu yazmakta. Az önce düşündüğümüz yıldız şartını uygulayalım. Mevcut yıldızı bir yerde bir değişkende tutuyorduk. O zaman yapmamız gereken bu yıldıza mevcut seviye değişkeniyle gelen şeyi eklemek ve eğer seviyem 100'den büyükse level atla() fonksiyonunu yazmak. Bunu nasıl c# a dönüştüreceğinizi deneye deneye bulun.
3. Şimdi seviye atlama kısmı. Burada UI güncellenir efektler oynar vs...
Gördüğünüz gibi adım adım napacağınızı düşünüp sorunu ufak adımlara bölmek ve ilerlemek bence daha faydalı. Oyun yapmayı tutorial ile öğrenmenin güzel yanı da her adımda yeni bir problemi ufak parçalar ile çözmeleri. İlk başta onları anlayarak takip etmeye çalışın. Anlamadığınız yerde yorumlarda, chat GPT ile ya da burada diğer insanlara sorarak yardım alın. Ve taklit ederek öğrenmeye çalışın. O aşamada sadece baka baka yazmanın bir zararı yok. Bir yerden sonra daha net anlamaya başlıyorsunuz bazı şeyleri. Sadece uğraşıp zaman vermeniz lazım kendinize.
Unity'nin eski kahramanı. Şimdilerde codemonkey de epey iyi tutoriallar yapıyor ama üst seviye biraz daha. Yine de brackeysin ve onun her konudaki tutoriali bayağı öğretici bence. Bu arada ben de bir ricada bulunarak
Oyunumuz Swing Into Zero-G'nin Steam sayfası yayında! oyunumu wishliste eklemenizi rica edeceğim