Metin2 Unreal Engine

  • Konuyu açan Konuyu açan Leon
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 3
  • Gösterim Gösterim 72

Leon

Çaylak Üye
Üye
Mesaj
1
Beğeni
7
Puan
13
Ticaret Puanı
0
Merhaba arkadaşlar,





Bu projeye başlama sebebim tam olarak şöyle gerçekleşti.

YouTube’da gezerken At0m adlı arkadaşın paylaştığı Metin2 Remastered videosuna denk geldim ve dedimki neden olmasın yenilenmiş bir Metin2.

Araştırma yaptım deneyenler olmuş ama sonu gelmiş herhangi bir projeye ulaşamadım.



Bende birşeyler denemek istedim hem hobi olarak hemde biraz deneyim kazanırım diyerek startı verdim.



UE5 konusunda da hiçbir deneyimim yoktu. Kodlama konusunda da sıfır bilgiye sahiptim.



Tek bildiğim şey Metin2’nin dosya mantığına biraz aşina olmamdı.



Bu proje profesyonel bir ekip işi değil — tamamen öğrenme sürecimi geliştirmek, kendimi zorlamak ve “Metin2 modern bir motorla nasıl görünürdü?” sorusuna kendi cevabımı üretmek için yaptığım kişisel bir çalışma.



Şimdi aşağıda bu süreçte neler yaptığımı, neler öğrendiğimi ve projenin şu anki durumunu paylaşacağım.





Proje sürecinde en çok emeği geçen araçlardan biri kesinlikle GrannyExporter oldu.



Bunun yanında WorldEditor, Autodesk 3ds Max, SpeedTree, Blender, Metin2 Map Converter, SPT → FBX dönüştürücüler ve daha birçok yazılımı aktif şekilde kullandım.




Haritalardan animasyonlara, materyallerden kemik yapılarına, obje yerleşiminden ağaç sistemlerine kadar karşıma çıkan yüzlerce farklı problemi çözmek için hem kendi çabamla hem de yapay zekâ desteğiyle pek çok özel kod ve küçük araç geliştirdim.





Şimdi gelelim projede neler yaptığıma.

Öncelikle tüm karakterleri ve animasyonlarını Unreal Engine’e doğru şekilde aktarmayı başardım. Ancak kısa süre sonra fark ettim ki Metin2’nin animasyon sistemi, UE5’e göre oldukça farklı işliyor.



Özellikle combo animasyonlarında karakterin ileri doğru hareket ettiği sistem, Metin2’de root motion değil karakteri ileri yürütme mantığı ile çalışıyor.



Bu nedenle tüm animasyon ve kemik yapısını UE5’e uygun olacak şekilde bütün karakterler için güncelledim.





Şu anda projedeki tüm karakterler:



• UE5 - Fab animasyonlarını



• Mixamo animasyonlarını



sorunsuz bir şekilde retarget ederek oynatabiliyor.



• Aynı şekilde skill animasyonları root motionları ve sesleri düzgün bir şekilde çalışıyor.





Haritaları aktarma sürecinde de farklı bir yöntem geliştirdim.



Bildiğiniz gibi Metin2 haritaları genelde height.raw şeklinde parçalara bölünmüş halde duruyor haritanın büyüklüğüne göre 8-40 adet arasında değişebiliyor.



Bu yapıyla tek tek uğraşmak yerine, artık tek tıkla seçtiğim bir haritanın:



• Heightmap’ini


• Tilemap'ini


• Tüm texture setlerini


• Monster, NPC, objeler ve ağaçların koordinatlarını içeren UE5’e hazır bir dosya oluşturabiliyorum.



Her haritayı ortalama 10-15 dakika içinde tamamen UE5’e aktarılabilir hâle getiren bir sistem kurdum.



• Haritanın düzeni sorunsuz bir şekilde aktarılıyor.


• Aktarma sonrasında bir kaç yeni güncellemeler ekliyorum.


• Haritayı biraz güzelleştirmek adına yeni çim detayları eklendi.


• Ağaç modelleri konusunda da biraz uğraşmam gerekti.Metin2’den gelen orijinal ağaç meshleri, UE5 içinde ne görsel olarak tatmin edici duruyor ne de rüzgar efektleriyle uyumlu bir sonuç veriyor.



• Bu yüzden her yeni harita eklediğimde, eski ağaçları sırayla yenilenmiş ve rüzgar sistemleriyle uyumlu modellerle değiştiriyorum.




•NPC'lerin tamamının model ve animasyon sistemleri entegre edildi. Harita eklendikten sonra doğru konumlarına isimleriyle birlikte atanması için kod geliştirdim sorunsuz çalışıyor. Sadece manuel olarak bir kaç NPC'nin yönünün ayarlanması gerekiyor.




• Monster düzenlemeleri üzerinde çalışıyorum bütün modeller ve animasyonları aktarıldı. Animasyon sistemleri şuanlık düzgün kurulmadığı için haritaya yerleştirme aşamasına geçmedim.



•Oyundaki bütün objelerin(1700 Adet civarı) Collisionları düzenlendi herşey artık daha güzel çalışıyor.





