درس عمل نظام كومبوّات معقّد:
و أنا كنت أترجم ملف الـGML, تذكّرت محادثة صارت بيني و بين مجموعة من الناس ( الله يستر علينا و عليهم ) و كانوا متأكّدين 100% إن الجيم ميكر لا يستطيع بأي شكل من الأشكال أن يصمّم ألعاب القتال التي تحتوي على نظم تركيبات ( combos ) متطوّرة, و ها أنا اليوم أثبت خطأهم.
يوجد بالمرفقات مثال انا صمّمته بالنسخة 6.0 تحتوي على شخصية لديها كومبو واحد و عدة حركات ( قاعد أشوف وجهكم كذا .. خذ أيها الـ:mad22: هياااااا ! <<<< متحمّس ).
لكن شباب, شفرة المثال صعبة جدا جدا جدا جدا جدا جدا جدا جدا جدا, لذلك تأملوها, و اقرؤوها بتأني, لأني لم أعلّق عليها.
من الأشياء الموجودة بالمثال هو طريقة لتخفيف حجم الـsprites في اللعبة بشكل مذهل, و ذلك عن طريق عدم انشاء مرآة لكل الـsprites ( مثلا sprHeroWalkLeft و sprHeroWalkRight ) و لكن بانشاء sprite واحد و عمل مرآة أوتوماتيكيّة عن طريق سطرين فقط من الكود ( يصبح لديك فقط sprHeroWalk ) و مميّزات ذلك: تنظيم الـsprites, تقليل الحجم, تسهيل البرمجة ( لا يجب أن تكتب: إذا كان الاتجاه = يمين فإن السبرايت = .. و إذا كان يسار فإن السبرايت = .., أنت فقط تكتب السبرايت = .. , و الأوبجيكت بسطرين فقط من الكود يعكسونها عند تغيّر الاتجاه )
التحكّم:
السهم اليمين: التحرّك لليمين.
السهم اليسار: التحرّم لليسار.
السعم الأعلى: القفز.
حرف الـZ : ضربة باليد اليمين.
حرف الـX : ضرب باليد اليسار.
حرف الـA: حركة هوائيّة خاصّة.
حرف الـS: مسكات ( Grabs ).
الحركات:
Z X Z X : كومبو رباعي ( يمين يسار يمين يسار )
تحت + S : استدعاء نسخة من الأرض.
Z + X في الهواء : صفقة باليدين.
A في الهواء : العجلة الهوائيّة.
لو تريدون المثال متطوّر أكثر واحد يعطيني Sprite strip لواحد من لاعبين Guilty Gear, أورّيكم الشغل الصح.
مميّزات النظام:
1- قابليّة التفرّع ( مثلا تقدر تسوّي Z X Z X أو Z X Z S ( هذا ليس موجود في اللعبة بسبب قلّة الـsprites اللي عندي, لو أحد يعطيني strip كويّس أوضّح أكثر ).
2- المرونة.
3- قابليّة تطبيقه على اللاعبين الآخرين بسهولة.
أنا ما حطّيت عدو لأن وقتي ما يسمح, و لأن هذا مو درس AI.
انتظروا درسي القادم: Advanced Platformers مع مثال.
مشاركة: [مكتبة دروس متجدّدة] دروس OctoBot للمتقدّمين فقط.
مشكور على المثال الرائع .. وفعلا ينقصك الكثير من الكومبوات .. الصراحة المثال احترافي . بس بعدك . ما تفوقت علي لاني حللت المثال وعرف طريقتك.. ممتازة فعلا . ولكن تحتاج لتطوير اكبر . كيف ستحسب الاصابه لو كان في لاعب ثاني مثلاً .. هذا شيء خله بعدين
وفعلا . الاكواد فيها اوامر اكثر من الايقونات . هل ستطور المثال اكثر ؟
مشاركة: [مكتبة دروس متجدّدة] دروس OctoBot للمتقدّمين فقط.
أحمد شحاتة صقر == تسلم, و شكرا على مرورك.
الموقوف == الحمدلله إن استطعت أفيدك.
وليدس == مشكور على مرورك.
Son of UAE == لسّا ما وصّلت لمستواك؟, أحسلّك تتدرّب, أحسّ إني قريب ( لول ), إشرايك بطريقة الـstring حقت الكومبوّات و قوّة الـAnimation End ؟. أنا نفسي أطوّره و أزيد كومبوّات, لكني محدود من ناحية الـsprites, نفسي ألاقي strip كامل حق وحدة من شخصيات Guilty Gear عشان أخلّي الكومبوّات مطابقة للعبة بعد, أما عن طريقة حساب الضربات, فهل رأيت إني لم أضع الـMask بالطريقة العاديّة و لكني وضعته عن طريق الكود, لأنه عندما تصبح الشخصيّة تضرب لكمة ( مثلا ) يتحوّل الماسك إلى اليد فقط, و بذلك أنقّص الدم على الـCollision ( الطريقة لها كم عيب, لكن أقدر أصلحهم ).
مشاركة: [مكتبة دروس متجدّدة] دروس OctoBot للمتقدّمين فقط.
UAE Naruto == أنا في انتظار ردّك.
الموقوف == شكرا لك على المحاولة, و لكنّي أريد strip حق شخصيّة كاملة, الـstrip هو صورة كبيرة داخلها كل الصور حقت الشخصيّة داخلها, يصير عندي الشخصيّة كاملة.
مشاركة: [مكتبة دروس متجدّدة] دروس OctoBot للمتقدّمين فقط.
sony20 == شكرا على مرورك.
D.A.M.H == شكرا لك, المشكلة في لعبة قتال هي إنه إما تكون ضد الكمبيوتر و هذا يكون صعب ( لأن الـAI معقّد جدا ), أو يكون أونلاين, و في صعوبة ذلك لن أتحدّث.