Kaptan Yosun'un Geliştirme Günlüğü

Güneşe ateş edilmiş
Güneşe bağlı bile değil he :D
pack'tan shadowmap.dds ve shadowmap.raw çekip, uhuyla yere yapıştırıyor. Ondan o kadar kalitesiz ağaç gölgeleri. karakter gölgesinin kalitesine bak bir de ağaç ve bina gölgelerine.
 
Güneşe bağlı bile değil he :D
pack'tan shadowmap.dds ve shadowmap.raw çekip, uhuyla yere yapıştırıyor. Ondan o kadar kalitesiz ağaç gölgeleri. karakter gölgesinin kalitesine bak bir de ağaç ve bina gölgelerine.
Eski oyun normal ya. CRT monitör zamanlarını hatırlıyorum da bu oyun çalışıyordu çayır çayır 😂
 
Eski oyun normal ya. CRT monitör zamanlarını hatırlıyorum da bu oyun çalışıyordu çayır çayır 😂
Ben de hatırlıyorum. İlkokul arkadaşım demişti gel yeni bir oyun indirdim bizim evde oynayalım diye. o crt monitörleri kapatınca elimizin tersini ekranın üzerinde gezdiriyorduk hafif elektrik çarpsın cızır cızır diye
 
Güncelleme:
Motor artık her bir frame başına DirectX Device State yoklaması yapmadan aygıt kaybı yönetimi için geçerli Direct3D 9Ex en iyi uygulamasını izliyor.
ALT+TAB veya CTRL+ALT+DEL yapınca DirectX Device lost duruma düşmüyor, oyuna dönerken de restore edilmesi gerekmiyor.
Yani bu çok çok daha az rastgele ALT+TAB çökmesi anlamına geliyor.

 
Güncelleme:
Mount like horse sistemi ve pek çok varlığın boyut & görüntüleme mesafesi ayarlarını ekledim.
Zenaris'ten aldığım bu ayarların içindeki hard-coded kısımları tamamen dinamik yaptım.
Görüntüleme mesafesi ayarlarının çalışma mantığını data-oriented şekilde değişip lüzumsuz tekrarlanan ve okuması zor kodlardan temizledim.

 
Güncelleme:
Mount like horse sistemi ve pek çok varlığın boyut & görüntüleme mesafesi ayarlarını ekledim.
Zenaris'ten aldığım bu ayarların içindeki hard-coded kısımları tamamen dinamik yaptım.
Görüntüleme mesafesi ayarlarının çalışma mantığını data-oriented şekilde değişip lüzumsuz tekrarlanan ve okuması zor kodlardan temizledim.


iyi yaşayın :)
 
Güncelleme:
Mount like horse sistemi ve pek çok varlığın boyut & görüntüleme mesafesi ayarlarını ekledim.
Zenaris'ten aldığım bu ayarların içindeki hard-coded kısımları tamamen dinamik yaptım.
Görüntüleme mesafesi ayarlarının çalışma mantığını data-oriented şekilde değişip lüzumsuz tekrarlanan ve okuması zor kodlardan temizledim.


 
Mini güncelleme:

Proto'larda artık korece isimler yok ve "locale_name" sütunu artık kullanılmayacak. Server sunucu sahibinin belirlediği dilde, client ise pack diline göre "name" sütununu ayarlayıp kullanıyor.

1750518669243.webp


Ayrıca artık mob_drop_item.txt, etc_drop_item.txt, ve special_item_group.txt gibi dosyalar sadece Vnum kabul edecek, item adını string olarak alıp vnum arama mantığını kaldırdım. Böylece artık bu dosyalar proto güncelleyince veya dosya encoding'i değişince bozulmayacak. GetVnumByOriginalName çok performanssız bir fonksiyon, gerek yok.

Eski:

1750519173487.webp


Yeni:

1750519234449.webp
 
Bir güncelleme daha
Dinamik gölgelerin render mesafesi ayarı (kendim yazdım)

Maksimum değeri çok yükseltemiyorum çünkü gölge kalitesi düşüyor, shadowmap kalitesi statik olduğundan daha büyük bir alanı renderladığımda gölge texel yoğunluğu azalıyor, ileride onu da dinamikleştirmeye çalışırım.

 
JettyX shader sistemine geçmeden önce ufak hazırlıklar yapıyorum. Yağmur ayarlarını aldım. Kodun kötü yazılan kısımlarını iyileştirdim ve oyunu kapat-aç yapınca seçili ayarın sıfırlanma problemini çözdüm.


Yağmur efekti için oyundaki mevcut kar yağışı sisteminde kar/yağmur makrolarına göre değişiklikler yapabilirsin veya yeni bir sınıf da yazmayı düşünebilirsin.
CSnowParticle::Init -> basitçe şu 4 değişkenin başlangıç değerlerini değiştirdiğinde yağmur efektine biraz daha benziyor:
SnowParticle.cpp:
Genişlet Daralt Kopyala
    m_v3Velocity.y = 2000.f;
    m_v3Velocity.z = -2000.f;
    m_fHalfWidth = 30.f;
    m_fHalfHeight = 5.f;
ama tam anlamıyla öyle gözükmesi için vertex'lere rotasyon mantığı eklemen (CSnowParticle::GetVerticies) ve kameraya göre (CSnowParticle::SetCameraVertex) rotate etmen gerekiyor.
Grafik programlama bilgim olsaydı denerdim, belki yapay zekadan yardım alabilirsin.
 
Son düzenleme:
Geri
Üst