İçeriğe geç
Bircan Görür
Staja açığım — Bahar 2027
← Tüm çalışmalar

Sedora Skies

Süzülen bir adada geçen sakin, keşif odaklı bir yaşam ve çiftlik simülasyonu.

Aktif geliştirme

Rol
Bağımsız oyun geliştirici
Motor
Godot 4 · GDScript
Tür
3D yaşam / çiftlik simülasyonu
Odak
NPC ve dünya sistemleri
Gündüz: pastel gökyüzünde süzülen voksel ada; su kulesi, ambar, yel değirmeni ve adanın kenarından dökülen şelale
Gündüz · oyun içi görüntü, geliştirme sürümü
Gece: lacivert gökyüzünde ay ışığı altında aynı ada
Gece · gün/gece döngüsü

Fikir

Oyuncu zamanla gelişen bir adada yapıları onarır, tarım yapar, hayvanlarla ilgilenir ve NPC'lerle tanışır.

Projenin asıl teknik hedefi, bu dünyayı birbirinden bağımsız ve yeniden kullanılabilir sistemlerle yönetmek: tarım, NPC davranışı, navigasyon ve kayıt sistemi birbirine dolanmadan birlikte çalışmalı.

Ne inşa ettim

Bağımsız sistemler

Dünya ve çevre

  • Üç boyutlu ada, şelale ve nehir
  • Bitki örtüsü, kuşlar ve hayvanlar
  • Gün/geceye bağlı dünya davranışları
  • Harabe yapılar ve onarım

Tarım

  • Hücre tabanlı tarlalar
  • Ekme, büyüme evreleri, hasat
  • Tarım kapasitesi
  • Zamanla yeniden büyüyen doğa

NPC mimarisi

  • WorldQuery, WorldServices
  • Occupancy, Reservation
  • Navigation, Action sistemi
  • Bağlamsal etkileşim, günlük program

Animasyon

  • Idle, Walk, Turn Left/Right
  • AnimationTree
  • Yerinde lokomosyon; hareket ve animasyon ayrımı

Diyalog

  • Satırlar, sekanslar, konuşmacılar
  • Portre sistemi, sayfalama, daktilo efekti
  • Fare, dokunmatik ve klavye girdisi

Kayıt ve dünya durumu

  • Deterministik kayıt geri yükleme
  • Çevrimdışı ilerleme mantığı
  • Kalıcı ve geçici durum ayrımı
  • Kayıt güvenlik önlemleri

Teknik derinlik

Problem ve yaklaşım

Bir NPC'nin dünyayla çakışmadan iş yapması

Green Uncle bir ekini incelemeye gidecekse; ekinin gerçekten orada olduğunu, oraya bir yol bulunduğunu ve o noktayı başka birinin kullanmadığını bilmesi gerekir.

YaklaşımHer adımı ayrı bir servise veren bir eylem hattı. Aşağıdaki sıra, "ekini incele" eyleminin kodundaki gerçek sıradır:

  1. Scheduleetkinlik seçer
  2. Actiondoğrular, başlatır
  3. WorldQueryekin ve yaklaşma noktaları
  4. Navigationyol var mı?
  5. Reservationnoktayı süreli ayırır
  6. Movementyürür, döner, inceler

Eylem sürerken hedef ve ayırma düzenli olarak yeniden doğrulanır; eylem bitince ayırma bırakılır. Günlük program altyapısı şu an test sahnelerinde çalışıyor.

Green Uncle, nehir kenarında uzun otların arasında duruyor
"Ekini incele" test adımı · geliştirme test çekimi
Green Uncle, arkasında ahşap bir ev olan çimenlikte, nehrin kıyısında duruyor
"Akşam eve dönüş" test adımı · geliştirme test çekimi

Engebeli bir adada yol bulmak

Ada; yükseklik farkları, eğimler, köprüler ve ekili tarlalarla dolu. NPC'nin yürüyebileceği yer her an değişebiliyor.

YaklaşımGrid tabanlı yol bulma ve A* yaklaşımı; yükseklik ve eğim değerlendirmesi, meşgul alanların kontrolü, hedef ve hareket yönetimi.

Kaydı açınca dünyanın aynı kalması

Ekinler büyüyor, NPC'ler hareket ediyor, oyuncu oyundan çıkıp dönüyor; geri yüklenen dünya tutarlı olmalı.

YaklaşımDeterministik kayıt geri yükleme, kalıcı ve geçici durumların ayrılması, çevrimdışı ilerleme mantığı ve NPC eylemlerinin dünya durumuyla uyumu.

Teknoloji yığını

Godot Engine 4GDScriptSceneTreeCharacterBody3DAnimationTreeA* pathfindingGrid navigationBlender3D rigging3D animationAndroid debug APKAutomated Godot testsGit

Derinleştiğim konular

Üç boyutlu oyun geliştirme, NPC sistem mimarisi, davranış yönetimi, navigasyon, animasyon ve oyun durumu yönetimi. Bu proje, oyun programlama ile sistem mühendisliği tarafımı en iyi gösteren çalışmam.

Galeri

Oyun içi görüntüler · geliştirme sürümü
Adanın içinden akıp kenarından aşağı dökülen nehir ve şelale; değirmen, köprü ve hayvan ağılı
Şelale ve nehir sistemi
Ada ve kenarına yanaşmış bir zeplin; ambar, sera, silo ve oyuncunun evi görünüyor
Adaya yanaşan zeplin
Adanın kuşbakışı görünümü: ambar, sera, silo, hayvan ağılı, yel değirmeni, su kulesi ve şelale
Adanın genel görünümü · ilkbahar