1 مرفق
[درس] عمل ارضية غير مستوية لألعاب البلاتفورم
بسم الله الرحمن الرحيم
اليوم اتكلم عن درس جديد يهم مستعملى الجيم ميكر وبالتحديد محبى تصنيع العاب البلاتفورم.
دائما ما نجد العاب البلاتفورم التى نصنعها نمطية حيث اللاعب يسير فى اتجاه واحد على ارضية مستوية ويقفز من فوق حفر وعوائق ثم يقابل الوحش.
السؤال هنا : لماذا نجعل ارضيتنا مستوية دائما ولا نجعلها ذات تضاريس من مرتفعات ومنخفضات مثل لعبة Sonic الشهيرة؟؟ فهذا على الاقل يعطى نوع من الواقعية على اللعبة.
لنبدأ بعمل شكل جديد لألعاب البلاتفورم عندنا...ولنشرح طريقة عمل تضاريس يتحرك عليها اللاعب.
الفكرة المستخدمة:
اذا نظرنا الى هذه الصورة:
http://www.a.7m7.org/uploads/images/...14fd7be8e0.gif
قيمتى snapX و snapY هى قيم تحدد اقل مسافة ممكنة تفصل بين اثنين objects فى غرفة واحدة
انظر الى هذه الصورة
http://www.a.7m7.org/uploads/images/...4b71c817d6.gif
http://www.a.7m7.org/uploads/images/...2c351c8749.gif
لذا فان هناك نوع من التقييد لمصمم اللعبة عندما يرغب فى وضع objects بينها مسافة صغيرة جدا
اول شىء سنفعله هو وضع قيمتى snapX و snapY بواحد كما بالشكل
http://www.a.7m7.org/uploads/images/...178c7b4761.gif
ضع الobject الخاصة بالارضية ولتكن obj_land
وادخل ايضا صور اللاعب واجعل الBounding Box متساوى وكذلك نقطة الOrigin
انظر الى هذا الدرس اذا لم تكن تعرف كيف تضبطها
الخطوة الثانية هى ان تزيل علامة صح من على هذا المربع
http://www.a.7m7.org/uploads/images/...6acc171198.gif
.....لكن ما معنى هذا المربع؟؟
قلت فى درسى السابق ان الBounding Box الموجود حول الobject هو الذى يحدث التصادم لكن فى حالة ان تضع علامة صح على هذا المربع فان التصادم سيكون بين اخر جزء من البيكسل الخاص بالصورتين....انظر الى هذه الصورة لتفهم
http://www.a.7m7.org/uploads/images/...a75157aa9c.gif
اما اذا ازلت علامة صح من المربع المشار اليه فان التصادم سيصبح بين المربعين كما بالشكل
http://img3.7m7.org/1-2008/fdgsdgs.l...3w69876429.gif
وهذه النقطة لم انبه لها فى درسى السابق والسبب انه عندما تختار الBounding Box ان يكون Automatic
فانه يقوم بتغليف الصورة حتى اخر جزء من البيكسل...انظر هنا
http://www.a.7m7.org/uploads/images/...a4692867f4.gif
وعموما هذه الطريقة مفضلة اكثر لأنها من جهة تضبط التصادم وتجعله اكثر اتقانا كما انها تقلل من حجم الذاكرة المستخدمة كما يقول ملف المساعدة الخاص بالبرنامج.....ارجو ان تكون الفكرة واضحة.....نعود الى موضوعنا
الان ضع الخلفية الخاصة باللعبة والتى تحتوى على مرتفعات ومنخفضات وضعها داخل الroom
ثم ابدأ فى وضع obj_land داخل الroom وحاول ان تضعها على الخلفية مع مراعاة تضاريس الخلفية ويفضل استعمال زر Shift مع الضغط على الزر الايسر من الماوس
انظر الى الصورة
http://www.a.7m7.org/uploads/images/...3f0d0e0602.gif
لاتنس جعل
obj_land solid
الان ضع
obj_player بعد ان تعلمنا عملها بالكامل فى الدرس السابق لكن هنا سنقوم بتغيير قيم صغيرة حتى يكون التصادم متقن اكثر فمثلا فى حالة القفز نضع الكود
كود:
{
if !place_meeting(x,y+8) then vspeed=-10
}
اما الباقى فهو كما تعلمناه من قبل
الان نجرب نتيجة العمل!!
تمام باذن الله
حسنا قبل ان انهى الدرس لى بعض الملحوظات احب ان انوه عنها:
اولا: حاول بقدر الامكان ان يكون ترتيب obj_land داخل المرحلة منسق ومستوى
انظر الصورة هنا
http://www.a.7m7.org/uploads/images/...ca4ff88c0e.gif
وهذا لا يحدث خلل فى حركة الشخصية
ثانيا: اجعل sprite الخاصة بobj_land صغيرة لأنك ستملأ الغرفة بها فاذا كانت ابعاد صورتها كبيرة قد تبطأ اللعبة
انا افضلها 16X16 او 8X8
http://www.a.7m7.org/uploads/images/...e4e5c2e35d.gif
ثالثا: الطريقة متعبة قليلا؟؟!!...كلما تعبت اكثر كلما زادت لعبتك نجاحا
ارجو ان يكون الدرس مفيد ونجد العاب بلاتفورم بامكانيات افضل
اسف على الاطالة.....الملف بالمرفقات للتطبيق...اترككم الان لأنى كنت فى العمل من الثامنة صباحا الى التاسعة مساءا ولا أرى امامى حاليا....
والسلام عليكم ورحمة الله وبركاته
رد: [درس] عمل ارضية غير مستوية لألعاب البلاتفورم
السلام عليكم ورحمة الله وبركاته
بصراحة درسك رووووووووووووووووووووووعة
لم اتوقع سهولة عمل هذه طريقة في الجيم ميكر
فكرة الأنحناء في تضاريس ألعاب بلاتفورم خاصية متطورة
فعلا دروسك تعطي مميزات رائعة لكل من يعشق العاب بلاتفورم ويريد احترافها
لم اتخيل انه هذا درس تم انتاجه من نفس شخص الذي قام بصناعة لعبة joe2000 قبل فترة من الزمن
فعلا ابدعت وقد اعيد تطوير محرك مشروع ماسكد دراجوون بعد تعلمي منك هذه الخواص
شكرا العزيز على أسهامك الذهبي وعلى هذا الدرس المميز ^^
بتوفيق وإلى الأمام
رد: [درس] عمل ارضية غير مستوية لألعاب البلاتفورم
اقتباس:
المشاركة الأصلية كتبت بواسطة PrinceOfSorrow
السلام عليكم ورحمة الله وبركاته
بصراحة درسك رووووووووووووووووووووووعة
لم اتوقع سهولة عمل هذه طريقة في الجيم ميكر
فكرة الأنحناء في تضاريس ألعاب بلاتفورم خاصية متطورة
فعلا دروسك تعطي مميزات رائعة لكل من يعشق العاب بلاتفورم ويريد احترافها
لم اتخيل انه هذا درس تم انتاجه من نفس شخص الذي قام بصناعة لعبة joe2000 قبل فترة من الزمن
فعلا ابدعت وقد اعيد تطوير محرك مشروع ماسكد دراجوون بعد تعلمي منك هذه الخواص
شكرا العزيز على أسهامك الذهبي وعلى هذا الدرس المميز ^^
بتوفيق وإلى الأمام
شكرا على الرد وارجو ان اكون وفقت فى شرحه....بالنسبة للعبة Joe2000 فلم تظهر بالمستوى الطلب نظرا لنقص الخبرة سواء فى البرمجة او تصميم المراحل لكنى لا انكر انى استفدت منها فى فهم كيفية تحريك اللاعب وكيفية عمل تصادم متقن...وطبيعى ان الفرد يتعلم من اخطاء العابه السابقة
فى انتظار Masked Dragon....والسلام عليكم
رد: [درس] عمل ارضية غير مستوية لألعاب البلاتفورم
مشكووووووووور على الدرس كنت منتظره منذ زمن.....
........حاليا اعد مفاجئة للمنتدى.....
رد: [درس] عمل ارضية غير مستوية لألعاب البلاتفورم
اقتباس:
المشاركة الأصلية كتبت بواسطة Mr.k
مشكووووووووور على الدرس كنت منتظره منذ زمن.....
........حاليا اعد مفاجئة للمنتدى.....
الدرس ده انا كتبته على شرفك والمثال الموجود افضل من اللى عطيته لك مع شرح بالصور كمان :D:D...وفى انتظار المفاجئة
رد: [درس] عمل ارضية غير مستوية لألعاب البلاتفورم
وفي مشكلة ماحد يقدر يحلها hspeed المتدرجة ...... متنفع على المرتفعات.....مهما سويت
لانها متدرجة....اتمنى نشوف حل لهذه المشكلة الصعبة هذه المشكلة عجزتني....مالها حل....-_-
1 مرفق
رد: [درس] عمل ارضية غير مستوية لألعاب البلاتفورم
اقتباس:
المشاركة الأصلية كتبت بواسطة Mr.k
وفي مشكلة ماحد يقدر يحلها hspeed المتدرجة ...... متنفع على المرتفعات.....مهما سويت
لانها متدرجة....اتمنى نشوف حل لهذه المشكلة الصعبة هذه المشكلة عجزتني....مالها حل....-_-
انا عملت مثال حليت فيه المشكلة...تحتاج متغير يسمى the_x يزداد بالضغط على ازرارالاتجاهات(يمين او يسار) مع ضبط بعض القيم الخاصة بالتصادم.....حمل هذا المثال الموجود بالمرفقات وادرسه جيدا واى مشكلة اسأل....وشكرا انك نبهتنى لهذه النقطة
رد: [درس] عمل ارضية غير مستوية لألعاب البلاتفورم
اشكرك اخي على ابداعك هذا......
بس اتمنى انك تخلي اول ما يفك الزر يمين او يسار تبدأ السرعة تتناقص حتى يتوقف.....^^
اتمنى تحلها...ارجوك.
رد: [درس] عمل ارضية غير مستوية لألعاب البلاتفورم
1 مرفق
رد: [درس] عمل ارضية غير مستوية لألعاب البلاتفورم
اقتباس:
المشاركة الأصلية كتبت بواسطة Mr.k
اشكرك اخي على ابداعك هذا......
بس اتمنى انك تخلي اول ما يفك الزر يمين او يسار تبدأ السرعة تتناقص حتى يتوقف.....^^
اتمنى تحلها...ارجوك.
هذه المشكلة لها حل لكنه غير دقيق...جرب هذا المثال
رد: [درس] عمل ارضية غير مستوية لألعاب البلاتفورم
THANKS
VERY MACH
GOOD LUCK
رد: [درس] عمل ارضية غير مستوية لألعاب البلاتفورم
عموما تمكنت من تنضيم IMAGE_ANGLE بنسبة 95% على سطحية الأرض بس الأمر تطلب وجود سكربت
.....اشوف واراجع حتى اتوصل لابسط طريقة ممكنة...
رد: [درس] عمل ارضية غير مستوية لألعاب البلاتفورم
كان ودي استفيد من الدرس لكن للاسف الصور غير ظاهرة
تحياتي لك
رد: [درس] عمل ارضية غير مستوية لألعاب البلاتفورم
اقتباس:
المشاركة الأصلية كتبت بواسطة .TJ
كان ودي استفيد من الدرس لكن للاسف الصور غير ظاهرة
تحياتي لك
مع ان الصور تعمل عندى...سأحاول رفعها على موضع zshare.com لكن تأكد اولا انه غير محجوب عندك...وشكرا
رد: [درس] عمل ارضية غير مستوية لألعاب البلاتفورم
اهلا عزيزي
zshare.com ليس محجوب لو تتكرم وترفع علية اكون شاكرا لك واسف على تعبك