اهم 3 تقنيات لتحسين وتعزيز تحكم حركة اللاعب

تجربة اللعبتصميم

الشخصية التي صنعتها لعالمك, القصة تتمحور حولها, ومن خلالها سيري اللاعب عالمك, وخلال طول الرحلة لن تفارق عينا اللاعب هذه الشخصية, بل وهي ما ستكون موجودة على شاشته طول الوقت, وطوال الرحلة.

لذا سيكون قرارا عظيما أن تعطي لهذه الشخصية تحكما سلسا, بل يمكنني أن أقول انك ان تجاهلت هذا العنصر فتكون قد حكمت على لعبتك بنهايتها حتى قبل بدايتها ؛ فاللاعب لا يريد الدخول في صراع ضد الأعداء وضد التحكم في نفس الوقت, فقط ليجعل الشخصية تتحرك كما يريد.

ارتفاع القفز

ارتفاع القفز المتغير غالبا قد لاحظته في معظم الالعاب بشكل عام, وتقريبا في كل العاب المنصات – platforming – بشكل خاص, فهو ليس شيئا خفيا كـ وقت النجاة أو الـ قفزة المختزنة, وهما ما سيتم التطرق لهما فيهما بعد.

ببساطة فإن هذا هو ما يسمح لك بالتحكم بارتفاع القفز تبعا لمدة ضغطك على زر القفز, مما يعني تحكما أكبر, ومسارات مختلفة لسلوكها.

في الحقيقة ليس ضروريا دائما ان تضيف هذه الخاصية, فهذا في النهاية يعتمد على لعبتك, فقد تكون لعبتك لا تركز علي التنقل بين المنصات بشكل كبير, ولا تخطط لإضافة اي تعقيد, ففي هذه الحالة لا مشكلة أن تتجاهل هذه الخاصية.

لكن إذا كانت لعبتك من فئة ألعاب المنصات, فبالتأكيد هذا احد اركان اللعبة, و ستحاول دائما وضع اللاعب في تحدي للتنقل بين مختلف أنواع المنصات, ففي هذه الحالة سيحتاج اللاعب تحكما أكبر ليستطيع التقدم عبر عالم اللعبه بنجاح, وبأقل جهد ممكن.

أما عن تطبيقه فهو امر بسيط جدا.
في العادة القفز يكون عن طريق تحديد قيمة عظمى لأرتفاع القفزة, وعند ارسال امر القفز يتحرك اللاعب راسيا, وتزداد قيمة الحركة الرأسية حتى تصل للقيمة العظمى, ثم بعد ذلك تبدأ الشخصية بالرجوع للأرض بتأثير الجاذبية.

إذا لتقوم بالتحكم بارتفاع القفز, فببساطه اذا تم سحب زر القفز, فبدلا من ان تتحرك الشخصية لاعلي بالسرعة التي تكون حددتها, ولنفترض أن قيمتها 1, عليك جعل اللاعب يرتفع بسرعة أقل من 1 ولتكن 0.5 مثلا, فلا تجعلها قليلة جدا, فتبدو كان اللاعب ارتطم بالهواء, ولا تجعلها كبير فيبدو أنه لم يتغير شيء.

لكن يوجد شيء عليك الانتباه له, تقليل السرعة فقط في حاله تم سحب زر القفز أثناء ارتفاع اللاعب, وليس اثناء رجوعه للأرض بفعل الجاذبية, ففي هذه الحاله تكون القفزة تمت بالفعل, ولا مجال لتغيير ارتفاعها.

بالطبع هناك طرق اخري, ولكن المهم ان تفهم الفكرة الأساسية.

وقت النجاة – coyote time

أثناء سيرك كالعادة في اللعبة لمحت أحد الحواف تقترب من بعيد, والان انت تستعد للقفز؛ لانك بالطبع لا تريد أن تسقط في الحفره التي ليس لها نهاية, لكن ياللاسف لقد اخفقت في هذا ووقعت في الحفره, وعليك أن تبدأ اللعبة من جديد, لكن مهلا ما الذي حصل للتو؟!

