المعلوماتية > برمجة الألعاب
التأخير الزمني في الألعاب
أدت زيادة عدد اللاعبين في الفضاء الإلكتروني إلى عدة دراسات عن تأثير التأخير الشبكي “Latency Lag” في اللاعبين وفي فعالية الأنظمة المستخدمة للتعويض عن هذا التأخير؛ إذ تؤثر على نحو كبير في تجربة اللاعب -أو المستخدم عمومًا- في مجال الألعاب الإلكترونية.
يعرف التأخير (Latency) بأنه الفارق الزمني بين إصدار الأمر واستجابة نظام اللعبة (1)؛ إذ تختلف حالة اللعبة ضمن هذا الفارق الزمني، وهو ما يعني أنّ نظرة المستخدم إلى عالم اللعبة متأخرةٌ أيضًا؛ مما يعيق اللاعب عن اتخاذ القرارات المناسبة للفوز في اللعبة (2).
وعلى سبيل المثال؛ عندما يطلق لاعبٌ من لاعبي ألعاب الحرب الإلكترونية First Person Shooter -من أمثال لعبة Call of Duty أو PUBG- النارَ في اللعبة على أحد اللاعبين الآخرين، في حين ينتقل اللاعب الآخر في الوقت الحقيقي إلى مكان آخر، فيؤثر التأخير الزمني في تجربة المستخدم هنا وفي أدائه أيضًا.
هناك العديد من الأنظمة التي لا تُنجَز فيها أيةُ عملية مزامنة وتصحيح أو محاولات لتخفيف هذا التأخير، وعندها يُطلَق على الزبون أو تطبيق اللعبة بالتطبيق الغبي (Dump Client) تماشيًا مع التسمية المطلقة قديمًا على مُنفذ الأوامر (Dump Terminal). ويمكن في الحقيقة أن تُستخدَم هذه الطريقة في العديد من الحالات بحيث يترك النظام للمستخدم عمليات المزامنة باستخدام شبكاتٍ أسرع وأجهزةٍ أكثر قدرة على المعالجة السريعة للأوامر، لكنّ هذه ليست هي الحال في معظم ألعاب الإنترنت الجماعية حاليًّا (3).
توجد عديدٌ من الطرائق المستخدمة حاليًّا لتخفيض تأثير هذا التأخير، وتحدد فعالية هذه الطرائق عن طريق تعديل قيمة التأخير المُقاس بالميلي ثانية (ms) ومراقبة أداء اللاعبين في اللعبة؛ إما بواسطة نظام نقاط معين، وإما باستخدام التغذية الراجعة من اللاعبين أنفسهم (1).
ومن هذه الطرائق توقعُ حالة اللعبة في المستقبل وتطبيق الأوامر المتوقعة على اللعبة من المُخدّم بدلًا من اللاعب، ومن ثم تُخفى ليبدو كأنما اللاعب أو الشيء المتحرك فعلَ هذا الأمر وليس الخادم.
تجدر الإشارة هنا إلى أن عمليات التوقع هذه تحدث على مستوى التطبيق وليس المخدم، فيتمكن اللاعب من رسم صورة أفضل وأقرب للواقع الموجود على المخدم باستخدام هذه الطرائق. وعلى سبيل المثال؛ في حال إطلاق مقذوف فإنّ مسار هذا المقذوف يمكن توقعه، ولا يحتاج المخدم أو الزبون كتطبيق اللعبة إلى كمٍّ كبير من البيانات لتحديد موضع المقذوف هذا، ويمكّن هذا -نظريًّا- من تطبيق الخوارزميات التوقعية على حركات أكثر تعقيدًا، لكنّ الإفراط باستخدامها يمكن أن يجعل الشخصيات والأشياء تختفي وتظهر على نحو شبه عشوائي في واقع اللعبة الافتراضي عند مرحلة المطابقة والتصحيح مع المعلومات القادمة على نحو حقيقي من المخدم.
كذلك يمكن تعديل الحالة القادمة من المخدم بحيث تُعدّ حالةً نهائية، ويمرُّ الزبون هنا بعدد من الحالات البينية للوصول إلى الحالة النهائية المطلوبة. وعلى الرغم من أن هذه الطريقة تساعد على تخفيف المشكلات البصرية؛ فهي كافية لحد أعلى مسموح به قبل أن تظهر تقطُّعات في مكان الشخصيات أو المقذوفات بحيث تختفي فجأة وتظهر في مكان آخر (3).
توجد أيضًا طريقة مزامنة الأوامر بما يسمى تقنية "Time Warp" التي أجراها المستخدم مع وقت اللعبة في المخدم؛ إذ تبدو الأوامر جميعها وكأنّها حدثت مباشرةً حين يؤدي اللاعب أمرًا ما. ولكن إذا كان وقت المزامنة أكبر من قيمة تأخير الشبكة للاعبٍ من اللاعبين، سيكون التأثير فيه كبيرًا؛ إذ سيظهر مثلًا أنه تخفّى وراء زاوية ما هربًا من مقذوف ليُصاب به بعد الهرب، لأن لاعبًا آخر أصابه قبل أن ينجز حركته تلك بالنسبة إلى وقت المخدم (1).
يطرح فريقٌ من الباحثين في جامعة KAIST في كوريا الجنوبية طريقةً أخرى لحل هذه المشكلة في ألعاب من نوع آخر؛ أي في لعبة من نمط Flappy Birds وألعاب العوائق البصرية عمومًا؛ إذ يطرح الباحثون أنموذجًا جديدًا تُعدَّل فيه العوائق في اللعبة بحيث تتجاوب مع التأخير الزمني الشبكي دون التلاعب بزمن اللعبة لدى المستخدم أو اللاعب (2).
ويمكن لهذا الأنموذج أن يخفف من خطأ اللاعب ويحسّن أداءَه حتى لو اختلف التأخير الزمني، ويطوّر هذا البحث من الطرائق السابقة من خلال افتراضين:
- الأول: إنّ التأخير الزمني يخفف من الوقت الذي يمكن فيه للمستخدم رؤية العوائق.
- الثاني: إن التأخير يدفع بمتوسط توزيع الدخل إلى الخلف.
إضافةً إلى ذلك، أُجريت تجارب أخرى لأنواع أخرى من الألعاب؛ ألعاب الواقع الافتراضي VR، ففي عام 2019 اقترح باحثان آخران طريقةً جديدة لتخفيف هذا التأخير، علمًا أنه لا يمكن أن يُلغَى تمامًا. وفي الحقيقة؛ يمثّل هذا تحديًا كبيرًا لسبب مهم هو المدى المنخفض جدًّا الذي يُعدّ معه التأخير مقبولًا؛ إذ يجب أن يكون أقل من 20ms، ويظهر هذا الرقم تماشيًا مع دراسات أخرى عَمِدت إلى تحديد القيمة التي يُعدّ عندها التأخير مقبولًا، والتي توصلت إلى أن التأخير المقبول يتألف من القيم الآتية (3):
- الألعاب الإستراتيجية عبر الإنترنت < 500ms
- الألعاب الحربية < 150ms
- ألعاب الواقع الافتراضي < 20ms
يقترح الباحثان -كجزء من حل هذه المشكلة- نمذجة عدة احتمالات لشكل النظام وحالة اللعبة مستقبلًا، وتقديم أكثر الاحتمالات توقعًا إلى اللاعب ليأخذ القرار المناسب للتعامل مع الحال في اللعبة.
تستخدم الشبكات العصبونية لأداء عمليات النمذجة عن طريق الخوارزمية الآتية (3):
- ترسل بيانات تحدد مكان الشخصية إلى المُخدّم.
- يستنبط نمط حركة الشخصية من السلسلة الزمنية لقيم الموضع للشخصية.
- يتوقع المخدم النقاط التالية التي يمكن أن تكون فيها الشخصية.
- ينمذج المخدم حالةَ اللعبة بناءً على هذه المعطيات المتوقعة.
- يقدم المخدم النتيجة إلى التطبيق/ اللعبة لتُعرَض على اللاعب/ المستخدم.
- يمكن للزبون أن يتجاهل بعض القيم المُقدَّمة من المخدم على نحو اختياري.
المصادر:
(1) Web.cs.wpi.edu. 2020. Impact Of Latency On The Player In Online Games. [online] Available at: هنا [Accessed 10 April 2020].
(2) Kuaa.net. 2019. Geometrically Compensating Effect Of End-To-End Latency In Moving-Target Selection Games. [online] Available at: هنا [Accessed 10 April 2020].
(3) Arxiv.org. 2019. Predictive Simulation: Using Regression And Artificial Neural Networks To Negate Latency In Networked Interactive Virtual Reality. [online] Available at: هنا; [Accessed 10 April 2020].