الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تجربة لعبة

بدأه DreamNet في 10 أبريل 2008 · 19 رد · 3,916 مشاهدة · في قسم برمجة الألعاب و الرسوميات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

في أول محاولة لي لاستغلال المكتبة IrrlichtFramework قمت قبل مدة ببدء لعبة مصغرة الهدف منها هو استغلال كل امكانيات المكتبة

وكنت أنوي أن لا أطرحها إلا بعد اكمالها , لكني لم أستطع اكمالها

لذلك قررت طرح البداية فقط (ملف تنفيذي) لنتناقش فيه معا

وارجو من الجميع وضع اقتراحاتهم هنا :)

وهذه صورة البداية

post-23361-1207811409_thumb.jpg

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

يمكننا أن نناقش أساليب أخرى داخل اللعبة

ملفات اللعبة TestGame.zip

ملفات الDLL Dlls.zip المفروض نسخها في مجلد اللعبة أو مجلد system32

في البداية أردت عرض فقط الملف التنفيذي للتجربة مع العلم أنها مجرد تطبيق لما جاء في الموضوع المتعلق بالمكتبة يعني كل الكود تم مناقشته من قبل

يبقى الآن مناقشة المراحل الثانية للعبة

#2

جاري التحميل.. الرد لاحقا

#3

لم تعمل ظهرت الرسالة التالية:

Unable to find entry point "CreateDevice"...etc

مع أني وضعت ملفات ال dll بنفس مجلد اللعبة

#4

من متطلبات التشغيل الFramework 2

المثال سيجري تطويره بالتدريج حسب المقترحات

قمت باضافة بسيطة (التعديل في الملف المرفق للملف التنفيذي فقط ) يقوم اللاعب فيها بمحاولة وضع الصندوق فوق المنصة لكي يتم احتساب نقطة له

الصورة:

post-23361-1207833794_thumb.jpg

الاكساء الخاص بالصندوق يمكن وضعه فيما بعد :)

TestGame1.zip

#5

وعليكم السلام ..

أخيرا عملتها :) .....

سأقوم بالتحميل والرد عليك لاحقا ان شاء الله ...أحببت الرد الان حتى لا تمل من الانتظار .

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#6

السلام عليكم

لدى اقطراح صعب شويه وهو جعل الشخصيه تنحنى وتدفع الصندوق بيدها وهذا يطتلب تكبير الصندوق او تصغير الشخصيه

163374357.gif

#7
اقتباس
جعل الشخصيه تنحنى وتدفع الصندوق

الشخصية المستعملة (tiny) لا تملك مثل هذه الحركات أظن ربما علينا تغيير الشخصية لعمل الحركة

بعض التعديلات على المثال باضافة قوائم للعبة

start game

configuration

end game

صور القائمة

post-23361-1207943514_thumb.jpg

post-23361-1207943525_thumb.jpg

التعديل Update1.zip

بالتوفيق

تم تعديل هذه المشاركة بواسطة DreamNet في 11 أبريل 2008 في 22:53

#8

فهمت من كلامك Framework 2 أي الإصدار Irrlicht2؟ أم شيء آخر؟ لأن لدي Irrlicht1.5 وربما لهذا لم تعمل، سأقوم بتنزيل Irrlicht2

#9

أقصد بالفريمورك الخاصة بالدوت نت

أما بالنسبة لIrrlicht فملفات الdll كافية

أظن أن آخر اصدار لIrrlicht هو 1.4 وانا هنا أستعمل النسخة IrrlichtNET CP :)

تعديل: أظن المشكل عندك في دريفر الديركت أكس 9

حاول تنزيل التعديل الأخير في المشاركة السابقة وستجد ملف config.xml في مجلد Medias عدل قيمة video driver فيه إلى 5 ليتم التشغيل بالOpenGL

بالتوفيق ان شاء الله

تم تعديل هذه المشاركة بواسطة DreamNet في 12 أبريل 2008 في 09:21

