GDScript öğrenmeye nasıl başlayayım?

EkipConcept Artist · Pixel Artist · UI Artist · Game Designer · 44 mesaj
#1

Bu soru her yerde soruluyor ve verilen cevapların çoğu bir ders listesi. Asıl mesele sıralama, çünkü GDScript'te takılan kimse dilde takılmıyor.

Önce beklentiyi düzeltelim

GDScript öğrenmek kolay kısım. Python'a benzeyen, özellikle Godot için tasarlanmış küçük bir dil; daha önce hiç kod yazmadıysan bile bir hafta sonunda çalışan bir şey yazarsın.

Zor kısım Godot'nun kendisi: düğümler, sahneler, sinyaller. İnsanların "GDScript'i anlamıyorum" dediği şeylerin neredeyse tamamı aslında mimariyle ilgili. Bunu baştan bilirsen doğru yere kafa yorarsın.

Bir de şunu söyleyeyim: GDScript genel amaçlı bir dil değil. Onunla web sitesi ya da masaüstü uygulaması yazmazsın. Godot'nun içinde yaşar.

Sıralama

1. Dili soyut olarak öğrenmeye çalışma. "Önce programlamayı öğreneyim sonra oyun yaparım" diye başlayanların çoğu ikinci adıma hiç gelmiyor. Bir şey yaparak öğren.

2. Adım adım ile başla — altı sayfa. Bu belgeler düğüm ve sahneleri öğretiyor; söz diziminden daha önemli olan kısım bu.

3. Hiç kod yazmadıysan araya bunu koy: Learn GDScript From Zero — GDQuest'in ücretsiz ve açık kaynak kursu, 27 etkileşimli ders. Tarayıcıda çalışıyor, kurulum gerektirmiyor.

4. İlk 2B oyununu bitir — yedi bölüm, sonunda gerçekten oynanan bir oyun. Bitir, yarıda bırakma; bitirmek öğrenmenin kendisi.

5. Şimdi dilin referansına dön: GDScript belgeleri. Artık okuduğun şeyin nereye oturduğunu biliyorsun.

Buraya kadar bir ila üç hafta. Sonrası proje yapmak.

Yeni başlayanın gerçekten takıldığı dört şey

Düğüm ve sahne ayrımı. Sahne, düğümlerden oluşan bir ağaç ve aynı zamanda tekrar kullanılabilir bir parça. "Oyuncu" bir sahnedir, seviyenin içine örneklenir. Bunu kavrayana kadar her şey karışık görünür — en iyi uygulamalar bölümündeki "sahne mi script mi" yazısını erken oku.

_ready(), _process(), _physics_process() farkı. Sırasıyla: düğüm hazır olduğunda bir kez; her karede; sabit aralıklı fizik adımında. Hareket ve çarpışma _physics_process içine girer — _process içine koyarsan bilgisayarın hızına göre farklı davranır.

Sinyaller. Godot'nun "bir düğüm diğerine sabit bağlanmasın" yöntemi. Düğmeye basıldığında bir şey olmasını istiyorsan sinyal bağlarsın. Sinyaller sayfası kısa, mutlaka oku — bunu öğrenmeden yazılan kod bir süre sonra çözülmez hale geliyor.

$Yol kırılmaları. $Oyuncu/Sprite2D yazıp sonra düğümü ağaçta taşıyınca kod patlar. Çözüm: düğümleri taşımamak değil, mümkün olduğunca sinyal kullanmak ve dışarıdan erişilecek düğümleri @export ile bağlamak.

İki alışkanlık, baştan edinilsin

Statik tiplemeyi aç. var hiz = 300.0 yerine var hiz: float = 300.0 yaz. Editör sana yardım etmeye başlıyor, hataların çoğu çalıştırmadan önce yakalanıyor ve kod daha hızlı çalışıyor. Statik tipleme sayfası.

Stil rehberine uy. Değişken ve fonksiyonlar snake_case, sınıflar PascalCase. Herkesin kodu birbirine benzesin diye değil — Godot'nun kendi API'si böyle, uyduğunda kendi kodun motorun koduyla aynı görünüyor. Stil rehberi.

Yapma

  • Godot 3 dersleriyle başlama. Aramada bolca çıkıyorlar ve 4.x'te çalışmıyorlar. Adreste "/en/3." geçiyorsa ya da ders 2023'ten eskiyse Godot 3'tür. Güncel sürüm 4.7.2.
  • "Daha profesyonel" diye C# ile başlama. Neden olmadığını ayrı bir konuda yazdım.
  • Büyük bir projeyle başlama. İlk oyunun Pong büyüklüğünde olsun. Bu tavsiye klişe çünkü doğru.

Sonrası

Video, tarif koleksiyonu ve ileri kaynaklar bu odadaki Godot öğrenme yol haritasında. Motordan bağımsız programlama kaynakları Tasarım ve Zanaat odasında.

Takıldığın yerde bu odada konu aç — sürümünü yazmayı unutma.

Açıldı
Fatih ÜNAL2 hafta önce
Son yanıt
Fatih ÜNAL2 hafta önce
Yanıt
0
Görüntülenme
7
Beğeni
0
Katılımcılar
Fatih ÜNAL

Tartışmaya katılmak için giriş yap.

Hoş Geldin!

Oyun yapımındaki ekip kaosunu biliyoruz. İşte bu yüzden Devchaos var!

Devchaos, oyun geliştiricileri için kurulan bir topluluk ve iş birliği platformudur. Burada ekip arkadaşları bulabilir, projelerini paylaşabilir, anketler oluşturabilir, forumlarda etkinlik gösterebilir, yorum yapabilir, tester bulabilir ya da olabilirsin. Ayrıca gelişim sürecini takip etmek için Devlog Timeline seni bekliyor.

İlk 100 üyeye özel ayrıcalıklar!Üye olup toplulukta aktif olan ilk 100 kişi özel rozet, benzersiz profil seçenekleri ve sürpriz avantajlar kazanacak. Yalnızca üye olmak yetmez: paylaş, yaz, üret!
Hemen katıl ve yerini al!