كل المقالات

عالم واحد، خمس منصات — يوميات التطوير #2: تحديات تطوير MMORPG متعددة المنصات

جعل MMORPG واحدة قابلة للعب بالفأرة وشاشة اللمس ويد التحكم: خيارات Ancient Online في الواجهة والتحكم و30 لغة وترجمة الدردشة محليًّا.

يد تحكم ألعاب على مكتب في ضوء خافت تنعكس عليها ألوان حمراء وفيروزية

نصمّم Ancient Online: Remastered لتكون عالمًا واحدًا يلتقي فيه لاعبو Windows وLinux وmacOS وAndroid وiOS. يبدو الأمر بسيطًا على الورق: لعبة واحدة وخمس منصات. أما عمليًّا فنقل لعبة MMORPG كلاسيكية صُمّمت لتُلعب بنقرات الفأرة إلى الهواتف وأيدي التحكم يعني سلسلة من القرارات الصعبة. في هذا الجزء من يوميات التطوير نشارك تلك القرارات وأسبابها.

اللعبة قيد التطوير. تُختبر نسخة التطوير حاليًا على أجهزة Windows وAndroid؛ أما macOS وLinux وiOS فهي المنصات الأخرى التي نستهدفها.

القاعدة 1: عالم واحد، مجموعة قواعد واحدة

لا يوجد خادم منفصل ولا توازن «مبسّط» للاعبي الجوال. ولأن كل قواعد اللعبة تعمل على الخادم، فأنت تلعب في العالم نفسه وبالقواعد نفسها أيًّا كان الجهاز الذي تتصل منه. حسابك وشخصيتك وحقيبتك ونقابتك مستقلة عن الجهاز. تناولنا جانب الخادم في الجزء الأول من يوميات التطوير.

وبالنسبة إلى العميل تعني هذه القاعدة أن المنصات المختلفة يمكن أن تقدّم أدوات تحكم مختلفة، لكنها لا تستطيع أن تقدّم قدرات مختلفة.

شاشات اللمس: إعادة تفكير لا تصغير

تصغير واجهة MMORPG الكلاسيكية كما هي ووضعها على الهاتف لا ينجح؛ فتصير الأزرار أصغر من أن يصيبها الإصبع والشاشة مزدحمة أكثر مما ينبغي. لذلك صمّمنا طبقة واجهة مستقلة للجوال:

  • عصا تحكم عائمة: أينما وضعت إصبعك في النصف الأيسر من الشاشة جاءت العصا إليه؛ فلا يضطر اللاعب إلى إصابة موضع بعينه في الشاشة.
  • زر هجوم بالضغط المطوّل يحيط به قوس من المهارات.
  • النقر لتحديد الهدف: المقابل اللمسي لعادة «انقر على الوحش» في الحاسوب.

وهناك أيضًا شيء تعمّدنا ألا نفعله: التحرك بالنقر. عصا التحكم تتولى الحركة. ولو وُجد نظامان للحركة لتحوّلت كل نقرة أخطأت هدفها إلى ركضة غير مقصودة، وهذا غير مقبول وسط القتال.

وقرار آخر صغير لكنه مهم: على الهاتف لا تظهر في المرة الواحدة إلا خانات قليلة، فيتكرر التبديل بين صفحات المهارات أكثر بكثير مما على الحاسوب. جعلنا خانات الجرعات مستقلة عن الصفحات؛ فحين تبدّل الصفحة تبقى جرعاتك في مكانها. وقد تطلّب ذلك أكثر من نقل خلية في الواجهة: كان علينا أن نفصل الشيفرة التي تستخدم خانات الجرعات عن منطق الصفحات فصلًا تامًّا.

الكاميرا واللمس المتعدد

