Proje Hyrive Clans / MMORPG - Proje Geliştirme Konusu (+ ödüllü fikir yarışması)

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Senpai

Züm... Zümrü... Zümrüt...
Yasaklandı
Katılım
24 Kasım 2014
Mesajlar
816
Elmaslar
341
Puan
14.845
Yaş
27
Konum
Istanbul
Minecraft
NaN2
Selamlar, yaklaşık 1 senedir bir MMORPG / Clans sunucusu projesi üstünde uğraşıyorum. Kişisel hayatımda yaşadoğım bazı sebeplerden ötürü geliştirme süresine epey ara vermiştim. Sunucuyu side project olarak yapıyorum, o yüzden herhangi bir deadline yok. Ancak sunucu açıldığı zaman Türkiye standartlarında (ve hatta biraz abartırsak Dünya standartlarında) performans, optimizasyon ve mekanikler açısından bulamayacağınız eşsiz bir sunucu olacak. Ekibimiz sadece 2 kişilik, yazılım tarafı ile sadece ben ilgileniyorum, ve yarı zamanlı bir Game Experience geliştirici arkadaşım var (eski Ubisoft çalışanı).

Şuan Projede Ne Aşamadayız?
1766512767100.webp


Şuan kendi sunucu motorumuz olan "Hyware"'yi 1.20 ve üstü versiyonları destekleyecek şekilde tekrardan şekillendiriyoruz. Projeye ilk başladığımızda 1.8.9 olarak ilerledik, daha sade ve akıcı bir oyun mekaniği istediğimiz için ancak yeni versiyonlarda o kadar fazla oyun mekaniğine yardımcı olabilecek güncelleme geldi ki, 1.8.9'da kalmayı kendimize yakıştıramadık. Bu yüzden epey uzun bir süre sadece yeni versiyon desteklerini eklemeye uğraşacağız gibi gözüküyor.



Neden 1.20.4’e Geçmek Bu Kadar Uzun Sürüyor?

Dışarıdan bakınca “versiyonu güncelle geç” gibi durabiliyor ama işin mutfağı maalesef öyle değil. Özellikle bizim gibi kendi sunucu motorunu yazan bir projede, Minecraft versiyon yükseltmek neredeyse her şeye sil baştan başlamak gibi bir şey.

1.20.4 ile birlikte Minecraft’ın server internalları, entity sistemi, packet yapıları ve hatta bazı temel mekaniklerin çalışma şekli ciddi şekilde değişti. Hyware’i zaten “vanilla üstüne birkaç eklenti” mantığıyla değil, tamamen low-level, performans ve stabilite odaklı yazdığımız için; bu değişiklikler bizim tarafta “ufak adaptasyonlar” değil, bir çok şeyin sil baştan yapılması anlamına geliyor.

Bir diğer önemli konu da şu: Biz bu geçişi “çalışıyor olsun yeter” diye yapmıyoruz. 1.20.4 versiyonuna geçerken:

- Eski oyun mekaniklerin yaşattığı oyun hissini birebir korumak
- Yeni versiyonun sunduğu avantajları gerçekten oyuna yedirmek
-
Performans tarafında geriye değil, ileri gitmek

Kısacası; 1.20.4’e geçişin uzun sürmesinin sebebi tembellik, erteleme ya da kararsızlık değil. Aksine, açıldığında “eh işte” denecek bir sunucu yerine, uzun süre oynanabilecek, sağlam temelli bir deneyim sunmak istememiz. Biraz daha sabır istiyoruz ama karşılığında, gerçekten farkını hissettiren bir altyapı ile geliyoruz. 🙏


Diğer Sunuculardan Farkımız Ne?

Şuan hepinizin bildiği kadarıyla çoğu Minecraft sunucusu Spigot / Paper altyapısıyla çalışıyor. Bu altyapılar kesinlikle kötü değil; aksine senelerdir geliştirilen ve community-feedback mantığıyla güncellenen altyapılar. Ancak tabii ki bu tarz motorlar genel kullanım için şekillendiği için aslında hiçbir zaman kullanmayacağınız tonlarca özellik arkada bir yerlerde performans konusunda düşüşe sebep oluyor.

Biz bu yüzden baştan farklı bir yol seçtik ve kendi sunucu motorumuzu yazdık. Hyware tamamen bu sunucunun ihtiyaçlarına göre tasarlandı. Tonlarca plugin (eklenti) yığınının arkaplanda çalışması yerine oyun mekaniklerinin doğrudan yapının bir parçası olduğu bir sunucu. Bu da hem daha az gecikme, hem de çok daha kontrol edilebilir bir sistem anlamına geliyor.

Farkı en net şekilde bellek kullanımında görmek mümkün. Spigot tabanlı bir sunucu idle (boş / kullanılmayan) durumda bile ortalama 200 MB RAM tüketirken, biz idle durumda yaklaşık -40 MB RAM ile çalışabiliyoruz.


Ödüllü Fikir Yarışması

Bu projeyi kapalı kapılar ardında geliştirmek istemiyoruz. Hyrive’in mekaniklerini şekillendirirken topluluğun da doğrudan katkı sağlamasını istiyoruz.
Bu yüzden, en iyi mekanik fikirlerini paylaşan kişiler için ödüllü bir fikir yarışması düzenliyoruz. Seçilen fikirler sadece kâğıt üstünde kalmayacak; sunucu açıldıktan sonra bu kişilere oyun içinde çeşitli yardımlar ve avantajlar da sağlanacak.

Eğer aklında “ya sunucularda şu mekanik / sistem olsa çok iyi olurdu” dediğin bir fikir varsa, paylaşmaktan çekinme. Gerçekten iyi olan her fikri ciddiye alıyoruz.



Kapanış

Özetle; süreç yavaş ilerliyor gibi gözükse de, her şey bilinçli ve sağlam adımlarla ilerliyor. Amacımız kısa vadede açılıp unutulacak bir sunucu değil, uzun süre oynanabilecek ve sürekli gelişen bir yapı ortaya koymak.

Bundan sonraki paylaşımlarda hem teknik tarafta neler yaptığımızı, hem de oyun içi mekaniklerle ilgili detayları daha sık paylaşacağız. Sabır gösteren ve projeyi takip eden herkese teşekkürler.

Gelişmeleri paylaşmaya devam edeceğiz, teşekkürler!
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst