Soru Metin2de Harita Değişiklikleri

Herhangi bir konuda danışmak istediğiniz soru varsa bu öneki seçebilirsiniz.

YunusEmreOfficial

yedmedya.com
Premium Üye
Yardımsever Üye
Usta Üye
Mesaj
1.792
Çözümler
50
Beğeni
1.580
Puan
1.370
Ticaret Puanı
2
Merhaba arkadaşlar,
Metin2 üzerine daha öncede bir çok farklılık denedim. Bazılarının fikirlerini paylaştım. Bazılarınıda arka planda denedim ama hiç gün yüzüne çıkarmadım. Metin2 üzerine birçok fantazi denemek istiyorum. Bunlardan 1 taneside haritalar. Bildiğiniz üzere haritalar parça parça dosyalardan oluşuyor. 4x4 6x6 7x7 gibi gibi farklı farklı haritalardan. Her birinin indexi ve koordinatları farklı. Peki size şöyle bir soru sorsam, bunu ayrı ayrı değilde tek bir map halinde tasarlasak örneğim 40x40 gibi bu durumda neler olur ?
Sizce bu mümkün olabilir mi ?
Bildiğim kadarıyla wow2 gibi oyunlar tek haritadan oluşmakta. Metin2 neden öyle olmasın ?
Buna uyan konseptim çok güzel var. Eğwr bunu başarabilrsem mmorpg olan metin2nin ama sadece mmosunu gördüğümüz kısmını genişletip rpg de katmak istiyorum bu düşüncemi geliştirmeye başlamadan sizlerden de tavsiye almak istedim.
 
Yıllar önce 15x15 bir map yaptım henüz yüzde 20lik kısmına günde 4 saatten 3 hafta harcadım
Peki oyunda denedin mi performans olarak,
İçerisindeki objeler vs sorun oldumu ?
Amacım sıfırdan tasarlamak değil hali hazırda olan haritaları birleştirmek benim o kadar uzun sürmez. Sürsede vaktim çok.
 
Teorik olarak bi sorun olmaması lazım ancak yükleme ekranında ne kadar bekletir kestiremem 🤣

Ayrıca skyboxları bölgesel olarak değiştirmen gerekecek hatırladığım kadarıyla öyle bi özellikte yok
 
İmkansız değil, mümkün. Ancak sadece haritayı oluşturup oyuna eklemek pek yeterli bir hareket olmayabilir. Beraberinde c++ tarafında da iyi bir optimize gerekir. Bu haritada objelerin, mobların ve oyuncuların da olduğunu düşünürsek optimizasyon kaçınılmaz olacaktır. Neticede metin2 mevcut haritalarda bile yoğunluğa göre kasmaların fazlasıyla arttığı çok eski bir oyun. Bu gibi konuları ele alırken fikir olarak modern oyunların işleyiş tarzını referans almak çoğu zaman işe yarar. Mesela ben yaptığım dinamik gökyüzündeki zaman işleyiş mantığını ETS2 ve Witcher3'den arakladım. İhtiyaç duyulan konularda bu gibi oyunlara farklı bir gözle bakıldığında fikir edinebiliyorsun.
 
Teorik olarak bi sorun olmaması lazım ancak yükleme ekranında ne kadar bekletir kestiremem 🤣

Ayrıca skyboxları bölgesel olarak değiştirmen gerekecek hatırladığım kadarıyla öyle bi özellikte yok
1x1 alan yükleniyo karakter yürüdüğünde klasik mt2 haritaları kadar obje kullanacaksa sıkıntı olmaz jettyx grafik gibi eklentileri bilmiyorum onlarda belki sorun çıkar çünkü full terrain render oluypdu onlarda

Bölgesel skyboxu halledrriz py taraflı kolay iş
 
Teorik olarak bi sorun olmaması lazım ancak yükleme ekranında ne kadar bekletir kestiremem 🤣

