| src | ||
| .gitignore | ||
| build.zig | ||
| build.zig.zon | ||
| README.md | ||
🟢 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 C’ye 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