• Nehir ve su sistemleri konusunda UE5’in kendi Water System yapısını kullanmayı tercih ettim.Şu an haritalardaki nehirler ve su yüzeyleri temel düzeyde ayarlı çok detaylı değil ama iş görüyor.



• Karakterlerimizde yüzmeyi öğrendi suya girdiklerinde kılıcını güzelce sırtına takabiliyor. Tabii yüzme çokta Metin2 için uyumlu birşey değil. Buna göre yeniden içerik tasarlanması gerekebilir.




En çok merak edilen konulardan biri de efektler olabilir. Bu konuda yaklaşık 1 Ay kadar uğraştım ama ne yazık ki Metin2’nin efekt dosyalarını UE5’in Niagara sistemine hiçbir şekilde entegre etmeyi başaramadım.


Unity tarafında bu işi epey ilerleten bir arkadaş vardı, ama onun çalışması bile %100 doğru sonuç vermedi.

Gerçekçi olmak gerekirse, en mantıklı çözüm tüm efektleri baştan sıfırdan üretmek gibi görünüyor. Fakat Metin2’de yaklaşık 1500–2000 civarında efekt bulunuyor (bir kısmı kopya olsa da), bu yüzden hepsini yeniden yapmak ciddi bir emek ve uzmanlık gerektiriyor.

Bu alanda bilgili ve tecrübeli kişilerle çalışmak şart gibi duruyor. Şimdilik efekt kısmını askıda bıraktım nasıl sonuçlanacağını ben bile bilmiyorum. 😂



Yeni bir oyuna giriş / karakter seçme ekranı üzerinde çalışıyorum.

Tasarım şimdilik geçici bir taslak olsa da temel fonksiyonların tamamı sorunsuz şekilde çalışıyor. Şu anda:

• Karakter oluşturma

• Karakter silme

• İsim gösterme

• Slotlar arası geçiş

* Oyunu başlatma


gibi tüm temel işlemler eksiksiz çalışır durumda.

Arayüzde eklenmesi gereken detaylar var; özellikle statü görüntüleme, karakter açıklamaları ve bazı görsel iyileştirmeler sırada bekliyor.

Fonksiyonel olarak sistem hazır, şimdi tasarım tarafını güçlendiriyorum.




Geçenlerde yine bir konu açılmıştı " Metin2 Unreal Engine" diye o arkadaşlara da projeyi zaten ben atmıştım. Kendileri üzerine ekleme yapıyorlar yada baştan yapıyolar bilmiyorum ama onlardaki bütün karakterler falan sorunluydu.

Benide davet etmişlerdi katılmayı düşünüyordum ama iş yoğunluğumdan dolayı tek takılmak istedim.

Kendileri c++ uzmanlarıymış ve ekipleri var.

Kendisine ufak bir laf dediğim için çok alındı. Esprili bir dilde konuştum ama yinede anlamadı.

Sonuç olarak, tamamen benim geliştirdiğim basit bir “köpek animasyon sistemi”nin, C++ uzmanı olduğunu ve oyun şirketlerinde çalıştığını söyleyen bir kişi tarafından “biz yaptık” şeklinde sunulması ve üstelik benim birebir kullandığım konumlandırma ve mantıkla gösterilmesi bana açıkçası biraz komik geldi. 😄



Genel olarak proje üzerinde tek başıma, vakit buldukça çalışıyorum.

Burada gördüğünüz tüm sistemler, araçlar, kodlar ve düzenlemeler tamamen bana aittir.

Zaman ilerledikçe yeni şeyler ekledikçe, hem teknik hem görsel tüm güncellemeleri burada paylaşmaya devam edeceğim.

Projenin sonunu getirip getiremeyeceğimi açıkçası ben de bilmiyorum.

Oldukça zorlu ve zaman isteyen bir süreç. Ama yıllardır yoğun şekilde oyun oynayan birisi olarak, bir oyunun arka planda nasıl yapıldığını görmek bana gerçekten keyif veriyor.

Bu projeyi kimseyle bir iddia için yapmıyorum tamamen kendi merakım ve öğrenme isteğimle ilerliyorum.

Eksikler olabilir, hatalar olabilir, “şurası olmamış” diyenler mutlaka çıkacaktır — sonuçta şu an tek başıma çalışıyorum ve her şeyi mükemmel yapmam mümkün değil.



Yine de elimden geldiğince geliştirmeye, öğrenmeye ve bu süreci keyif aldığım bir hobi olarak sürdürmeye devam edeceğim.
 
Son düzenleme:
Büyük emek var da bence para kazanılmayan bir şeye hobi niyeti değilse emek vermek mantıklı değil fakat beğendim dahası ds gelir illa mmorpg de olmasına gerek yok single player bir şey de olsa indirip oynamak isterim, GoD of WaR tarzı bir yapıyla, maplerde ilerledikçe sandıklardan map bosslarından çıkan itemlerle düşürülen itemleri demirci vasıtasıyla geliştirip dungeon dönmeli bir şey sarar.
 
Son düzenleme:
şu haritaları import edemeyen tek kişi benim heralde ya height raw dosyalarını unreale koymak çok zordu
 
Geri
Üst