#10

ما رأيك أخي دريم , في إضافة مسدس ليزر

يتحكم بالصناديق عن طريق قوى مغناطيسية ليزرية !!!

ولكن لماذا هي ليست ملء الشاشة ؟

بالتوفيق إن شاء الله تعالى

اقتباس
If A is success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut

Albert Einstein

مدخل إلى برمجة وتصميم الألعاب : كيف أبدأ ؟

#11

أهلا بك أخ علاء

ربما نعمل مرحلة أخرى في اللعبة تستعمل المسدس لعملية النقل للصناديق

اللعبة فقط تعتمد على التصادم بين الشخصية والصناديق والكاميرا ثابتة (مربوطة فقط بالشخصية )

وفي نظري اذا اردنا عمل pick للصناديق نرسم شعاع (ليزري) يقوم بالمهمة والعملية مطبقة في مثال PhysicTest الموجود مع المكتبة ويمكننا الاستفادة منه في تنفيذ الفكرة لكن الشخصية المستعملة ستعيقنا (اقصد tiny ) لان حركاتها محدودة (فقط المشي) :( لذلك يلزمنا تغيير المودل المستعمل للشخصية

اقتباس
ولكن لماذا هي ليست ملء الشاشة ؟

المثال الأخير المعدل (update1) فيه امكانية التعديل في قائمة configuration عمل cheek على خاصية full screen :)

ثم الخروج من اللعبة وبعدها تنفيذها (ستكون في ملء الشاشة)

أردت أضيف شئ حول المشاكل الموجودة حاليا (تمت معالجتها )

عند الاستمرار في الضغط على سهم التقدم ثم الضغط على زر الهروب لعرض قائمة اللعبة تتوقف اللعبة والوقت بطبيعة الحال

لكن عند الرجوع للعبة تبقى الشخصية تتحرك :)

المهم أرجو من الذين جربو المثال طرح المشاكل الأخرى والتعليق على اللعبة (رغم انه لا يوجد شئ فيها للعب :) )

تم تعديل هذه المشاركة بواسطة DreamNet في 14 أبريل 2008 في 09:51

#12

السلام عليكم ..

اسف كثيرا على التأخر .... وقد جئت لك بحزمة اقتراحات ;) .

- أعجبتني فيزيائية اللعبة ... ولدي سؤال هنا يهمني ... هل تعلم من الذي يقوم باكتشاف التصادم .. هل هي مكتة Newton أو المحرك نفسه .. لم أطلع على المحرك IrrlichtFramework المعدل ... هل لازال اكتشاف التصادم من مهمة المحرك نفسه ,,,

- أعجبني أيضا نعومة الحركة للشخصية ( لاتتقطع)... أذكر أني عانيت من هذه المشكلة وكنت استخدم ملفات MD2 ..

- يوجد عيب في الشخصية ( الشخصية لا تقف) .. وقد ذكرت ذلك في ردك بالأعلى ,,

- ويوجد عيب في اكتشاف التصادم بين الكاميرا والجدار .. حيث ممكن تكون الكاميرا خارج الجدار واللاعب في الداخل .. حيث لايوجد اكتشاف تصادم بين الجدار والكاميرا .

post-42837-1208320663_thumb.jpg

- اقتراحاتي :P

- اضافة " سلّم " أو " درج " .. ينقل الشخصية للدور الثاني .. والهدف من هذا الاقتراح .. هو القدرة على اكتشاف التصادم ..

- اضافة سلاح للشخصية .. ويبدو أنه يجب ان تعرف مصفوفة الاحداثيات ليد الشخصية .

- اضافة باب .. يفتح ويغلق بأمر من الشخصية :) ..