Ayrıca skyboxları bölgesel olarak değiştirmen gerekecek hatırladığım kadarıyla öyle bi özellikte yok
Şimdi daha çok merak ettim bak. 😂😂
Skyboxları Kaiserin yaptığı şekilde biçimlendirip ona göre resim hazırliycam aslında tamamen aynı gökyüzü olacak sadece textureler ve zone değişecek. Güneşide dinamik yazdıkmı tamamdır.
İmkansız değil, mümkün. Ancak sadece haritayı oluşturup oyuna eklemek pek yeterli bir hareket olmayabilir. Beraberinde c++ tarafında da iyi bir optimize gerekir. Bu haritada objelerin, mobların ve oyuncuların da olduğunu düşünürsek optimizasyon kaçınılmaz olacaktır. Neticede metin2 mevcut haritalarda bile yoğunluğa göre kasmaların fazlasıyla arttığı çok eski bir oyun. Bu gibi konuları ele alırken fikir olarak modern oyunların işleyiş tarzını referans almak çoğu zaman işe yarar. Mesela ben yaptığım dinamik gökyüzündeki zaman işleyiş mantığını ETS2 ve Witcher3'den arakladım. İhtiyaç duyulan konularda bu gibi oyunlara farklı bir gözle bakıldığında fikir edinebiliyorsun.
Evet en çok gözümü korkutan optimizasyon kısmı, bu konuyu açmamdaki amaçta buydu fikir almak. Witcher gibi oyunlarında optimizasyonu çok iyi aslında, bazen onlarda da takılmalar oluyorda örnek açısından güzel örnekler.
Elden right de öyle mesela onları örnek alıyorum ama kod yada mantığına sanırım kendim kurmadan ulaşamiycam.
 
Şimdi daha çok merak ettim bak. 😂😂
Skyboxları Kaiserin yaptığı şekilde biçimlendirip ona göre resim hazırliycam aslında tamamen aynı gökyüzü olacak sadece textureler ve zone değişecek. Güneşide dinamik yazdıkmı tamamdır.

Evet en çok gözümü korkutan optimizasyon kısmı, bu konuyu açmamdaki amaçta buydu fikir almak. Witcher gibi oyunlarında optimizasyonu çok iyi aslında, bazen onlarda da takılmalar oluyorda örnek açısından güzel örnekler.
Elden right de öyle mesela onları örnek alıyorum ama kod yada mantığına sanırım kendim kurmadan ulaşamiycam.
Haritayı nasıl tasarlayacağına, ne tür görseller ve objeler kullanacağına göre yapman gereken optimizasyon düzeyi değişir. Ama en azından ön bilgi olarak optimizasyon gerekektiren başlıca konuyu söyleyeyim; dosya yükleme ve işleme mantığı.
Mesela yüksek boyutlu görseller/dosyalar kullanırsan (10-15mb bir dds gibi) loading ekranında gözle görülür takılmaya sebep olacaktır.
Ve bu dosyaların sayısı fazla olursa çayını kahveni alıp loadingin bitmesini beklersin. Kullanılan RAM'in artması da cabası.. Gibi gibi..
 
Hiç önermem. Bu oyunda savaşmak var; görsel kalite olarak bir şeyleri izlemek yok. Ne kadar az şey yüklenirse o kadar hızlı olunur.
 
Yunus Emre hocam,
Uzun süredir sizi talipteyim. Paylaşımlarınızı ve bir şeyler yapma isteğinizi takdir ediyorum.
Neden metin2 üzerinden gidiyorsunuz? Sıfırdan bir oyun yapmayı denemiyorsunuz? Sizi takip ettiğim kadarıyla öğrenmeye meraklısınız.
 
Haritayı nasıl tasarlayacağına, ne tür görseller ve objeler kullanacağına göre yapman gereken optimizasyon düzeyi değişir. Ama en azından ön bilgi olarak optimizasyon gerekektiren başlıca konuyu söyleyeyim; dosya yükleme ve işleme mantığı.
Mesela yüksek boyutlu görseller/dosyalar kullanırsan (10-15mb bir dds gibi) loading ekranında gözle görülür takılmaya sebep olacaktır.
Ve bu dosyaların sayısı fazla olursa çayını kahveni alıp loadingin bitmesini beklersin. Kullanılan RAM'in artması da cabası.. Gibi gibi..
Web sitelerinde de jpeg yerine webp kullanılıyor. Bayada hızlandırıyo siteleri metin2 de de kullanılamaz mı acaba dds kullanmak yerine çok daha hızlı olabilr diye düşünüyorum. Diğer türlü çok haklısın, modellerde kullanılan vertex sayıları işlemek için çok yüksek sunucular gerektirecek. Bu durumda ya optimizasyonu sağlam yapmam lazım ya da vertex sayılarını tekrar modelliyrrek düşürmem laızm.
Hiç önermem. Bu oyunda savaşmak var; görsel kalite olarak bir şeyleri izlemek yok. Ne kadar az şey yüklenirse o kadar hızlı olunur.
Hocam elbette ws yapmayı çok seviyorum bende, ama sürekli ws ws sıkıyor. Birde dediğim gibi yeni şeyleri denemeyi seviyorum. Bunuda denemek istiyorum.
 
