- Mesaj
- 141
- Çözümler
- 2
- Beğeni
- 113
- Puan
- 709
- Ticaret Puanı
- 0
Selamlar MMO Tutkunları,
Uzun süredir Metin2 tarafında bir şeyler geliştirmiyordum. Aslında yazılım geçmişim var; yazılıma ilk olarak 2013 civarında cixcocuk97 ile Metin2 hileleri geliştirerek başlamıştım. O dönem biraz kurcaladıktan sonra Metin2 tarafını bırakıp daha çok farklı oyunlarda script geliştirmeleri yaptım ve uzun süre Metin2’ye sadece oyuncu olarak devam ettim.
Ama Metin2’den hiçbir zaman tamamen kopamadım diyebilirim. Son zamanlarda da kendi sunucumu açma fikri tekrar aklıma düşünce bu işe sıfırdan girişmeye karar verdim. Şu an açıkçası Metin2 server geliştirme konusunda kendimi çok iddialı görmüyorum, yeniden öğrenme sürecindeyim diyebiliriz. Ama süreç içinde hem öğrenip hem geliştikçe yaptıklarımı burada paylaşmak istiyorum.
Bu konuyu da biraz geliştirici günlüğü gibi kullanmayı düşünüyorum. Yaptığım sistemleri, öğrendiğim şeyleri, bazen yaşadığım sorunları ve çözümlerini burada paylaşacağım. Hem benim için güzel bir arşiv olur hem de belki birilerine faydası dokunur.
Bu başlık altında düzenli olarak:
paylaşacağım.
Amacım hem yaptığım işleri göstermek hem de Metin2 geliştiren diğer arkadaşlara faydalı olabilecek bilgiler bırakmak.
Geliştirmeye başlarken ilk olarak QoL (Quality of Life) yani oyuncu konforunu artıran küçük sistemlerle başlamayı tercih ettim. Piyasada bu tarz sistemlerin birçok hazır versiyonu zaten var ama mümkün olduğunca kendim yazmayı tercih ediyorum.
Hem kodu daha iyi öğrenmiş oluyorum hem de sistem tamamen kendi kontrolümde oluyor ve daha temiz bir yapıda kalıyor.
Bu sayede özellikle stat dağıtımı gibi sürekli yapılan işlemler çok daha hızlı ve pratik hale geliyor.
Sistemleri yazarken bir yandan da arayüz tarafını düzenlemeye çalışıyorum. Metin2’de çoğu sistem güzel olsa bile UI tarafı bazen biraz dağınık olabiliyor. Bu yüzden eklediğim özelliklerin mümkün olduğunca oyunun mevcut tasarımına uyumlu olmasına dikkat ediyorum.
Amacım oyunun orijinal hissini bozmadan daha pratik bir kullanım sağlamak.
Şu an açıkçası bu süreci biraz tekrar öğrenme ve keşfetme süreci olarak görüyorum. Metin2 server tarafında yıllardır dokunmadığım çok şey var. Bu yüzden bazen eski sistemleri inceleyip nasıl çalıştığını anlamaya çalışıyorum, bazen de tamamen sıfırdan küçük sistemler yazıyorum.
Bu süreçte:
gibi konulara tekrar dalmış durumdayım.
Bazen basit görünen şeyler bile beklediğimden uzun sürebiliyor ama işin eğlenceli tarafı da bu zaten.
Şu an kafamda geliştirmek istediğim birkaç şey daha var. Zamanla bunları da eklemeyi düşünüyorum.
Örneğin:
Tabii süreç içinde fikirler değişebilir.
Merak edenler için altyapı tarafını da kısaca belirteyim.
Projede OWSAP altyapısını kullanıyorum. Temel sistem olarak oldukça temiz ve üzerinde geliştirme yapmaya uygun bir yapı olduğu için başlangıç noktası olarak bunu tercih ettim.
Tabii ki zamanla:
planlıyorum.
Amacım hazır bir şeyi olduğu gibi kullanmaktan ziyade üzerine kendi geliştirmelerimi koyarak daha temiz ve kontrol edilebilir bir yapı oluşturmak.
Bu konuyu mümkün olduğunca güncel tutmaya çalışacağım.
Yeni bir şey geliştirdiğimde:
paylaşacağım.
Uzun süredir Metin2 tarafında bir şeyler geliştirmiyordum. Aslında yazılım geçmişim var; yazılıma ilk olarak 2013 civarında cixcocuk97 ile Metin2 hileleri geliştirerek başlamıştım. O dönem biraz kurcaladıktan sonra Metin2 tarafını bırakıp daha çok farklı oyunlarda script geliştirmeleri yaptım ve uzun süre Metin2’ye sadece oyuncu olarak devam ettim.
Ama Metin2’den hiçbir zaman tamamen kopamadım diyebilirim. Son zamanlarda da kendi sunucumu açma fikri tekrar aklıma düşünce bu işe sıfırdan girişmeye karar verdim. Şu an açıkçası Metin2 server geliştirme konusunda kendimi çok iddialı görmüyorum, yeniden öğrenme sürecindeyim diyebiliriz. Ama süreç içinde hem öğrenip hem geliştikçe yaptıklarımı burada paylaşmak istiyorum.
Bu konuyu da biraz geliştirici günlüğü gibi kullanmayı düşünüyorum. Yaptığım sistemleri, öğrendiğim şeyleri, bazen yaşadığım sorunları ve çözümlerini burada paylaşacağım. Hem benim için güzel bir arşiv olur hem de belki birilerine faydası dokunur.
Bu başlık altında düzenli olarak:
- Geliştirdiğim yeni sistemleri
- Arayüz geliştirmelerini
- Performans ve QoL (Quality of Life) iyileştirmelerini
- Kod tarafındaki çözümleri
- Ve bazen teknik detayları
paylaşacağım.
Amacım hem yaptığım işleri göstermek hem de Metin2 geliştiren diğer arkadaşlara faydalı olabilecek bilgiler bırakmak.
Eklenen Sistemlerden Bazıları
Geliştirmeye başlarken ilk olarak QoL (Quality of Life) yani oyuncu konforunu artıran küçük sistemlerle başlamayı tercih ettim. Piyasada bu tarz sistemlerin birçok hazır versiyonu zaten var ama mümkün olduğunca kendim yazmayı tercih ediyorum.
Hem kodu daha iyi öğrenmiş oluyorum hem de sistem tamamen kendi kontrolümde oluyor ve daha temiz bir yapıda kalıyor.
Toplu Eşya Sat / Sil Sistemi
- Envanterden çoklu eşya seçimi
- Tek tuşla toplu satış veya imha
- Satılan eşyaların toplam yang hesabı ve bilgi mesajı
Hızlı Statü Sistemi
- CTRL + Sol Tık → +10 stat
- SHIFT + Sol Tık → Statı direkt maksimuma basar
Bu sayede özellikle stat dağıtımı gibi sürekli yapılan işlemler çok daha hızlı ve pratik hale geliyor.
Arayüz (UI) Tarafında Yaptıklarım
Sistemleri yazarken bir yandan da arayüz tarafını düzenlemeye çalışıyorum. Metin2’de çoğu sistem güzel olsa bile UI tarafı bazen biraz dağınık olabiliyor. Bu yüzden eklediğim özelliklerin mümkün olduğunca oyunun mevcut tasarımına uyumlu olmasına dikkat ediyorum.
- Metin2 temasına uygun ikon düzenlemeleri
- Daha temiz ve anlaşılır arayüz yerleşimi
- Gereksiz tıklamaları azaltan küçük UX iyileştirmeleri
Amacım oyunun orijinal hissini bozmadan daha pratik bir kullanım sağlamak.
🛠 Öğrenme Süreci
Şu an açıkçası bu süreci biraz tekrar öğrenme ve keşfetme süreci olarak görüyorum. Metin2 server tarafında yıllardır dokunmadığım çok şey var. Bu yüzden bazen eski sistemleri inceleyip nasıl çalıştığını anlamaya çalışıyorum, bazen de tamamen sıfırdan küçük sistemler yazıyorum.
Bu süreçte:
- Server tarafı (C++)
- Client tarafı
- Python UI sistemi
- Pack yapısı
gibi konulara tekrar dalmış durumdayım.
Bazen basit görünen şeyler bile beklediğimden uzun sürebiliyor ama işin eğlenceli tarafı da bu zaten.

