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

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

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

في الحقيقة الألعاب أو غيرها من البرامج تكون عبارة عن سطور برمجية تم كتابتها لتظهر بشكل معين على الشاشة، وقديما كان يتم كتابة كل لعبة من الصفر وبشكل مستقر.

أي أن المبرمج كان يقوم بكتابة جميع أوامر اللعبة وجميع ما يعرض على الشاشة بخصوص اللعبة من الصفر تمامًا وهذا يعتبر مجهودًا كبيرًا جدًا.

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

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

لكن ما هو محرك الألعاب؟

محركات الألعاب - Game Engine - unreal - frostbite - unity

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

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

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

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

المدخلات

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

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

كما يوجد وسيلة برمجية أخرى تعرف بإسم polling وهي مسؤولة عن الإحداثيات X,Y وبالمناسبة برمجيات الاحداثيات تكون مسؤولة عن مؤشر الفأرة وتأثير حركته على الشاشة، كما أنها هامة جدًا في الألعاب التي تستعمل شاشة باللمس مثل ألعاب الهواتف الذكية.

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

الرسوم

محركات الألعاب - Game Engine - unreal - frostbite - unity

نسمع كثيرًا أن هذه اللعبة جاءت برسوم رائعة بفضل المحرك الخاص بها، أو لعبة أخرى لم تقدم رسوم جيدة بسبب المحرك، وهو ما يجعل البعض يعتقد أن محرك الألعاب مخصص لتصميم الرسوم وهو اعتقاد خاطئ.

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

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

الذكاء الاصطناعي

محركات الألعاب - Game Engine - unreal - frostbite - unity

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

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

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

نفس الأمر في ألعاب التسلل، هل تساءلت يومًا عن سبب شعور العدو بك إذا كنت تجري وعدم شعوره بك إذا كنت تسير ببطئ؟، بكل بساطة هذه برمجيات الذكاء الاصطناعي.

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

فيزياء!

محركات الألعاب - Game Engine - unreal - frostbite - unity

نعم كما قرأت عزيزي القارئ، المحرك يعمل على فيزياء اللعبة، وفيزياء اللعبة هي المسؤولة عن محاكاة العالم الواقع داخل اللعبة، لنوضح الأمر ببعض الأمثلة.

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

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

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

هل هذا فقط؟

محركات الألعاب - Game Engine - unreal - frostbite - unity

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

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

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

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

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

في النهاية يجب التأكيد على أن بعض المعلومات الموجودة في المقال مأخوذة من كتاب After the Gold Rush للكاتب Steve McConnell كما تم أخذ بعض المعلومات من موقع studytonight