على الهاتف تدور الكاميرا حين تسحب إصبعًا على منطقة فارغة. كان تنفيذ ذلك بوضع «منطقة كاميرا» تملأ الشاشة فوق الواجهة مغريًا، لكن طبقة كهذه كانت ستبتلع اللمسات الموجّهة إلى كل زر تحتها. وبمعالجة سحب الكاميرا في متحكم اللاعب لا في طبقة الواجهة منعنا التعارض بين الأزرار والكاميرا. ونميّز أيضًا تحديد الهدف من سحب الكاميرا بعتبة حركة صغيرة: ما دامت العتبة لم تُتجاوز لا تتحرك الكاميرا، وحين تُتجاوز تبدأ بالدوران دون قفزة مفاجئة.

أيدي التحكم: التنقل في القوائم أيضًا

صمّمنا دعم يد التحكم للواجهة كلها لا للقتال وحده. وللتنقل في الحقيبة والقوائم بيد التحكم أضفنا تنقّلًا بالتركيز عبر أزرار الاتجاهات (D-pad). وكان هنا فخّ أيضًا: أزرار الاتجاهات وزرّا التأكيد والرجوع مطلوبة للتنقل في القوائم ولاستخدام خانات الوصول السريع معًا. والحل: ما دامت نافذة مفتوحة تتنقل هذه الأزرار في القائمة، وحين تُغلق تعود إلى خانات الوصول السريع. والانزلاق بصمت إلى «وضع القائمة» وسط القتال كان سيكون أسوأ خلل يمكن أن يصيب هذا النظام.

تتابع اللعبة آخر جهاز إدخال استخدمته: حين تنتقل إلى يد التحكم تنسحب أزرار اللمس من الشاشة.

الإعدادات تتبع المنصة أيضًا

تأخذ نافذة الإعدادات شكلها من الجهاز: تبويبا الفأرة ولوحة المفاتيح يظهران على الحاسوب فقط، وتبويب اللمس يظهر على الهواتف فقط. وخيارات الرسوم الخاصة بالحاسوب مثل Lumen وDLSS وFSR تُفسح المجال على الجوال لخيارات الدقة وتنعيم الحواف. فعلى كل جهاز لا نعرض إلا الإعدادات التي لها أثر فعلي فيه.

30 لغة وواجهة تُقاس لكل لغة

تستهدف اللعبة ومواقعنا 30 لغة. والصعوبة الخفية في الواجهة متعددة اللغات هي طول النص: فتسمية الزر نفسها قد تكون قصيرة في لغة وضعف طولها في أخرى. نحسب عرض التبويبات في نافذة الإعدادات من العرض الفعلي لكل تسمية في تلك اللغة بدل إعطائها حصصًا متساوية؛ وحين تتغير اللغة يُعاد حساب التخطيط. وفي قائمة اختيار اللغة تُكتب كل لغة باسمها هي.

ترجمة الدردشة على خوادمنا نحن

لكي يفهم اللاعبون من بلدان مختلفة بعضهم بعضًا في العالم نفسه، تُترجَم رسائل الدردشة إلى لغة القارئ. وكان لنا مبدآن في بناء هذا النظام:

  1. الرسائل لا تغادر خوادمنا. تتم الترجمة على خوادمنا نحن بنموذج محلي يعمل على المعالج (CPU) وحده؛ ولا يُستخدم أي API ترجمة خارجي.
  2. الحفاظ على لغة اللعبة. دردشة MMORPG مليئة بالاختصارات ومصطلحات الألعاب والإيموجي. نستخدم مسردًا خاصًّا باللعبة، ونحمي الإيموجي على حدة كي لا يضيع أثناء الترجمة.

ما التالي

يستمر العمل على أداء الجوال وعلى المنصات الأخرى التي نستهدفها. وللقائمة الكاملة لأدوات التحكم من جهة اللاعب، ألقِ نظرة على دليل اللعب عبر المنصات على الحاسوب والجوال في موقع اللعبة. وللتعرف على استوديونا اقرأ من هي Astronaut Entertainment؟.

مشاركة:
متاح أيضًا بـ29