Planladığım Bazı Sistemler
Şu an kafamda geliştirmek istediğim birkaç şey daha var. Zamanla bunları da eklemeyi düşünüyorum.
Örneğin:
- Gelişmiş envanter kalite iyileştirmeleri
- Daha kullanışlı NPC arayüzleri
- Küçük ama oyuncunun işini kolaylaştıran QoL sistemleri
- Belki birkaç tamamen yeni oyun içi mekanik
Tabii süreç içinde fikirler değişebilir.
Altyapı
Merak edenler için altyapı tarafını da kısaca belirteyim.
Projede OWSAP altyapısını kullanıyorum. Temel sistem olarak oldukça temiz ve üzerinde geliştirme yapmaya uygun bir yapı olduğu için başlangıç noktası olarak bunu tercih ettim.
Tabii ki zamanla:
- kendi sistemlerimi eklemeyi
- bazı mevcut sistemleri düzenlemeyi
- gereksiz gördüğüm yerleri sadeleştirmeyi
planlıyorum.
Amacım hazır bir şeyi olduğu gibi kullanmaktan ziyade üzerine kendi geliştirmelerimi koyarak daha temiz ve kontrol edilebilir bir yapı oluşturmak.
Geliştirici Günlüğü
Bu konuyu mümkün olduğunca güncel tutmaya çalışacağım.
Yeni bir şey geliştirdiğimde:
- Kısa changelog
- Ekran görüntüleri
- Bazen teknik detaylar
paylaşacağım.