Bu tarz büyük haritalar yüksek obje, mob ve oyuncu içereceğinden dehşet bir stuck frame yaşatacaktır. Bu tarz büyük şeylere girişileceğinde en başından sebep sonuç ilişkisi kurulması lazım. Ek olarak objelerden ve map'ın büyüklüğünden kaynaklı büyük yükleme süreleri, yüksek ram kullanımı(hele ki grafik eklentisi kullanıldığında veya saçma sapan full terrain kullanıldığında) x86 mimarı olmasından ötürü kullanımın 4 GB'a yaklaşınca crash yemesi kaçınılmaz birşey. Önce nasıl optimize olabileceğini düşünüp, sonra yapma aşamasını geçmeni öneririm.
 
Yunus Emre hocam,
Uzun süredir sizi talipteyim. Paylaşımlarınızı ve bir şeyler yapma isteğinizi takdir ediyorum.
Neden metin2 üzerinden gidiyorsunuz? Sıfırdan bir oyun yapmayı denemiyorsunuz? Sizi takip ettiğim kadarıyla öğrenmeye meraklısınız.
Evet hocam öğrenmeye meraklıyım ama disiplinim yok. Günde 10 tane fikir geliyor. 5i metin2 üzerine 5i sıfırdan oyun yapsaydım şöyle yapardım dediğim şekilde. Ama metin2de parça parça bile ilerletebiliyorum bıraksam bile. Yoksa oda aklımda, zaman zaman unreal ve unity denedim. Visual studioda form app kullanarak profesyonel oyunlarda kodladım veritabanlı şekilde C# kullanarak. Ama büyük bi proje için henüz çok yetersizim. C++ ve python üzerine daha çok bişeyler yapmak istiyorum. Metin2de benim için inci niteliğinde. Ayrıca Adalet filesinide inceliyorum. Baya şey katıyor. Umarım yakın zamanda pek mümkün değil ama uzun zamanda onlarıda görürüz hep beraber. 😂😂😂
 
Bu tarz büyük haritalar yüksek obje, mob ve oyuncu içereceğinden dehşet bir stuck frame yaşatacaktır. Bu tarz büyük şeylere girişileceğinde en başından sebep sonuç ilişkisi kurulması lazım. Ek olarak objelerden ve map'ın büyüklüğünden kaynaklı büyük yükleme süreleri, yüksek ram kullanımı(hele ki grafik eklentisi kullanıldığında veya saçma sapan full terrain kullanıldığında) x86 mimarı olmasından ötürü kullanımın 4 GB'a yaklaşınca crash yemesi kaçınılmaz birşey. Önce nasıl optimize olabileceğini düşünüp, sonra yapma aşamasını geçmeni öneririm.
Adalet ve m2 de gördüğüm en güzel özelliklerden birisi optimizasyondu bu elbette sadece haritaya yönelik değil ama dx9 a geçerek hem işlem kısımlarını hemde optimizasyonlarını gördüm tam anlamasamda, dx9a geçirir gibi dx11 e geçsek ve ona göre dizayn etsek bu mümkün olabilir mi, vertex hesaplamarını vs optime etmek daha kolay olurmu yoksa baştan dx11e geçiremezmiyim ne dersin bu konuda ?
 
Adalet ve m2 de gördüğüm en güzel özelliklerden birisi optimizasyondu bu elbette sadece haritaya yönelik değil ama dx9 a geçerek hem işlem kısımlarını hemde optimizasyonlarını gördüm tam anlamasamda, dx9a geçirir gibi dx11 e geçsek ve ona göre dizayn etsek bu mümkün olabilir mi, vertex hesaplamarını vs optime etmek daha kolay olurmu yoksa baştan dx11e geçiremezmiyim ne dersin bu konuda ?
DirectX 8, DirectX 9 veya 9Ex arasında gerçekten yapılan değişiklikler açısından pek bir zahmeti bulunuyor diyemem. Kullandıkları polymorphism hesaplamaları hemen hemen aynı. Ama 10 üstünden itibaren kullanılan hesaplamalar tamamen değişiyor. O yüzden 10 veya üstüne API kısmını neredeyse baştan yazmadıktan sonra 8'den 9 geçildiği gibi kolayca geçirelebileceğini düşünmüyorum. Ancak 9 ile birlikte view object distance render ya da rendering object is on screen gibi mantıklı görülen optimizasyonları yaparak yararını görecek şekilde optimizasyon sağlayabilirsin.
 
