المتجهات من أهم الأمور المتعلقة بتطوير الألعاب. تتواجد في كل محرك ألعاب ويتعامل معها مطور الألعاب طوال الوقت, لها فرع كامل في الرياضيات يسمى "رياضيات المتجهات | vector math"
إستخدامات المتجهات في تطوير الألعاب كثيرة ومتنوعة مثل الموقع والسرعة والاتجاه. أيضًا للحسابات الفيزيائية مثل اكتشاف التصادم أو حتى في تقنيات الرسوميات
تعريف المتجهات
المتجه هو طول واتجاه اتجاه المتجه هو ما يجعله مختلفا عن المستقيم (طول بدون إتجاه)

يوجد نوع خاص من المتجهات يسمى ب "متجه الوحدة | unit vector"، وما يميز هذا المتجه هو أن طوله يساوي واحد، مما يعني أننا يمكننا ضرب أي قيمة بهذا المتجه لزيادة طوله وإنقاصه دون تغيير إتجاه المتجه، مما يجعله أداة ممتازة لتحديد الإتجاهات
ضرب المتجه بعدد كامل موجب لزيادة الطول، بفاصلة موجب للتقصير، سالب لعكس الإتجاه
توجد عدة طرق لتمثيل المتجهات، الطريقة الأكثر شيوعًا هي استخدام نظام الإحداثيات الديكارتية - المتواجد في الصورة - والذي يستخدم نقطتين لتحديد اتجاه المتجه وطوله هما نقطة "البداية" ونقطة "الوصول"، في محركات الألعاب دائماً ما تكون نقطة البداية للمتجهات هي نقطة الصفر. ويرمز لتلك الاحداثيات بـ"س | X" و"ص | Y"
استخدامات المتجهات في تطوير الألعاب
الموقع
أكثر الاستخدامات شيوعاً في تطوير الألعاب هو تمثيل موقع الكائنات. يتم تحديد موقع الكائن من خلال متجه على شبكة الاحداثيات في عالم اللعبة
على سبيل المثال ، يمكن تمثيل موقع اللاعب في لعبة ثنائية الأبعاد بالمتجه (س ، ص) ، حيث يمثل س وص قيمة على كلا المحورين الأفقي والعامودي، ومن خلال القيمتين على المحورين يمكننا الحصول على نقطة محددة على شبكة الإحداثيات

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

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

ومن الناحية الجبرية, فيكون الامر أبسط من ذلك حيث يتم جمع الـ س مع الـ س, ويتم جمع الـ ص مع الـ ص مثال : (5, 3) + (2, 8) = (7, 11)
الطرح
بالنسبة لطرح المتجهات, فإنه من الناحية الجبرية يمكن ذلك بسهولة, فنستطيع بسهولة طرح المتجه (5 ,5) من المتجه (3 ,3), لينتج عندنا متجه جديد تكون قيمته (2- ,2-) (5, 5) - (3, 3) = (2- , 2-)
ولكن الشيئ المختلف او الغريب هو شكل المتجه الجديد, فنجد أنه لا يكاد يكون له أي علاقة بالمتجهين الباقيين غير فقط العملية الرياضية
ولكن ما ان نضع ذيل المتجه الناتج على رأس أحد المتجهات المستخدمة في المعادلة , سنجد دائما ان راسه يتلاقى مع رأس المتجه الآخر

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