Skip to content

Repository files navigation

LearnGodot

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.


Neler öğretiyor?

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.


Öğrenme yolu

Başlangıç

  1. Godot'a Başlangıç
    Godot nedir, editörde ne görürsün ve bir oyun projesi hangi parçalardan oluşur?

  2. GDScript Temelleri
    Değişken, veri tipi, fonksiyon, koşul ve döngü gibi kodun temel yapılarını öğren.

  3. Node ve Scene'leri Anlamak
    Godot'ta bir oyunun Node'lardan, Scene'lerden ve Script'lerden nasıl kurulduğunu öğren.

Oyunu Hareket Ettir

  1. Oyun Nasıl Güncellenir?
    Frame, delta, input ve temel event/signal mantığını öğren.

  2. Konum, Yön ve Vector
    Bir nesnenin nerede olduğunu, hangi yöne gittiğini ve mesafeyi nasıl düşündüğünü öğren.

  3. Hareket ve Çarpışma
    Karakter hareketini, çarpışmaları ve fizik nesnelerinin nasıl davrandığını öğren.

Görsel ve Arayüz

  1. Görseller, Kamera ve Animasyon
    Sprite, kamera, animasyon ve oyunun ekranda nasıl gösterildiğiyle ilgili temel kavramları öğren.

  2. Arayüz Yapmak
    Menü, HUD ve farklı ekran boyutlarına uyum sağlayan arayüzlerin temel mantığını öğren.

Oyun Sistemleri

  1. Veriyi Kaydetmek ve Kodu Düzenlemek
    Oyun verisini düzenlemeyi, kaydetmeyi ve büyüyen projelerde sistemleri ayırmayı öğren.

  2. Oyun Mekanikleri ve AI
    Spawn, rastgelelik, pathfinding ve AI gibi oyun sistemlerinin temel mantığını tanı.

  3. Ses ve Multiplayer'a Giriş
    Audio, client/server, ping ve RPC gibi temel ses ve multiplayer kavramlarını öğren.

Geliştirici Olarak Çalışmak

  1. Hata Bulma ve Performans
    Debugger, profiler, CPU/GPU ve performansla ilgili temel kavramları öğren.

  2. Git, Build ve Oyunu Yayınlamak
    Kod değişikliklerini takip etmeyi, export/build sürecini ve yayınlamanın temelini öğren.

  3. Oyunu Planlamak ve Bitirmek
    Prototype, MVP, project scope, iteration ve playtest gibi üretim kavramlarını öğren.


Guided Learning yaklaşımı

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.


Terimler ve sözlük

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.


Özellikler

  • 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

Teknoloji

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.


Çalıştırma

En basit kullanım:

  1. Repoyu klonla veya indir.
  2. index.html dosyasını aç.
  3. Öğ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.


Proje durumu

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.


Neden LearnGodot?

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.


Dil

Ş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.


Katkı

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.


Proje felsefesi

  • 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.

About

Türkçe Godot ve GDScript öğrenme platformu. Godot'u ve oyun geliştirme kavramlarını başlangıç seviyesinden, bağlantılı ve interaktif şekilde öğren.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages