Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Game Development
  2. Gamedev Glossary

مصطلحات تطوير الالعاب ما هي دورة اللعبة Game Loop

by
Length:ShortLanguages:

Arabic (العربية/عربي) translation by Mohammad Al Tahan (you can also view the original English article)

في هذه المقالة، سأقوم بتوضيح الأساس الخاص بكل لعبة: دورة اللعبة Game Loop. كل الكود الذي يكوِّن المتعة والديناميكية في اللعبة موجود في دورة اللعبة، ولكنه مقسم الى اقسام مختلفة. دورة اللعبة بحد ذاتها هي دورة مخططة لا نهائية تجعل اللعبة تعمل بشكل مستمر، وهي المكان التي يتم فيها تحديث ورسم كل القطع الصغيرة الخاصة بلعبتك على الشاشة.

هيِّئ، حدِّث واعرض

ان دورة اللعبة هي الكود المركزي للعبتك، مقسمة الى عدة اجزاء. وبشكل عام، هذه الاجزاء هي: هيئ، حدث وارسم.

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

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

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

إدارة الحالات

الدورة ستبقى تدور وتدور مرة تلو الاخرة خلال اللعبة، لذا يجب عليك بشدة التأكد من انها تنفذ الأجزاء الصحيحة من الكود لكل قسم من لعبتك. ال State Machine (ماكينة الحالة او جهاز الحالة) بشكل عام يستعمل لهذه لمهمة، هذا الجهاز يدير حالة عامة لدورة لعبتك ويعيد توجيه سير اللعبة الى الجزء الصحيح من الكود بناء على ذلك.

Definition of game loop
ماكينة حالة قياسية

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

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

الكيانات داخل اللعبة

الآن وبعدما أصبحت تملك كامل التحكم بحالاتك فيجب عليك التفاعل مع كل الكيانات (كائنات المراحل، التحديثات، شخصيات اللعبة NPCs، وهلم جرا) وتحديث خصائصهم (الحالات، الصحة، الموقع، ...) لكي تحرِّك الكائنات واللاعب بشكل فعليِّ في اللعبة الخاصة بك.

وأيضا بالإضافة الى تنفيذ الجزء المحدد بناءَ على الحالة الحالية، فان دورة اللعبة تملك حلقة داخلية تنفذ الجزء المحدد من الكود لكل كيان في الحالة الحالية. التفاعل مع الكيانات

Definition of game loop

السلوك نفسه يحدث في مرحلة العرض، حيث يتم رسم وعرض كل كيان.

خاتمة

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

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.