سعيًا في إعادة النشاط للمنتدى سأقوم بقديم دورة قصيرة حول تطوير لعبة ثنائية الأبعاد في محرك يونتي من الصفر إلى النهاية بإذن الله.
بعض من المعرفة البرمجية هي كل ماتحتاجه لتطوير هذه اللعبة.
ستكون الدورة مقسمة إلى عدة أجزاء لذا قوموا بزيارة المنتدى من حين لآخر كي تقرأوها فور نزولها.
ملاحظة : الدورة مستوحاة من كتاب :
Introduction to Game Design, Prototyping, and Development: From Concept to Playable Game with Unity and CSharp
والذي أنصح بقراءته.
بسم الله نبدأ 😄
أولا : ماهي اللعبة التي سنقوم بعملها؟
سنقوم بعمل لعبة مشابهة للعبة Kaboom! والتي هي لعبة كلاسيكية على نظام Atari يمكنكم مشاهدة فيديو لها من هنا :
قد تكون صديقي القارئ قد شغلت محرك يونتي وأصبحت على استعداد لتطوير لعبتك ولكن تطوير الألعاب لا يبدأ بالبرمجة فورًا بل يسبقه تحليل وتصميم لذا كن صبورًا قليلًا 😳 اللعبة التي سنقوم بعملها تدعى Apples Picker أو جامع التفاحات الآن سنقوم بعملية تحليل اللعبة (Game Analysis) وهذه العملية مفيدة جدًا حيث تفيدنا في النظر للعبة كجزيئات صغيرة يمكننا تطويرها كل على حدة ومن ثم جمعها سوية حتى تنتج لنا لعبة (إذا لم تفهموا ما أقصد فلا تخافوا أكملوا القراءة وسيتضح كل شيء ☺ )
وصف طريقة اللعب (Gameplay Description) :
يقوم اللاعب بالتحكم بثلاث سلال في أسفل الشاشة ويحركهم يمنة ويسرى عن طريق الفأرة. تسقط الشجرة المتمركزة في أعلى الشاشة تفاحات أثناء حركتها يمينًا ويسارًا، وهدف اللاعب هو التقاط تلك التفاحات قبل أن تصل إلى الأرض! كل تفاحة يجمعها اللاعب يكافأ اللاعب عليها بنقاط ولكن إذا سقطت تفاحة واحدة فقط أرضًا ستختفي هي وصديقاتها المتساقطات من الأعلى معًا وفوق ذلك كله ستختفي أحد سلال اللاعب 😢 وإذا خسر اللاعب سلاله الثلاثة تنتهي اللعبة! 😭 الآن اريدكم أن تعتبروا ما سبق كان مناقشة معكم حول ماهي اللعبة التي سنقوم بتطويرها وفي أرض الواقع ستكون هذه المناقشة إما مع باقي أعضاء فريقكم أو في كراسة مع أنفسكم وهذا النقاش لا فائدة له إن لم يقسم لنقاط محددة يمكن تطبيقها لذا سأقوم باستخراج القواعد الآن واحدة تلو الأخرى من النقاش السابق كي نصل إلى قائمة من القواعد يمكننا تطويرها بعد ذلك.
إذا قواعد اللعبة كالتالي :
1. يتحكم اللاعب بثلاث سلال عن طريق الفأرة ويمكنه أن يحركها إما باتجاه اليمين او باتجاه اليسار بناءً على حركة الفأرة 2. هناك شجرة متمركزة بأعلى الشجرة تسقط التفاحات أثناء حركتها يمينًا ويسارًا 3. على اللاعب التقاط التفاحات عن طريق جعل السلال أسفل التفاحة الساقطة وذلك قبل أن تصل الأرض 4. لكل تفاحة يجمعها اللاعب نقاط يحصل عليها تضاف إلى مجموعه النهائي من النقاط 5. إذا سقطت تفاحة على الأرض أي وصلت إلى أسفل الشاشة دون أن يلتقطها اللاعب اختفت هي وأخواتها 6. يخسر اللاعب سلة واحدة على كل تفاحة تصل الأرض 7. تنتهي اللعبة بخسارة اللاعب السلال الثلاث
الخطوة التالية سنقوم بالنظر إلى القواعد واستخراج الكائنات (GameObjects) التي تشملها لعبتنا كي نقوم بتحويلها لاحقًا إلى كائنات داخل محرك يونتي
كائنات اللعبة (ومعها وصف لكل كائن):
أ. السلال : يتحكم بها اللاعب وتتحرك يمنة ويسرى اتباعًا لحركة مؤشر الفأرة وإذا حصل اصطدام بين سلة وتفاحة يتم جمع التفاحة وزيادة نقاط اللاعب
ب. التفاحات : تسقط عاموديًا من الشجرة باتجاه أسفل الشاشة وإذا اصطدمت في طريقها بأحد السلال تختفي (وبالطبع تزيد نقاط اللاعب) وإذا اصطدمت بأسفل الشاشة تختفي هي وكل التفاحات التي على الشاشة وبالتالي تذهب سلة من السلات وبعد ذلك تبدأ الشجرة بإسقاط مزيد من التفاحات مرة أخرى
جـ . شجرة التفاح : تتحرك هذه الشجرة يمينًا ويسارًا عشوائيًا وتسقط أثناء حركتها التفاحات بين كل تفاحة وتفاحة فترة سقوط ثابتة ومعلومة إذا العشوائية في الحركة الأفقية للشجرة فقط لا غير.
خاتمة: كل هذا تحليل! نعم ولم ننتهي بعد! ففي الجزء الثاني سأكمل التحليل ولربما نبدأ بعملية التطوير (لا ضمانات 😧 ) ولكن أعتقد أننا بعد هذا التحليل الطويل صرنا نفهم مانحن بصدد تطويرها هنا لذا لن نتشتت أثناء التطوير بل سيكون لنا نظرة واضحة وقائمة مهام أوضح ☺ إذا كان عندكم سؤال أو ملاحظة أو اقتراح فسأكون سعيد بقراءتهم والرد عليهم. وإذا كنتم ستتابعون هذه الدورة فأخبروني بتعليق كي أتحمس وأستمر بتقديمها حتى نهايتها بإذن الله. 😄 انتظروا الجزء الثاني حيث سنقوم برسم بعض من النماذج التوضيحية كي تضح الصورة أكثر!!
أسامة السلمان
مطور ألعاب ومهندس برمجيات.
للتواصل: https://twitter.com/TheDorgam بما أن الله على كل شيء قدير ؛ إذا ، ليس هناك شيء يدعى "المستحيل".