Metin2 Full Cross-Platform Geliştirme Rehberi | Sıfırdan Yazmak mı, Source Düzenlemek mi?
0
104
admin
Katılım
23 Eki 2022
Mesajlar
9,697
Çözümler
14
Tepkime puanı
9,379
Puanları
113
Yaş
28
Web sitesi
farming-simulator.r10dev.net

Metin2 Full Cross-Platform Geliştirme Rehberi (Sıfırdan mı Yazılmalı, Yoksa Source Düzenlemek Yeterli mi?)

Metin2'yi Windows, Linux, macOS, Android, iOS ve Web platformlarında çalıştırmak isteyen geliştiricilerin en çok sorduğu sorulardan biri şudur:
"Mevcut Metin2 source kodlarını düzenlemek yeterli mi, yoksa her şeyi sıfırdan mı yazmak gerekiyor?"
Bu rehberde iki farklı yaklaşımı karşılaştırarak hangi yöntemin hangi senaryo için daha uygun olduğunu detaylı şekilde inceleyeceğiz.


1. Mevcut Metin2 Source Kodlarını Düzenlemek

Bu yöntem, halihazırda kullanılan Metin2 server ve client kaynak kodlarını temel alır.

Genellikle yapılan işlemler şunlardır:

  • C++ Game ve DB Source düzenlemeleri
  • Python arayüz geliştirmeleri
  • Yeni sistemlerin eklenmesi
  • Paket (Packet) düzenlemeleri
  • Performans optimizasyonları
  • DirectX 9'dan DirectX 11 veya DirectX 12'ye geçiş
  • Hata düzeltmeleri
  • Yeni harita ve içerik eklemeleri

Avantajları

  • Mevcut oyun sistemi hazırdır.
  • Geliştirme süresi daha kısadır.
  • Mevcut Metin2 sunucuları kolayca güncellenebilir.
  • Daha düşük maliyetlidir.

Dezavantajları

  • Kod tabanı oldukça eskidir.
  • Platform bağımlılığı yüksektir.
  • Mobil desteği eklemek oldukça zordur.
  • Web desteği neredeyse mümkün değildir.
  • Kod bakım maliyeti zamanla artar.

2. Metin2'yi Sıfırdan Geliştirmek

Gerçek anlamda Cross-Platform Metin2 geliştirmek isteyen ekiplerin tercih ettiği yöntem budur.

Bu modelde eski kaynak kodları kullanılmaz.

Yeniden geliştirilen bileşenler:

  • Login Server
  • Game Server
  • Database Server
  • Ağ (Network) Sistemi
  • Oyun Motoru
  • Kullanıcı Arayüzü
  • Karakter Sistemi
  • Savaş Sistemi
  • Skill Sistemi
  • Görev (Quest) Sistemi
  • Envanter Sistemi
  • Lonca Sistemi
  • Ticaret Sistemi
Kısacası oyunun tüm altyapısı modern teknolojiler kullanılarak yeniden yazılır.


Modern Cross-Platform Mimarisi

Mobile

Browser

Windows ───────────┼────────── macOS

Linux

Cross Platform Client
(Unity / Godot / Unreal Engine)

WebSocket / TCP / QUIC

API Gateway Server

┌─────────────┴─────────────┐
│ │
Login Server Game Server
│ │
└─────────────┬─────────────┘

Character Server

MySQL / PostgreSQL / Redis

Hangi Assetler Kullanılabilir?

Eski Metin2 dosyalarının büyük bölümü yeni projeye aktarılabilir.

Örneğin:

  • Karakter modelleri
  • NPC modelleri
  • Canavar modelleri
  • Haritalar
  • Texture dosyaları
  • Ses dosyaları
  • Efektler
  • Animasyonlar
Bu sayede oyunun görünümü korunurken altyapısı tamamen modern hale getirilebilir.

Not: Ticari projelerde mevcut oyun içeriklerini kullanmadan önce lisans haklarını kontrol etmeniz önemlidir.

Modern Server Yapısı

Yeni nesil MMO sunucuları genellikle aşağıdaki servislerden oluşur.

  • Login Server
  • Authentication Server
  • Game Server
  • Chat Server
  • Guild Server
  • Party Server
  • Marketplace Server
  • Mail Server
  • Database Service
  • API Gateway
İstenirse mikro servis mimarisi ile daha ölçeklenebilir bir yapı kurulabilir.


Client Tarafında Kullanılabilecek Teknolojiler

En çok tercih edilen seçenekler:

  • Unity
  • Unreal Engine
  • Godot Engine
  • Bevy Engine (Rust)
Bu motorlar sayesinde tek bir kod tabanından aşağıdaki platformlara çıktı alınabilir.

  • Windows
  • Linux
  • macOS
  • Android
  • iOS
  • Web

Yeniden Yazılması Gereken Sistemler

Modern bir Metin2 geliştirilirken aşağıdaki sistemler sıfırdan oluşturulur.

  • Karakter sistemi
  • Hareket sistemi
  • Skill sistemi
  • Combo sistemi
  • PvP sistemi
  • Party sistemi
  • Guild sistemi
  • Ticaret sistemi
  • NPC sistemi
  • Görev sistemi
  • Envanter sistemi
  • Depo sistemi
  • Pet sistemi
  • Binek sistemi
  • Balıkçılık sistemi
  • Madencilik sistemi
  • Eşya geliştirme sistemi
  • Ağ protokolü
  • Güvenlik sistemi
  • Anti-Cheat sistemi

Hangi Yöntem Tercih Edilmeli?

Eğer Amacınız;

  • Yeni sistem eklemek
  • Sunucuyu geliştirmek
  • Hataları düzeltmek
  • Performansı artırmak
ise mevcut Metin2 source kodlarını düzenlemek yeterlidir.


Eğer Amacınız;

  • Windows
  • Linux
  • macOS
  • Android
  • iOS
  • Web
platformlarının tamamını destekleyen modern bir Metin2 geliştirmekse, sunucu ve istemciyi büyük ölçüde veya tamamen yeniden yazmanız gerekir.


Sonuç

Mevcut Metin2 kaynak kodları üzerinde yapılan düzenlemeler kısa vadede hızlı sonuç verse de, gerçek anlamda Full Cross-Platform desteği sağlamaz. Mobil cihazlar ve web tarayıcıları için modern bir Metin2 geliştirmek isteyen ekiplerin, eski oynanışı koruyup altyapıyı günümüz teknolojileriyle yeniden tasarlaması en doğru yaklaşımdır.

Bu yöntem daha uzun geliştirme süresi gerektirse de; bakım kolaylığı, yüksek performans, ölçeklenebilirlik ve çoklu platform desteği sayesinde uzun vadede çok daha sürdürülebilir bir çözüm sunar.
 
Üst
Reklam Ver
R10dev.net'i ana ekrana ekle!