SSE
Go to file
2025-09-01 21:21:39 +03:00
src first commit 2025-09-01 21:21:39 +03:00
.gitignore first commit 2025-09-01 21:21:39 +03:00
build.zig first commit 2025-09-01 21:21:39 +03:00
build.zig.zon first commit 2025-09-01 21:21:39 +03:00
README.md first commit 2025-09-01 21:21:39 +03:00

🟢 Yelbegen - Zig Oyun Motoru

Yelbegen, öğrenme ve deney amaçlı olarak geliştirilen modüler bir oyun motorudur.
Motor, Zig programlama dili kullanılarak yazılmakta ve Raylib ile RayGUI kütüphanelerini kullanmaktadır.


🎯 Projenin Amacı

  • Zig dilini öğrenmek ve oyun motoru altyapısı geliştirmek
  • Modüler bir yapı ile 3D sahne, GUI ve kamera yönetimi denemeleri yapmak
  • Basit fizik, input ve rendering sistemlerini test etmek

🗂 Dosya Yapısı (Örnek)

Yelbegen/
├─ src/
│ ├─ main.zig # Ana giriş noktası
│ ├─ graphics/
│ │ ├─ base_drawers.zig # Temel çizim fonksiyonları
│ │ └─ gui.zig # GUI yapıları ve panel çizimi
│ ├─ scene/
│ │ └─ camera.zig # Kamera ve sahne yönetimi
│ └─ modules/
│ └─ ... # Gelecek modüller
├─ build.zig # Zig build dosyası
└─ README.md

Her modül kendi işlevini yönetir ve gerektiğinde diğer modüllerle iletişim kurar.


Zig Diline Kısa Bakış

Zig, sistem programlama dili olarak tasarlanmıştır ve Cye benzer bir yapıya sahiptir.

Öne çıkan özellikleri:

  • 🔹 Performans odaklı: C kadar hızlı, düşük seviyeli kontrol sunar
  • 🔹 Bellek güvenliği: Pointer kullanımı daha güvenli, hata tespit mekanizmaları mevcut
  • 🔹 Basit ve okunabilir: Karmaşık makro veya preprocessor yok
  • 🔹 Cross-compilation kolaylığı: Farklı platformlar için derleme kolay
  • 🔹 Compile-time hesaplama: Pek çok işlem derleme sırasında yapılabilir

Daha fazla bilgi: https://ziglang.org


📝 Yapılacaklar Listesi (TODO)

  • Temel GUI sistemi oluşturmak
  • Kamera ve 3D sahne yönetimi
  • Basit nesne çizimleri (Cube, Plane vb.)
  • FPS / performans göstergesi
  • Kullanıcı input yönetimi
  • Basit fizik motoru (çarpışma ve hareket)
  • Modüller arası veri yönetimi
  • Raylib + RayGUI entegrasyonu

🎮 Kullanım

Şu anda proje sadece deneme ve öğrenme amaçlıdır.
İlerleyen aşamalarda çalıştırılabilir bir örnek eklenecektir.

zig build run

🔗 Katkıda Bulunmak

  • Kod eklemek, modülleri geliştirmek ve fikirler paylaşmak için pull request açabilirsiniz.

  • Zig diline ve Raylib kullanımına aşina olmak katkıyı kolaylaştırır.

main.zig
 ├─ graphics/
 │   ├─ base_drawers.zig
 │   └─ gui.zig
 ├─ scene/
 │   └─ camera.zig
 └─ modules/
     └─ ... diğer modüller
  • main.zig → Oyun motorunun ana akışı

  • graphics/ → Çizim ve GUI modülleri

  • scene/ → Kamera ve sahne yönetimi

  • modules/ → Gelecekte eklenebilecek sistemler