Godot'u, GDScript'in temelini ve oyun geliştirme kavramlarını sırayla ve bağlantılı biçimde öğren.
LearnGodot, oyun geliştirmeye yeni başlayanların Godot'ta karşılaştıkları teknik kavramları yalnızca ezberlemek yerine neden var olduklarını, birbirleriyle nasıl bağlantı kurduklarını ve Godot içinde nerede kullanıldıklarını anlayarak öğrenmelerine yardımcı olmak için geliştirilen ücretsiz bir öğrenme projesidir.
Projenin önceliği bir terim sözlüğü olmak değil, “Bu kelime ne demek ve neden şimdi karşıma çıktı?” sorusunu mümkün olduğunca ortadan kaldıran yönlendirilmiş bir öğrenme deneyimi oluşturmaktır.
LearnGodot şu anda üç alanı birlikte ele alır:
- GDScript temelleri — değişkenler, veri tipleri, fonksiyonlar, koşullar, döngüler ve diğer temel programlama kavramları.
- Godot'un çalışma mantığı — Node, Scene, Script, SceneTree, Signal, Input, fizik ve Godot'a özgü temel yapılar.
- Oyun geliştirme kavramları — vector, collision, UI, animation, save/load, AI, audio, multiplayer, debugging, Git, build, prototype, MVP ve daha fazlası.
Bu nedenle mevcut 14 derslik yol, yalnızca bir GDScript syntax kursu değildir. Amaç; Godot öğrenirken eğitimlerde, dokümantasyonda ve gerçek projelerde karşılaşacağın kavramları anlayabilecek sağlam bir temel oluşturmaktır.
-
Godot'a Başlangıç
Godot nedir, editörde ne görürsün ve bir oyun projesi hangi parçalardan oluşur? -
GDScript Temelleri
Değişken, veri tipi, fonksiyon, koşul ve döngü gibi kodun temel yapılarını öğren. -
Node ve Scene'leri Anlamak
Godot'ta bir oyunun Node'lardan, Scene'lerden ve Script'lerden nasıl kurulduğunu öğren.
-
Oyun Nasıl Güncellenir?
Frame, delta, input ve temel event/signal mantığını öğren. -
Konum, Yön ve Vector
Bir nesnenin nerede olduğunu, hangi yöne gittiğini ve mesafeyi nasıl düşündüğünü öğren. -
Hareket ve Çarpışma
Karakter hareketini, çarpışmaları ve fizik nesnelerinin nasıl davrandığını öğren.
-
Görseller, Kamera ve Animasyon
Sprite, kamera, animasyon ve oyunun ekranda nasıl gösterildiğiyle ilgili temel kavramları öğren. -
Arayüz Yapmak
Menü, HUD ve farklı ekran boyutlarına uyum sağlayan arayüzlerin temel mantığını öğren.
-
Veriyi Kaydetmek ve Kodu Düzenlemek
Oyun verisini düzenlemeyi, kaydetmeyi ve büyüyen projelerde sistemleri ayırmayı öğren. -
Oyun Mekanikleri ve AI
Spawn, rastgelelik, pathfinding ve AI gibi oyun sistemlerinin temel mantığını tanı. -
Ses ve Multiplayer'a Giriş
Audio, client/server, ping ve RPC gibi temel ses ve multiplayer kavramlarını öğren.
-
Hata Bulma ve Performans
Debugger, profiler, CPU/GPU ve performansla ilgili temel kavramları öğren. -
Git, Build ve Oyunu Yayınlamak
Kod değişikliklerini takip etmeyi, export/build sürecini ve yayınlamanın temelini öğren. -
Oyunu Planlamak ve Bitirmek
Prototype, MVP, project scope, iteration ve playtest gibi üretim kavramlarını öğren.
Bir kavram yalnızca kısa bir tanımla bırakılmaz. Guided derslerde uygun olduğunda şu yapı kullanılır:
- 30 saniyede: Kavramın sade açıklaması
- Buraya nasıl geldik?: Önceki konu ile bağlantısı
- Zihinsel model: Kavramı kafada canlandırmaya yardımcı örnek
- Neden gerekli?: Çözdüğü problem
- Godot / GDScript bağlamı: Gerçekte nerede karşına çıkar?
- Somut örnek ve kod: Yalnızca gerçekten öğreticiyse
- Bilmediğim Terimler: Sayfadan ayrılmadan kısa açıklamalar
- Bunu duyarsan tanı: İlişkili fakat henüz ana konu olmayan kavramlar
- Yaygın hata: Yeni başlayanların sık karıştırdığı noktalar
- Kendini kontrol et: Küçük kavrama soruları
- Önceki / Sonraki: Net ve sıralı ilerleme
- Ders özeti: Öğrenilen parçaların birbirine nasıl bağlandığı
Temel fikir basit:
Bir kavramı açıklarken, onu anlamak için henüz bilmediğin başka beş kavramı bilmek zorunda kalmamalısın.
LearnGodot yalnızca derslerden oluşmaz. Projede yüzlerce Godot, GDScript ve oyun geliştirme terimini içeren yapılandırılmış bir içerik veritabanı da bulunur.
Terimler iki seviyede ele alınır:
- Core: Gerçekten öğrenmen gereken temel kavramlar
- Recognize: Şimdilik duyduğunda tanıman yeterli olan kavramlar
Teknik terimlerin İngilizce karşılıkları özellikle görünür tutulur. Amaç Türkçe öğrenirken gerçek Godot dokümantasyonunda karşılaşacağın İngilizce terminolojiden kopmamaktır.
- Sıralı beginner learning path
- Guided lesson ekranları
- Core / recognize kavram ayrımı
- Bağlamsal quick-term açıklamaları
- Kavramlar arası bağlantılar
- Global terim araması
- Glossary
- Favorites
- Review queue
- Quiz sistemi
- Ders ve terim ilerleme takibi
- Dark / light görünüm
- Responsive arayüz
- LocalStorage ile yerel ilerleme
- Hesap veya backend gerektirmeyen kullanım
- Türkçe içerik
- Gelecekte İngilizce içerik eklenmesine uygun locale-ready mimari
Proje özellikle basit tutulur:
- HTML
- CSS
- Vanilla JavaScript
- LocalStorage
- Hash router
Framework, npm, backend veya build sistemi gerekmez.
Uygulama doğrudan yerel olarak çalışabilecek şekilde tasarlanmıştır.
En basit kullanım:
- Repoyu klonla veya indir.
index.htmldosyasını aç.- Öğrenmeye başla.
İstersen projeyi basit bir yerel HTTP sunucusuyla da çalıştırabilirsin; ancak uygulamanın temel mimarisi bir build sürecine ihtiyaç duymaz.
LearnGodot aktif olarak geliştiriliyor.
Şu an öncelik:
- 14 derslik Türkçe guided-learning yolunu tamamlamak
- Kavram bağımlılıklarını ve pedagojik sıralamayı iyileştirmek
- Quiz ve review deneyimini geliştirmek
- Mini pratikler ve kavram karşılaştırmaları eklemek
- Türkçe sürüm oturduktan sonra İngilizce içerik katmanını hazırlamak
Daha ileri aşamalarda ayrı ve daha derin bir GDScript öğrenme yolu eklenmesi de planlanabilir.
Godot öğrenmeye başlarken sorun çoğu zaman yalnızca “kodu bilmiyorum” değildir.
Bir eğitimde aynı anda şu kelimeleri duyabilirsin:
Node, Scene, Script, Signal, delta, Vector2, Collision, Resource...
Her birinin sözlük tanımını okumak, bunların neden birlikte kullanıldığını anlamakla aynı şey değildir.
LearnGodot'un hedefi bu boşluğu kapatmaktır:
Tanımı ezberlemek yerine kavramı anlamak.
Şu anda ana eğitim dili Türkçedir.
Uzun vadede LearnGodot'un Türkçe ve İngilizce içerik sunması hedeflenmektedir. Canonical kavram kimlikleri dilden bağımsız tutulduğu için dil değişse bile ilerleme, favoriler ve tekrar verileri aynı kavramlarla ilişkilendirilebilir.
LearnGodot, Godot topluluğuna faydalı ve erişilebilir bir öğrenme kaynağı oluşturma amacıyla geliştiriliyor.
İçerik hataları, anlaşılması zor açıklamalar, pedagojik sıra problemleri ve geliştirme fikirleri özellikle değerlidir. Proje olgunlaştıkça katkı süreci ayrıca belgelenecektir.
- Yeni başlayan gözüyle yaz.
- Tanımdan önce anlamayı hedefle.
- Gereksiz teknik jargon üretme.
- Teknik İngilizce karşılıkları gizleme.
- Bir kavramı başka bilinmeyen kavramlarla açıklama.
- Öğrencinin her zaman “şimdi ne yapacağım?” sorusunun cevabını görebilmesini sağla.
- İçeriği kapsamlı tutarken öğrenme yolunu sade tut.
LearnGodot — Godot'u terimleri ezberleyerek değil, parçaların nasıl birleştiğini anlayarak öğren.