انت مستعد ان تقسم أنك ضغطت زر القفز, لكن في نفس الوقت أنت لم تر الشخصية تستجيب لهذا, ولابد انك تفكر انه خطأ برمجي او ماشابه.

قبل ان تفكر ان المبرمج لم يقم بعمله دعني أخبرك ماذا حدث.
ما حصل هنا كان انك ضغطت زر القفز لكن بعد ان كنت تجاوزت نهاية الحافة بالفعل, وبالطبع لن يمكنك القفز على الهواء أليس كذلك؟
يبدو انه ولسبب من الأسباب نسي المبرمج إضافة ما يسمي بـ وقت النجاة.

ولكن ما هو وقت النجاة؟!
ببساطة هو ما يسمح لك بالقفز بعد أن تكون قد تجاوزت الحافة ببضع أجزاء من الثانية, فإذا نظرت بتمعن لشخصية مادلين -من لعبة Celeste – عند لحظة القفز, ستجد انها قفزت بعد أن كانت قد تجاوزت الحافة بالفعل, او بمعني اخر قفزت عندما كانت في الهواء.

حسنا الان حان وقت معرفة كيف يمكنك فعل شيء كهذا.
ببساطة يمكنك عمل مؤقت يبدأ لحظه ابتعاد الشخصية عن الأرض, وطالما لم يتخطى هذا المؤقت وقتا معينا -تكون قد حددته مسبقا في متغير مثلا وعادة ما تكون قيمة أصغر من الواحد- سيكون بإمكان الشخصية القفز.

لكن هذا في حالة ان ابتعاد الشخصية عن الأرض كان بواسطة الوقوع مثلا, أو تجاوز الحافة, وليس عند ابتعادها بالقفز, فحينها ستكون قد اضفت بالخطأ نوعا ما قفزة مزدوجة.

ويمكنك حله بان تجعل المؤقت اكبر من وقت النجاة عند القفز, فحينها لن يمكن للشخصية القفز بما أن الشرط لم يتحقق, وهو أن يكون المؤقت أقل من وقت النجاة, ولا تنسي بعد هذا أن تقوم بجعل قيمة المؤقت صفرا طالما كانت الشخصية ملامسة للارض.

القفزة المختزنة : Jump Buffer

من المعروف ان احد شروط القفز هو التحقق اولا ان الشخصية ملامسة للأرض أليس كذلك؟
لكن تخيل انك قفزت بالفعل, وها انت تهبط وعلى وشك ملامسة الأرض, وتستعد للقفز مرة أخرى لسبب من الاسباب, لكن لم تنجح في القفز هذه المرة, رغم انك متأكد انك حققت شرط ملامسة الأرض.

الأمر يبدو بالفعل أنك قمت بالضغط في الوقت المناسب, لكن الحقيقة هي العكس, فما حصل انك ضغطت قبل أن تلامس شخصيتك الأرض ببضعة اجزاء من الثانية, وهو بالتأكيد أمر غير ملحوظ بالنسبة للعين البشرية.

لكن لم هذا يحصل في لعبتك دونا عن بقية الالعاب المشهوره التي قد جربتها مسبقا؟!
انت بالفعل تعرف أن أحد شروط تنفيذ القفز هو أن تكون شخصيتك ملامسة للأرض, وهذا صحيح بالفعل, لكن ما قد لا تعرفه انه ليس شرطا ان تكون ملامسا للأرض لحظة الضغط على زر القفز.

ستتعرف الان علي ما يسمي بالـ قفزة المختزنة, إذا ما هي الـ قفزة المختزنة؟!
ببساطة هو ما يجعل الشخصية تقفز في حالة أن اللاعب أخطأ التقدير وضغط زر القفز قبل أن يلمس الأرض, وفي هذه الحالة – التي تتكرر كثيرا بالمناسبة – ستقوم الشخصية بالقفز لحظة ملامسة الأرض, بالضبط كما كان اللاعب يريد.