هذا النوع من الالعاب صعبة ... ما رأيك تعمل ألعاب ثنائية الابعاد كبداية ... ليس تقليلا من شأنك ... ولكن لأنها تفيدنا كثيرا من ناحية المنطق .. والالعاب الثلاثية الابعاد تحتاج الى مصمم ... بعكس الالعاب الثنائية الابعاد التي تحتاج لخبير ببرنامج الرسام فقط :-) .

أتمنى لك التوفيق .

تم تعديل هذه المشاركة بواسطة الشمري في 16 أبريل 2008 في 07:42

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#13

وعليكم السلام ورحمة الله وبركاته

أن تأتي متأخرا أفضل من أن لا تأتي :)

بالنسبة لاكتشاف التصادم فالمحرك Newton هو المسؤول عنه كاملا

بالنسبة للتصادم بين الكاميرا والجدار سأرى ذلك لاحقا :) السبب أنني اربط الكاميرا فقط بالشخصية

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

بالنسبة للإقتراحات:

-بالنسبة لغرض استعمال السلم من اجل اكتشاف التصادم فاظنني سأفكر في استعمال تصميم مرحلة مختلف مثل هذا

post-23361-1208329014_thumb.jpg

بالنسبة لاضافة سلاح فهو ليس صعب لكن الصعب في الحركات المتاحة مع الشخصية tiny فاذا كنت تعرف أخي الشمري أو الاخوة الأعضاء حركات أخرى للشخصية يمكنكم مساعدتي بها رغم اني حاولت ولم أجد إلا حركة المشئ :(

-انا معك أن الألعاب الثلاثية تحتاج أكثر للتصميم منه إلى البرمجة لكن أردت هنا أن أستعمل كل ما تعلمته من المكتبة وبمساعدة صاحبها وصلت إلى تعلم أشياء جميلة منه

حسنا كنت سأنتظر للتعديل على المثال من أجل تعديل التصادم بين الكاميرا والجدار لأرفقه هنا لكني لا بأس سأضيف آخر التعديلات

التعديلات المطروحة:

-حل مشكلة (عدم توقف الشخصية )

-اضافة حركة القفز (الزر Space)

-اضافة الصوت (مما تعلمناه قبل في استعمال OpenAL ) للمشي والقفز

التعديل الثاني DEBUG.ZIP

في انتظار تعليقاتكم

#14

السلام عليكم

لى ملاحظتان

اولا القفذه قصيره

ثانياً قائمة ال config شفافه مما ادى الى عدم وضوح محتواياتها الأختيارات التى بها لا تعمل من داخل اللعبه تعمل فى بداية اللعبه فقط

ارجو ان تتقبل ملاحظتى

الى الأمام دائماً

163374357.gif

#15
اقتباس
ارجو ان تتقبل ملاحظتى

طبعا أخي العزيز سيد وهذا هو الهدف الأساسي من فتحي للموضوع :)

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

بالنسبة للألوان حاولت أن أرجع للأزرق ربما يعجبك :)

وحاولت أزيد في قوة القفز أيضا

أرجو أن يعجبك :)

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

أيضا أضفت زرين لتحريك الكاميرا للأسفل والأعلى (+ و - ) لا أعرف اذا كان مهم

الملف التنفيذي: TestGame3.zip

#16

السلام عليكم

هذه المره جيبلك شوية ملاحظات

اولا اذهب الى الحائط او العمود واستمر فى المشى وقفذ واستمر فى القفذ مع المشى فى اتجه العمود انظر النتيجه

post-45582-1208638215_thumb.jpg

لقد نجحت فى منع الكميره من الخروج من الحجره لكن لم تمنعها من الدخول فى العمود :lol:

post-45582-1208638284_thumb.jpg

163374357.gif

#17

اعتذر عن التأخر في الرد .. لكن أن تأتي متأخرا مرة أخرى أفضل من أن لا تأتي الا مرة واحدة :P .

التعديلات ممتازة :

- التصادم مع الكاميرا جميل ... وعمل Zoom باتجاه اللاعب يذكرني بـ : Metal Gear .. رائع :) .

