Ancient Online: Remastered'ı Windows, Linux, macOS, Android ve iOS oyuncularının buluşacağı tek bir dünya olarak tasarlıyoruz. Kâğıt üzerinde basit görünüyor: aynı oyun, beş platform. Ama fareyle tıklanarak oynanmak için tasarlanmış klasik bir MMORPG'yi telefona ve kumandaya taşımak, bir sürü zor karar vermek demek. Geliştirme günlüğünün bu bölümünde bu kararları ve nedenlerini anlatıyoruz.
Oyun geliştirme aşamasında. Geliştirme sürümünü şu an Windows ve Android'de test ediyoruz; macOS, Linux ve iOS hedeflediğimiz öteki platformlar.
Kural 1: Tek dünya, tek kurallar
Telefondan oynayanlar için ayrı sunucu ya da "kolaylaştırılmış" bir denge yok. Oyunun bütün kuralları sunucuda çalıştığı için hangi cihazdan bağlanırsanız bağlanın aynı dünyada, aynı kurallarla oynarsınız. Hesap, karakter, envanter ve lonca cihaza bağlı değil. Sunucu tarafını geliştirme günlüğünün ilk bölümünde anlattık.
Bu kuralın oyun tarafındaki anlamı şu: Her platform farklı kontroller sunabilir ama hiçbir platform farklı yetenekler sunamaz.
Dokunmatik ekran: küçültmek değil, baştan düşünmek
Klasik MMORPG arayüzünü olduğu gibi küçültüp telefona koymak işe yaramaz. Tuşlar parmak için fazla küçük, ekran da fazla kalabalık olur. Bu yüzden telefon için ayrı bir arayüz tasarladık:
- Yüzen joystick: Ekranın sol yarısında parmağınızı nereye koyarsanız joystick oraya gelir. Ekranda belli bir noktayı tutturmanız gerekmez.
- Basılı tutulan saldırı tuşu ve çevresinde beceri tuşları.
- Dokunarak hedef seçme: Bilgisayardaki "canavara tıkla" alışkanlığının telefondaki karşılığı.
Bilerek yapmadığımız bir şey de var: dokunarak yürüme. Hareketi joystick yönetiyor. İki ayrı hareket yöntemi olsaydı, hedefi ıskalayan her dokunuş karakteri istemeden bir yere koştururdu. Savaşın ortasında bu kabul edilemez.
Küçük ama önemli bir karar daha: Telefonda aynı anda yalnızca birkaç slot görünüyor. Bu yüzden beceri sayfaları arasında bilgisayardakinden çok daha sık geçiş yapılıyor. İksir slotlarını sayfalardan bağımsız yaptık; sayfa değiştirince iksirler yerinde kalıyor. Bu, arayüzde bir kutuyu taşımaktan fazlasını gerektirdi: İksir slotlarını kullanan kodu sayfa mantığından tamamen ayırmamız gerekti.
Kamera ve çoklu dokunuş
Telefonda kamera, boş bir yerde parmağı kaydırarak döner. Bunun için arayüzün en üstüne tam ekran bir "kamera alanı" koymak kolay görünüyordu. Ama böyle bir katman, altındaki bütün tuşlara yapılan dokunuşları yutardı. Kamera kaydırmayı arayüz katmanında değil, karakteri yöneten kodda ele aldık; böylece tuşlarla kamera çakışmıyor. Hedef seçmeyi kamera kaydırmadan ayırmak için de küçük bir hareket sınırı kullanıyoruz. Parmak bu sınırı aşana kadar kamera kıpırdamıyor. Sınır aşılınca kamera ani bir sıçrama yapmadan dönmeye başlıyor.
Kumanda: menülerde de gezinmek
Kumanda desteğini sadece savaş için değil, bütün arayüz için tasarladık. Kumandayla envanterde ve menülerde gezinebilmek için yön tuşlarıyla bir öğeden ötekine geçmeyi ekledik. Burada da bir tuzak vardı: Yön tuşları ve onay/geri tuşları hem menüde gezinmek hem de hızlı slotları kullanmak için gerekiyor. Çözümümüz şu: Bir pencere açıkken bu tuşlar menüde gezinir, pencere kapalıyken hızlı slotları kullanır. Savaşın ortasında oyuncu fark etmeden "menü moduna" geçmek bu sistemdeki en kötü hata olurdu.
Oyun, en son hangi cihazla oynadığınızı takip ediyor. Kumandaya geçince dokunmatik tuşlar ekrandan kalkıyor.
Ayarlar da cihaza göre
Ayarlar penceresi cihaza göre değişiyor. Fare ve klavye sekmeleri yalnızca bilgisayarda, dokunmatik sekmesi yalnızca telefonda görünüyor. Lumen, DLSS ve FSR gibi bilgisayara özel grafik seçeneklerinin yerine telefonda çözünürlük ve kenar yumuşatma seçenekleri var. Her cihazda yalnızca gerçekten işe yarayan ayarları gösteriyoruz.
30 dil ve dile göre ölçülen arayüz
Oyun ve sitelerimiz 30 dili hedefliyor. Çok dilli bir arayüzün görünmeyen zorluğu metin uzunluğu: Aynı tuş yazısı bir dilde kısa, başka bir dilde iki katı uzun olabiliyor. Ayarlar penceresindeki sekmelerin genişliğini eşit paylaştırmak yerine, her yazının o dildeki gerçek genişliğine göre hesaplıyoruz. Dil değişince düzen yeniden hesaplanıyor. Dil seçicide her dil kendi adıyla yazıyor.
Sohbet çevirisi kendi sunucumuzda
Farklı ülkelerden oyuncular aynı dünyada anlaşabilsin diye sohbet mesajları okuyanın diline çevriliyor. Bu sistemi kurarken iki ilkemiz vardı:
- Mesajlar dışarı çıkmaz. Çeviriyi kendi sunucularımızda, yalnızca işlemciyle çalışan bir model yapıyor. Hiçbir dış çeviri servisi kullanılmıyor.
- Oyuncuların dili korunur. MMORPG sohbeti kısaltmalar, oyun terimleri ve emojilerle dolu. Oyuna özel bir terim sözlüğü kullanıyoruz ve emojiler çeviride kaybolmasın diye onları ayrıca koruyoruz.
Devamı
Telefon performansı ve hedeflediğimiz öteki platformlar üzerindeki çalışmamız sürüyor. Oyuncu tarafındaki kontrollerin tam listesi için oyun sitesindeki PC ve mobil çapraz platform rehberine bakabilirsiniz. Stüdyomuzu tanımak için Astronaut Entertainment kimdir? yazısını okuyabilirsiniz.