سيكون من الصعب ملاحظة هذا بدون ان تجرب بنفسك؛ لانه في المثال التالي, قمت بالضغط علي زر القفز قبل ملامسة الشخصية للأرض ببضعة أجزاء من الثانية, وبما أن خاصية الـ قفزة المختزنة موجودة, فقد قفزت الشخصية لحظة ملامستها للأرض, بالضبط كما كنت اريد.

إذا كيف يمكنك تطبيق هذا؟
الأمر مشابه للطريقة السابقة, فستقوم ايضا بعمل مؤقت, بحيث يبدأ في العد لحظة الضغط على زر القفز, وفي نفس الوقت, يجب أن تكون الشخصية غير ملامسة للارض, اي انه سيحتاج شرطان ليبدا في العد.

بعد ذلك عندما تلمس الشخصية الأرض بالفعل, ستقوم بالتحقق من قيمة المؤقت, فإذا كانت قيمته اصغر من او تساوي قيمة الـ قفزة المختزنة التي تريدها, وكنت قد حددتها مسبقا في متغير مثلا -وايضا عادة ما تكون قيمة أصغر من الواحد- فحينها تقوم بارسال امر القفز للشخصية,وفي نفس اللحظه, ان تصبح قيمة المؤقت أكبر من قيمة الـ قفزة المختزنة, لكي لا تمكن الشخصية بالخطأ من القفز عدة مرات طالما كانت قيمة المؤقت أقل من قيمة الـ قفزة المختزنة, وبطبيعة الحال إذا كانت قيمة المؤقت أكبر من قيمة الـ قفزة المختزنة, لحظة ملامسة سطح الأرض فلن يحدث شيء.

لماذا نفعل هذا؟

للوهلة الاولى فان بعض ما قرأته هنا قد يبدو كانه غش, او تسهيل للاعب, وان اللاعب هكذا لم يكمل التحدي بشكل حقيقي؛ لأنك ساعدته بهذه التقنيات الخفية, لكن العكس هو الصحيح.

فإن كنت تجاهلت مثل هذه أشياء, فيشعر اللاعب بأن لعبتك أصعب بكثير, أو حتى غير مصقوله – وهو ما تريد تفاديه بالطبع- وان كنت قد لاحظت فإن المبدأ الأساسي هو حماية اللاعب من أخطائه ففي النهاية اذا كان مقتنعا انه ضغط زرا في وقت مناسب -رغم أنه مخطئ- فهذا فقط سيعود بالضرر على لعبتك.

ماذا الآن؟

لقد تعرفت الآن على بعض التقنيات المهمة جدا, التي بلا شك ستؤدي لتغير ملحوظ في تجربة اللعبة خاصتك, لذا في المرة القادمة عندما يخبرك صديقك انه لم يستطع القفز في لعبتك, رغم انه ضغط زر القفز في الوقت المناسب.

 فبدلا من ان تقنعه ان ردة فعله متاخره او مبكرة قليلا, يتوجب عليك أن تضيف تقنيات مثل ما ذكرته لتساعد اللاعب في حمايته من أخطائه ويحظي بتجربة أفضل في عالم لعبتك.

قد تكون هناك استثناءات, ولكن هذا فقط في حالة كنت تعرف حقا ما تفعل, وخبرتك كبيرة لدرجة انني سأستغرب لماذا تقرأ مثل هذه مقالة.

تذكر دائما ان هذه العاب ولا تخضع لقوانين عالمنا الحقيقي؛ لذا ليس عليك ان تمنع نفسك من وضع مثل هذه تقنيات, فقط لأنها غير منطقية, اوغير موجودة في العالم الحقيقي, فكر دائما في كيفية مكافاة اللاعب قبل أن تفكر في عقابه.

3.7 3 votes
Article Rating
Subscribe
نبّهني عن
guest

0 تعليقات
Inline Feedbacks
View all comments