- القفز جميل .

العيوب :

- لايوجد Reset للعبة .. اذا أردت أن اعيد المرحلة من جديد .

- اذا أوقفت اللعبة بالضغط على Esc .. من المفترض انها لاتستجيب لاي أمر من لوحة المفاتيح .... ولكن لو ضغطت على زر المسافة .. سيقفز اللاعب واللعبة متوقفة :) .

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

- من هذه الخيارات التي اقترحها .. قدرة اللاعب على سحب المكعب بالاضافة لدفعه .

- لم الاحظ أي زيادة في نقاطي عند ايصال المكعب .. الى المنصة .. كيف احصل على نقطة :) .

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

لكن أنا لا اعرف ,, هل تريد ان يوصل اللاعب المكعب عن طريق دفعه .. أو تريد تطوير أمور أخرى مستقبلا ..

... وأتمنى أن اعرف الهدف الذي تريد الوصول اليه .. كيف تريد شكل اللعبة النهائي .

. عملك رائع وبالتوفيق .. وهذه الملاحظات مجرد ملاحظات ,,, أنا لا استطيع عمل مثل هذا الديمو :) .

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#18

السلام عليكم ورحمة الله

عدت لكم مجددا

أخي العزيز سيد :

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

بالنسبة للأعمدة حاولت أعمل دالة قبل التعديل السابق مماثلة للدالة التي تحسب ما اذاكانت الشخصية بالأرض لكنني لم أحصل على نتائج جيدة :(

بالنسبة للأخ المشرف الشمري :

في الحقيقة أردت أن أناقش معكم هنا بالتدرج صياغة اللعبة مع التجربة

في الأول خططت لوضع التجربة الابتدائية للتعليق على اللعبة من جانب التصميم

ثم في مرحلة أخرى كنت أنوي مناقشتكم حول السيناريو الأفضل للعب بغض النظر عن الفكرة المطروحة

هنا وقبل الحديث عن Reset أردت انشاء فئة تخص الLevel وقد فكرت في وضع ملف خاص أيضا XML يسجل فيه خصاءص كل مرحلة

طبعا كبداية يمكننا أن نفرض أن متغيرات المرحلة هي :

رقم المرحلة

عدد الصناديق

عدد الكرات

الوقت الأقصى للعب

حالة المرحلة (مفعلة أو لا)

سيتم التعديل على القوائم بحيث يمكننا اختيار مرحلة للعب

اقتباس
- اذا أوقفت اللعبة بالضغط على Esc .. من المفترض انها لاتستجيب لاي أمر من لوحة المفاتيح .... ولكن لو ضغطت على زر المسافة .. سيقفز اللاعب واللعبة متوقفة regular_smile.gif .

سيتم التعديل (ليس صعب :) )

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

لحد الآن لم أحدد متغيرات المرحلة سيكون ان شاء الله وقت محدد للعب وعدد نقاط كحد أدنى يجب الحصول عليها والا ستكون خاسرا :)

اقتباس
- من هذه الخيارات التي اقترحها .. قدرة اللاعب على سحب المكعب بالاضافة لدفعه .

الحقيقة لا أعلم اذا كان التغليف المتاح في المكتبة يغطي عملية الJOINT

سأفكر في حل آخر كأن نطبق قوة معاكسة عند الضغط على زر أو ادراج الnode الخاص بالمكعب كـCHILD للشخصية :S

على العموم المكتبة الفيزيائية (التغليف) المدرجة مع المحرك غير كاملة وأنا أحاول استخدام المتاح (دائما بمساعدة الحلول التي قدمها صاحبها)

بالتوفيق دائما للجميع

#19

ماهى اخر التطورات يا غالى ؟؟

ولا وقفت عن العمل فى المشروع ؟؟ :(:(

#20

اللعبه جميله لماذا لا تترك لنا السورس كود كي نتعلم ونحاول نساعد ايضا

مواضيع مشابهة