DirectX 8, DirectX 9 veya 9Ex arasında gerçekten yapılan değişiklikler açısından pek bir zahmeti bulunuyor diyemem. Kullandıkları polymorphism hesaplamaları hemen hemen aynı. Ama 10 üstünden itibaren kullanılan hesaplamalar tamamen değişiyor. O yüzden 10 veya üstüne API kısmını neredeyse baştan yazmadıktan sonra 8'den 9 geçildiği gibi kolayca geçirelebileceğini düşünmüyorum. Ancak 9 ile birlikte view object distance render ya da rendering object is on screen gibi mantıklı görülen optimizasyonları yaparak yararını görecek şekilde optimizasyon sağlayabilirsin.
Açıkcası sıfırdan yazabilecek kodlama bilgim gelişmiş değil. Ama mutlaka araştırıcam. Dediğiniz optimizasyonları not ettim. Başka neler yapılabilir acaba ?
Mesela şey görmüştüm. Eğer zindanda oyuncu yoksa, o zindandaki objeleri kaldır ya da slotların animasyon vs herşeyini durdur gibisinden. Bunlarda etkili olacaktır sanırım.
 
Açıkcası sıfırdan yazabilecek kodlama bilgim gelişmiş değil. Ama mutlaka araştırıcam. Dediğiniz optimizasyonları not ettim. Başka neler yapılabilir acaba ?
Mesela şey görmüştüm. Eğer zindanda oyuncu yoksa, o zindandaki objeleri kaldır ya da slotların animasyon vs herşeyini durdur gibisinden. Bunlarda etkili olacaktır sanırım.
Dediğim şeylerin içerisinde bunlar aslında. Ekstra olarak daha farklı şeylerle çeşitlendirebilirsin(objelerin ve modellerin kalitesini seyreltmek vs.). İleri düzey kod bilgisi olmadan genel olarak yapabileceğin şeyler bu şekilde benim şahsi fikrimce.
 
Dediğim şeylerin içerisinde bunlar aslında. Ekstra olarak daha farklı şeylerle çeşitlendirebilirsin(objelerin ve modellerin kalitesini seyreltmek vs.). İleri düzey kod bilgisi olmadan genel olarak yapabileceğin şeyler bu şekilde benim şahsi fikrimce.
Anladım, öneriniz çok güzel yani bi nevi low poly mode tarzı oluşturabilirsin diyosun. Çok da güzel fikir. Şuan altyapım henüz hem dx8 hemde başlangıç seviyesinde, ama bi kaç güne kadar en azından 3 4 haritayı birleştirerek sizin paylaştığınız altyapıda denemek istiyorum. Bildiğim kadarıyla hem dx9 hem optime hemde std yada boost yerine robin hood kullanılmıştı diye hatırlıyorum. Bakalım ne olacak.
 
Şimdi daha çok merak ettim bak. 😂😂
Skyboxları Kaiserin yaptığı şekilde biçimlendirip ona göre resim hazırliycam aslında tamamen aynı gökyüzü olacak sadece textureler ve zone değişecek. Güneşide dinamik yazdıkmı tamamdır.
Yekpare harita için oyunun harita yükleme sistemini değiştirmeniz lazım bakın skybox sadece bir örnek. Örnek verdiğiniz oyunlar yapıyı ona göre kurmuş. Eğer değiştirip optimizasyonu sağlarsanız yapılamayacak şey değil. Sadece ufak bi bilgi server tarafında tüm mapler tek bir uzayda bulunuyor. Server tarafında aslında yekpare sayılır sizi yoracak kısım client tarafı gibi sanki
 
Yekpare harita için oyunun harita yükleme sistemini değiştirmeniz lazım bakın skybox sadece bir örnek. Örnek verdiğiniz oyunlar yapıyı ona göre kurmuş. Eğer değiştirip optimizasyonu sağlarsanız yapılamayacak şey değil. Sadece ufak bi bilgi server tarafında tüm mapler tek bir uzayda bulunuyor. Server tarafında aslında yekpare sayılır sizi yoracak kısım client tarafı gibi sanki
Evet evet demeye çalıştığınız şeyi anladım. Konuyu açmadan da araştırdım zaten. Sadece başka fikirler istiyordum. İstediğimide aldım sayılır. Yapılandırma kısmına gelecek olursak, zaten altyapıya başlama sebebimde bu, birçok yerinde değişiklik yapıyorum. Çoğu kısmı kaldırıp yeniliyorum. Mesela paketleri bile mcpye taşiycam gibi gibi değişiklikler yapıyorum. Bunu yaparkende bi yandan böyle bir planım vardı nasıl olur diye düşünürken birde sizlere sorayım dedim. Forumda kendilerini belli etmeselerde iyi derecede kodlama bilen, ve bu işlerde çok tecrübeli arkadaşlarımız var. Neyse toparlayacak olursak serverin 1 olduğunu söylemeniz çok güzel oldu. Biraz inceliyim mantığını anlarsam clientide buna uygun tasarlayabilirim.
 
Geri
Üst