مشاهدة النسخة كاملة : [دروس] اسرار الجيم ميكر
maa2007
01-03-2007, 04:55 PM
بسم الله الرحمن الرحيم
سأضع في هذا الموضوع جميع الطرق و الاسرار التي اعرفها و هي ستكون منقسمة بشكل اساسي الى تصنيفين
1_ كيفية جعل الالعاب المصممة بالجيم ميكر خفيفة على المعالج
2_ طرق مميزة في تصميم جرافيك اللعبة او برمجة اللعبة
و هذه الدروس التي سأضعها سيكون بعضها معروفا لدى بعضكم و اخرى جديدة كليا حسب اعتقادي و هي من جهدي الخاص
و ارحب طبعا بأي مشاركات مفيدة من جانبكم
و أول درس لي بسيط نوعا ما و هو يندرج تحت قسم :
افكار في كيفية اخراج العاب خفيفة باستخدام الجيم ميكر
فكرة_1
استخدام نافذة global game settings :
كما موضح بالصورة بالأسفل ادخل الى global game settings و من ثم الى لوحة resolution
بعد ذلك فعل خيار set the resolution of the screen لتظهر امامك الخيارات المتاحة
1_ضع في مجموعة color depth الخيار 16-bit و هذا الخيار يخفف الحمل على كرت الشاشة و لا ينقص من جودة الصورة لأنك اساسا لن تستخدم صورا تحتاج الى 32 بيت لأنك تعمل على لعبة كمبيوتر ثنائية الابعاد لذلك فمن المؤكد أنك ستستعمل صور خفيفة
2_اختر من مجموعة resolution الخيار 640*480 و هذا الخيار يخفف الحمل على المعالج
و لكن عليك الانتباه اولا الى ان طبيعة اللعبة و رسوماتها لا تحتاج الى اكبر من هذا الرسلوشن
انتبه هنا الى ان تصميم لعبة متوافقة مع هذا الخيار من البداية امر جيد جدا لأنك تلقائيا ستستعمل صورا اصغر
من حيث الابعاد و بالتالي اصغر من حيث الحجم لذلك سيكون حجم اللعبة اقل .. وايضا عندما تنتهي من تصميم اللعبة ستكون قادرا على اختيار هذه الدقة ( 640*480 ) و جعل اللعبة على كامل الشاشة اي ( full screen )
بدون فقدان جودة الصورة و ستحتاج اللعبة الى قدر اقل من قوة المعالجة و ايضا ستعمل حتى على اقدم اجهزة الكمبيوتر التي لا تدعم دقات عالية.
3_ازل تفعيل خيار use synchronization to avoid tearing ( خاصية المزامنة )
وهي تكون مزالة بشكل افتراضي ( اي اتركها كما هي اذا لم تكن مفعلة )
ان هذه الخاصية تستهلك كما كبيرا من المعالجة ولا نحتاجها في اغلب الاحيان
4_ في مجموعة frequency فعل الخيار 85 هذا الخيار لا يؤثر على ثقل اللعبة فهو يتعلق بشاشة الكمبيوتر فقط .. هذا الرقم كلما زاد كان تأثير شاشة الكمبيوتر على الاعين اقل و انت بالتأكيد لا تريد ان تتأذى اعين من يلعبون باللعبة التي صممتها .. و اغلب الشاشات تدعم هذا الرقم بالذات خصوصا اذا كانت الدقة 640*480
لذلك تأكد من تفعيله .. و لا تخف من عدم التوافقية فإذا صادفت لعبتك شاشة لا تدعم هذا التردد ( frequency )
فسيتم اختيار التردد الذي كانت عليه الشاشة قبل تشغيل اللعبة.. لذلك لا تخف من هذه الناحية
http://www.montada.com/attachment.php?attachmentid=276193&d=1172759638
OctoBot
01-03-2007, 05:50 PM
ممتاز, أرجو إنك تتعمق في الموضوع و تكمل.
سيـ الرهيب ـف
01-03-2007, 06:06 PM
موضوع جميل
بلييييييييييز كمل الموضوع لأن المنتدي محتاج مواضيع جديده خاصه بالجيم ميكر للمبتدئين لأن أعضاء المنتدي نسو المبتدئين الذين بداو بتعلم الكيم ميكر
والدروس التي بفهرس المنتدي الكثير منها صورها لا تظهر وكذالك اصبحت قديمه .
maa2007
01-03-2007, 06:30 PM
شكرا اكتوبوت ان شاء الله بكمل
شيف الرهيف
هناك بعض الدروس ستكون سهلة للمبتدئين و المحترفين و اخرى ستكون صعبة قليلا على المبتدئين و سهلة على
المحترفين
فالدرس القادم مثلا في غاية السهولة و لكنني اخشى ان لا يفهمه من لم يتعمق في البرمجة و لكن في النهاية
لا يوجد شيئ صعب فأنا مثلا لا اعرف شيئ بالبرمجة و مع ذلك استطعت فهم لغة ال gml الخاصة بالجيم ميكر
:biggthump
maa2007
01-03-2007, 06:52 PM
افكار في كيفية اخراج العاب خفيفة باستخدام الجيم ميكر
فكرة_2
استخدام ال Deactivating instances ( اي الغاء تفعيل الكائنات )
عندما نقوم بانشاء لعبة باستخدام الجيم ميكر فغالبا نلاحظ ان عدد الكائنات التي تكون خارج الفيو كثيرة جدااا
و عادة , كثير من هذه الكائنات ليس لها اي فائدة حاليا فالوحش مثلا يكون في اخر المرحلة فلا نحتاج الى حساب بيانات التصادم بالنسبة له
او اذا كنا نصمم لعبة سيارات فنلاحظ و جود الكثير من الكائنات الغير مستعملة بتاتا مثل الابنية البعيدة عن السيارة و التي تقع خارج نطاق الفيو
لذلك هنا تظهر مشكلة , فإذا كان لديك الكثير من الكائنات في لعبتك فإن البرنامج سيقوم في كل لحظة بتنفيذ جميع الاحداث الخاصة بهذه الكائنات بالاضافة الى حسابات اخرى كبيانات التصادم و هذا الامر يسبب بطئ شديد جدااا
في اللعبة و من دون اي فائدة...
و الان و بعد هذه المقدمة اظن انك ستدرك جيدا فائدة الغاء تفعيل الكائنات
فعندما نلغي تفعيل الكائن , نزيله تماما من الذاكرة و حتى رسمته تختفي فيصبح كأن لا وجود له على الاطلاق
و لكن نستطيع ان نعيد تفعيله عندما نحتاجه
___________________________________________
و هذه قائمة بالدوال المتوفرة بالجيم ميكر مع شرح بسيط لها ( ملاحظة مهمة جداا : تجاهلو حرف m تماما ولا تنسخوه اذا اردتم نسخ احدى هذه الدوال فلقد و ضعته لتصليح مشكلة متعلقة بالاحرف الانكليزية كي تظهر بشكل نظامي )
instance_deactivate_all(notme) m يقوم بالغاء تفعيل جميع الكائنات بالمرحلة و اذا كان notme مضبوطا الى true فعندها لن يتم الغاء تفعيل الكائن الذي نفذ هذه الدالة ( و هذا ما تريد فعله غالبا )
instance_deactivate_object(obj) m يقوم بالغاء تفعيل جميع بدائل (انستنس) الكائن من المرحلة اذا استعملنا all او يمكننا استعمال ال id الخاصة ببديل معين لإلغاء هذا البديل بالذات
instance_deactivate_region(left,top,width,height,inside,notme) m يلغي تفعيل جميع الكائنات الموجودة في المنطقة المحددة ( عن طريق الخيارات left , top , width , hight )
و اذا inside مضبوط على false فعندها الكائنات التي تقع تماما خارج المنطقة المحددة هي التي يلغى تفعيلها
اذا notme مضبوط على true فعندها لن يتم الغاء تفعيل الكائن الذي نفذ هذه الدالة ( و هذا ما تريد فعله غالبا )
instance_activate_all() m يقوم بتفعيل جميع الكائنات الموجودة في المرحلة
instance_activate_object(obj) m يقوم بتفعيل جميع بدائل (انستنس) الكائن في المرحلة اذا استعملنا all او يمكننا استعمال ال id الخاصة ببديل معين لتفعيل هذا البديل بالذات
instance_activate_region(left,top,width,height,inside) m يقوم بتفعيل جميع الكائنات الموجودة في المنطقة المحددة ( عن طريق الخيارات left , top , width , hight )
و اذا inside مضبوط على false فعندها الكائنات التي تقع تماما خارج المنطقة المحددة هي التي يتم تفعيلها
________________________________________________________________
و على سبيل المثال اذا اردت ان تلغي تفعيل جميع الكائنات الموجودة خارج الفيو و تفعيل جميع الكائنات الموجودة داخل الفيو فيمكنك استعمال هذا الكود في حدث ال step للكائن الرئيسي
{
instance_activate_all();
instance_deactivate_region(view_xview[0],view_yview[0],
view_wview[0],view_hview[0],false,true);
}
ملاحظة : قد تحتاج الى منطقة اكبر بقليل من الفيو
استعنت في كتابة هذا الدرس بملف الهيلب الموجود مع الجيم ميكر فيمكنكم قرائته باللغة الانكليزية , و لايجاده افتح ملف الهيلب , و قم بالبحث عن كلمة Deactivating instances عن طريق قسم البحث
يوجد في هذا الرابط مثال توضيحي لهذا الدرس
http://www.alnabkvb.net/vb/uploaded/2804_1172767148.rar
من التراب
02-03-2007, 02:04 AM
دروس سوبر مفيده هذا الي كنت أعاني منه -حجم اللعبه- تسلم ^^
والفكره الثانية إلغاء التفعيل طريقة احترافيه وتضيف الكثير للألعاب الكبيرة
ابداعت وياليت تكمل قريبا ^.^"
بالتوفيق
PrinceOfSorrow
02-03-2007, 05:42 AM
درس ثاني ماكنت عارفه =)
عجيب راح يفيد في صناعة ألعاب انا كنت أريد جعل اوبجكت يظهر عند مقربة أوبجكت لاعب منه
واصل أبداعك ^^
maa2007
02-03-2007, 08:02 AM
مشكورين اخي من التراب و prince of sorrow
و لا يزال هناك الكثير من الدروس و سأقوم بتنزيل درس كل مدة
و وجدت ان هذا الموضوع مفيد في جمع هذه الافكار لأنني لم اكتبها بعد
و بتدوينها هنا سأتأكد من عدم نسيانها في المستقبل + الفائدة للاعضاء
و لتحريك الحوار و الابداع و الافكار الجديدة التي من الممكن ان تتولد عن افكار اخرى
و انتظرو الدرس القادم :)
PrinceOfSorrow
02-03-2007, 08:54 AM
و وجدت ان هذا الموضوع مفيد في جمع هذه الافكار لأنني لم اكتبها بعد
و بتدوينها هنا سأتأكد من عدم نسيانها في المستقبل + الفائدة للاعضاء
و لتحريك الحوار و الابداع و الافكار الجديدة التي من الممكن ان تتولد عن افكار اخرى
و انتظرو الدرس القادم :)
Maa2007 ^^
انا مازلت معجب بدروسك حاليا خصوصا اني من محبين جيم ميكر وشفت اشياء جديده
اتمنى ان تكون جميع دروس منك شخصيا ^_~
ونقطه اخرى اتمنى ان تضع الأمثلة والملحقات درس داخل المرفقات فذلك افضل حتى لاتضيع
في مستقبل حبيت أنبهك بهذه نقطه فحسب وان شاء الله ماتبخل علينا استمر
maa2007
02-03-2007, 10:07 AM
افكار في كيفية اخراج العاب خفيفة باستخدام الجيم ميكر
فكرة_3
استخدام صور بلواحق jpg و gif و معرفة متى نستعمل كل نوع :
لانتاج لعبة سريعة و صغيرة الحجم و سريعة التحميل علينا استعمال صور بحجوم صغيرة لأن الصور تشكل اكبر جزء من اللعبة ( طبعا بالاضافة للاصوات و ..الخ ) و في هذا الدرس سأشرح كيفية تجهيز صور بأصغر حجم ممكن و مع ذلك
تبقى نقية تماما و اريد ان انوه ايضا قبل البدء بأن استعمال صور صغيرة لا يخفف من ثقل اللعبة و حجمها فقط و انما
يسهل عملية التصميم باستخدام الجيم ميكر لأن المشروع يتم تحميله بسرعة و ايضا عند تجربة اللعبة اثناء عملية التصميم , تكون سرعة ترجمة اللعبة و تحميلها سريع و بالتالي توفير بالوقت :biggthump
ان افضل انواع الصور التي من الممكن استخدامها في الجيم ميكر هي ال jpg و ال gif , لأنها اصغر انواع الصور حجما
و يمكننا من خلال برنامج الفوتوشوب تحميل صورة من اي نوع كانت و من ثم ضغطها الى حجم صغير جداااا اما الى
لاحقة jpg او الى لاحقة gif
و لكن هنا يوجد سؤال يطرح نفسه و هو لماذا اخترت لاحقتين و لم اختر واحدة فقط ؟؟
لقد اخترت لاحقتين لأن كل واحدة من هاتين الاثنتين لها وظيفة مختلفة و خصائص مختلفة
و لشرح الامر بشكل اوضح سأطرح سؤالا : اذا كان لدينا صورة و احدة و حاولنا ضغطها على الفوتوشوب
فبأي لاحقة نستطيع ضغطها الى اصغر حجم ممكن مع الابقاء على نقاء الوانها و وضوحها ؟؟ هل نضغطها الى jpg ام الى gif ؟؟
:33: حسنا , اسمحولي بالاجابة على هذا السؤال :silly:
في الحقيقة اذا كانت الصورة مليئة بالالوان و التدرجات و لا تحتوي على مسطحات مكونة من نفس اللون فعندها ستفوز لاحقة ال jpg لأنها تستطيع ضغط الصور المليئة بالالوان الى اصغر حجم ممكن مع الابقاء على نقاوة الصورة
اما اذا كانت الصورة لا تحتوي على الوان كثيرة , و تحتوي على مسطحات مكونة من نفس اللون ( مثال على ذلك خلفية بلون ازرق و في منتصف الصورة يوجد رسمة سفينة صغيرة ) فعندها تفوز لاحقة ال gif بجداارة , لأن الخلفية الزرقاء لا تأخذ حجما يذكر في لاحقة ال gif و لكن فقط السفينة الصغيرة هي التي تأخذ حجما
و لفهم الموضوع بشكل كامل و واضح ارجو الاطلاع على هذه الصورة
http://www.montada.com/attachment.php?attachmentid=276237&stc=1&d=1172820936
و اظن حاليا بعد اطلاعكم على الصورة السابقة اصبحتم قادرين على اخباري متى نستعمل لاحقة ال jpg و متى
نستعمل لاحقة ال gif ;)
____________________
نستعمل ال jpg في الخلفيات و السبرايتات المليئة بالالوان (((( و التي لا تحتاج الى خاصية ال Transparent )))
Transparent تعني الشفافية ,,,
و نستعمل ال gif في الخلفيات و السبرايتات التي تحتوي على مساحات مكونة من نفس اللون تماما و التي تحتاج الى خاصية الشفافية
____________________
سأضع لكم في الصورتين القادمتين مثالين توضيحيين عن الفرق بين ال jpg و ال gif من حيث مناسبتهما لخاصية
ال Transparent فلاحقة ال jpg بالرغم من انها تكون اصغر من ال gif احيانا و لكن لا نستطيع استخدامها لأنها
غير مناسبة اطلاقا لخاصية ال Transparent لذلك فالخيار الانسب هو ال gif
http://www.montada.com/attachment.php?attachmentid=276238&stc=1&d=1172822020
http://www.montada.com/attachment.php?attachmentid=276239&stc=1&d=1172822070
و هكذا يكون قد انتهى الدرس و اتمنى ان يكون واضحا و مفيدا
و لكن بقي ان اشرح لكم كيفية ضغط الصورة عن طريق الفوتوشوب 7 الى لاحقة jpg او gif و هي سهلة جدا و اظن ان اكثركم يعرفها لذلك سأشرحها بشكل سريع عن طريق الصور
1_ كيفية الضغط الى jpg
http://www.montada.com/attachment.php?attachmentid=276240&stc=1&d=1172822158
فتظهر هذه النافذة
http://www.montada.com/attachment.php?attachmentid=276241&stc=1&d=1172822314
2_ كيفية الضغط الى gif
http://www.montada.com/attachment.php?attachmentid=276242&stc=1&d=1172822408
فتظهر هذه النافذة
http://www.montada.com/attachment.php?attachmentid=276243&stc=1&d=1172822442
maa2007
02-03-2007, 10:10 AM
Maa2007 ^^
انا مازلت معجب بدروسك حاليا خصوصا اني من محبين جيم ميكر وشفت اشياء جديده
اتمنى ان تكون جميع دروس منك شخصيا ^_~
ونقطه اخرى اتمنى ان تضع الأمثلة والملحقات درس داخل المرفقات فذلك افضل حتى لاتضيع
في مستقبل حبيت أنبهك بهذه نقطه فحسب وان شاء الله ماتبخل علينا استمر
:D :D :D
بالنسبة للدروس فأنا متبعها حاليا ان شاء الله
و بالنسبة للمرفقات فأنا افضل ان اضعها على المنتدى و لكن احيانا يكون حجم
المرفقات كبير , فالمنتدى لا يسمح بحجم اكبر من 500 كيلو بايت
maa2007
02-03-2007, 10:11 AM
تنبيه للذين دخلو فورا الى الصفحة الثانية !!!
يوجد درس جديد في الصفحة الاولى
PrinceOfSorrow
02-03-2007, 11:45 AM
افكار في كيفية اخراج العاب خفيفة باستخدام الجيم ميكر
فكرة_3
استخدام صور بلواحق jpg و gif و معرفة متى نستعمل كل نوع :
لانتاج لعبة سريعة و صغيرة الحجم و سريعة التحميل علينا استعمال صور بحجوم صغيرة لأن الصور تشكل اكبر جزء من اللعبة ( طبعا بالاضافة للاصوات و ..الخ ) و في هذا الدرس سأشرح كيفية تجهيز صور بأصغر حجم ممكن و مع ذلك
تبقى نقية تماما و اريد ان انوه ايضا قبل البدء بأن استعمال صور صغيرة لا يخفف من ثقل اللعبة و حجمها فقط و انما
يسهل عملية التصميم باستخدام الجيم ميكر لأن المشروع يتم تحميله بسرعة و ايضا عند تجربة اللعبة اثناء عملية التصميم , تكون سرعة ترجمة اللعبة و تحميلها سريع و بالتالي توفير بالوقت :biggthump
ان افضل انواع الصور التي من الممكن استخدامها في الجيم ميكر هي ال jpg و ال gif , لأنها اصغر انواع الصور حجما
و يمكننا من خلال برنامج الفوتوشوب تحميل صورة من اي نوع كانت و من ثم ضغطها الى حجم صغير جداااا اما الى
لاحقة jpg او الى لاحقة gif
و لكن هنا يوجد سؤال يطرح نفسه و هو لماذا اخترت لاحقتين و لم اختر واحدة فقط ؟؟
لقد اخترت لاحقتين لأن كل واحدة من هاتين الاثنتين لها وظيفة مختلفة و خصائص مختلفة
و لشرح الامر بشكل اوضح سأطرح سؤالا : اذا كان لدينا صورة و احدة و حاولنا ضغطها على الفوتوشوب
فبأي لاحقة نستطيع ضغطها الى اصغر حجم ممكن مع الابقاء على نقاء الوانها و وضوحها ؟؟ هل نضغطها الى jpg ام الى gif ؟؟
:33: حسنا , اسمحولي بالاجابة على هذا السؤال :silly:
في الحقيقة اذا كانت الصورة مليئة بالالوان و التدرجات و لا تحتوي على مسطحات مكونة من نفس اللون فعندها ستفوز لاحقة ال jpg لأنها تستطيع ضغط الصور المليئة بالالوان الى اصغر حجم ممكن مع الابقاء على نقاوة الصورة
اما اذا كانت الصورة لا تحتوي على الوان كثيرة , و تحتوي على مسطحات مكونة من نفس اللون ( مثال على ذلك خلفية بلون ازرق و في منتصف الصورة يوجد رسمة سفينة صغيرة ) فعندها تفوز لاحقة ال gif بجداارة , لأن الخلفية الزرقاء لا تأخذ حجما يذكر في لاحقة ال gif و لكن فقط السفينة الصغيرة هي التي تأخذ حجما
و لفهم الموضوع بشكل كامل و واضح ارجو الاطلاع على هذه الصورة
http://www.montada.com/attachment.php?attachmentid=276237&stc=1&d=1172820936
و اظن حاليا بعد اطلاعكم على الصورة السابقة اصبحتم قادرين على اخباري متى نستعمل لاحقة ال jpg و متى
نستعمل لاحقة ال gif ;)
____________________
نستعمل ال jpg في الخلفيات و السبرايتات المليئة بالالوان (((( و التي لا تحتاج الى خاصية ال Transparent )))
Transparent تعني الشفافية ,,,
و نستعمل ال gif في الخلفيات و السبرايتات التي تحتوي على مساحات مكونة من نفس اللون تماما و التي تحتاج الى خاصية الشفافية
____________________
سأضع لكم في الصورتين القادمتين مثالين توضيحيين عن الفرق بين ال jpg و ال gif من حيث مناسبتهما لخاصية
ال Transparent فلاحقة ال jpg بالرغم من انها تكون اصغر من ال gif احيانا و لكن لا نستطيع استخدامها لأنها
غير مناسبة اطلاقا لخاصية ال Transparent لذلك فالخيار الانسب هو ال gif
http://www.montada.com/attachment.php?attachmentid=276238&stc=1&d=1172822020
http://www.montada.com/attachment.php?attachmentid=276239&stc=1&d=1172822070
و هكذا يكون قد انتهى الدرس و اتمنى ان يكون واضحا و مفيدا
و لكن بقي ان اشرح لكم كيفية ضغط الصورة عن طريق الفوتوشوب 7 الى لاحقة jpg او gif و هي سهلة جدا و اظن ان اكثركم يعرفها لذلك سأشرحها بشكل سريع عن طريق الصور
1_ كيفية الضغط الى jpg
http://www.montada.com/attachment.php?attachmentid=276240&stc=1&d=1172822158
فتظهر هذه النافذة
http://www.montada.com/attachment.php?attachmentid=276241&stc=1&d=1172822314
2_ كيفية الضغط الى gif
http://www.montada.com/attachment.php?attachmentid=276242&stc=1&d=1172822408
فتظهر هذه النافذة
http://www.montada.com/attachment.php?attachmentid=276243&stc=1&d=1172822442
درس رائع ومهم ^^
شكرا لك في توضيح هذه الأمور التي دائما تكون عائقا للمبتدئين
لكن عندي سؤال هل الجيم ميكر يدعم نوع PNG ??
اذا كان لا هل تم تجريب ذلك مع جيم ميكر 7 ؟؟
PNG أيضا هو نفس GIF تقريبا :33:
maa2007
02-03-2007, 12:25 PM
درس رائع ومهم ^^
شكرا لك في توضيح هذه الأمور التي دائما تكون عائقا للمبتدئين
لكن عندي سؤال هل الجيم ميكر يدعم نوع PNG ??
اذا كان لا هل تم تجريب ذلك مع جيم ميكر 7 ؟؟
PNG أيضا هو نفس GIF تقريبا :33:
الجيم ميكر 6.1 و الجيم ميكر 7 يقبلون ال png
و اعتقد ان ال png تقبل قناة الفا فيمكن عمل اجزاء شفافة من الصورة باستخدام القناة الفا ( سلاح الفا :hmmm: ):hahaha:
و هذا مجرد اعتقاد غير مبني على ادلة او تجربة بعد
nash2
02-03-2007, 10:31 PM
اشكرك على الموضوع المميز :biggthump , فعلاً دروسه نحتاج لها في هذا المنتدى .
sohya
04-03-2007, 07:53 PM
شكرا ليك يا اخي علي الشرح المفيد
وياريت تزودنا بمعلومات ودروس اكتر
من التراب
04-03-2007, 08:09 PM
دروس روعه وانا متحمس للقادم
جزاك الله خير
للأمام
d.a.m.h
05-03-2007, 10:03 AM
دروسك ليست فعلا للمبتدئين فقط فى الجيم ميكر ولكن لكل الخبرات.....والدرس اللى افادنى هو استخدام صور بلواحق معينة فالكثير يقع فى الفخ ويستخدم صور bmp وتزداد مساحة اللعبة وتقل سرعتها
تابع دروسك........ وبالتوفيق :biggthump
maa2007
05-03-2007, 12:05 PM
دروسك ليست فعلا للمبتدئين فقط فى الجيم ميكر ولكن لكل الخبرات.....والدرس اللى افادنى هو استخدام صور بلواحق معينة فالكثير يقع فى الفخ ويستخدم صور bmp وتزداد مساحة اللعبة وتقل سرعتها
تابع دروسك........ وبالتوفيق :biggthump
:)
صح هي مفيدة للمحترفين قبل المبتدئين و لكن انا احاول ان ابسطها من اجل من لم يتعمقوا بالبرنامج
بالنسبة لصور ال bmp فالجيم ميكر يضغطها بشكل كبير جدا بشكل اوتوماتيكي و لكن تستطيع استخدام
ال gif و ال jpg لتصل الى حجم اصغر حتى :biggthump
شكرا لناش 2 و sohya و من التراب على تفاعلهم
و ترقبوا المزيد من الدروس
بالنسبة للدرس القادم فأنا طلبت مساعدة من "من التراب" على الخاص وانتظر حتى يرد علي
كي انزل الدرس
maa2007
11-03-2007, 03:33 PM
افكار في كيفية اختبار اللعبة
فكرة_1
استخدام نافذة ال windows task manager
من اهم الامور التي يجدر بك الانتباه اليها اثناء تصميمك للعبة هو اختبار اللعبة بشكل دوري لمعرفة مدى
ثقل اللعبة و ما تحتاجه من ذاكرة و هل تعمل على اجهزة الاخرين و ..الخ و المعلومات التي تحتاج اليها بشكل عام هي :
1_كم تستهلك اللعبة من قدرة المعالج
2_كم تستهلك اللعبة من حجم الذاكرة ( ram )
3_ماهي كروت الشاشة المناسبة لها
4_هل تعمل على كافة انظمة التشغيل ام يوجد مشكلة عند تشغيلها على احدى انظمة التشغيل
5_ ............الخ
بالنسبة للالعاب المصممة بالجيم ميكر فنحن محدودون بقدرات البرنامج فاللعبة التي لا تعمل على نظام الويندوس 95 لن تعمل مهما حاولت لأن البرنامج اصلا لا يدعمها ( الا اذا كنت عبقريا و صنعت ملفات dll لهذا الغرض )
و اللعبة التي لا تعمل على كرت شاشة معين فأيضا لن تعمل عليه مهما حاولت لأن الجيم ميكر هو من يقرر و ليس انت
و لكن يمكننا اختبار اللعبة على جميع انواع كروت الشاشة قبل نشرها للتأكد من انها تعمل على جميع انواع كروت الشاشة , و في حال لم تعمل اللعبة على احداهى فيمكننا تحذير المستخدم قبل تنزيل اللعبة من انها لن تعمل لديه اذا كان يملك كرت الشاشة كذا او نظام التشغيل كذا , هذا بالنسبة للامور التي ليس لدينا تحكم عليها
و لكن ما نستطيع التحكم به بشكل شبه كامل عند انتاج اللعبة باستخدام الجيم ميكر هو
1_كم تستهلك اللعبة من قدرة المعالج
2_كم تستهلك اللعبة من حجم الذاكرة ( ram )
فعن طريق لغة ال gml الواسعة ( مدمجة مع الجيم ميكر ) يمكننا برمجة نفس اللعبة و لكن بالعديد من الطرق
فمثلا يمكننا برمجة سيارة عن طريق كود معين , ولكن يمكننا اذا ضققنا بالكود و عدلناه ان نعيد هذه البرمجة بحيث نحصل على نفس النتيجة و لكن بكود مختلف و يكون هذا الكود اقل استخداما لطاقة المعالج
و الابداع في البرمجة لا ينتهي فكما قال اخونا "من التراب" ( في الكود كل شي موجود )
و لا يقتصر توفير الطاقة بالبرمجة فقط , فأيضا يمكننا التوفير عند استخدام الصور و الاصوات و طرق عدة اخرى و لقد رأيتم كيف يمكننا التوفير باستخدام لواحق ال gif و ال jpg في الدرس السابق و سأتحدث عن مزيد
من الطرق في دروس قادمة
ولكن كيف تستطيع معرفة اذا كان كود معين اسرع من كود اخر و كيف تستطيع معرفة اذا كانت اللعبة خفيفة و سريعة ام لا اذا لم يكن لديك اداة لقياس هذا الامر ؟؟
الدرس اليوم هو اجابة لهذا السؤال فعن طريق هذه الاداة التي تأتي مدمجة مع كل ويندوس اكس بي يمكنك
قياس :
1_كم تستهلك اللعبة من قدرة المعالج
2_كم تستهلك اللعبة من حجم الذاكرة ( ram )
الاداة هي قائمة performance ( الاداء ) من نافذة windows task manager , انظروا الى الصورة التالية
http://www.montada.com/attachment.php?attachmentid=277036&stc=1&d=1173615494
و كما ترون في الصورة التي بالاعلى يوجد عدادين :
1_ cpu usage و هو يظهر لك مدى الاستهلاك من قدرة المعالج بالنسبة المئوية و بالنسبة للصورة هذه
فنسبة الاستخدام 0% اي ان المعالج يعاني من بطالة حاليا (هههه)
و لكن يجدر بنا الانتباه اثناء اختبار اللعبة انه لا يوجد اي شيئ اخر يعمل في نفس الوقت كمشغل الموسيقا او محمل الملفات من الانترنت ...الخ يعني بكل بساطة يجب ان يتم تشغيل اللعبة فقط اثناء الاختبار كي يتم قياس اللعبة فقط
2_ pf usage و هو يظهر لك كمية الرام المستخدمة حاليا و بالنسبة للصورة هذه فالذاكرة المستخدمة هي 665MB ( الظاهر انو محمل الفوتوشوب و الستديو ماكس مع بعض)
و يجدر بنا الانتباه هنا الى ان الذاكرة لا يمكن ان تكون 0 بأي و قت من الاوقات لأن الويندوس يكون محمل
على الرام بالاضافة الى البرامج الاخرى التي تعمل حاليا , لذلك يجب ان ننتبه قبل تشغيل اللعبة المراد اختبارها
الى مدى استخدام الذاكرة و تدوينه ( في المفكرة او احفظه فهو مجرد ثلاث ارقام على الاغلب ) و بعد ذلك نشغل
اللعبة فنرى ان العداد زاد عن القيمة السابقة , فنقوم بطرح القيمة السابقة ( التي دوناها في المفكرة او عقلنا )من القيمة الجديدة فيكون الناتج هو مدى استخدام اللعبة للذاكرة ( ram)
كيفية الوصول الى هذه النافذة :
نضغط على ctrl+alt+delete فتظهر لنا هذه النافذة
http://www.montada.com/attachment.php?attachmentid=277037&stc=1&d=1173615543
نضغط على زر task manager فتظهر لنا هذه النافذة
http://www.montada.com/attachment.php?attachmentid=277038&stc=1&d=1173615589
و من ثم ننقر على قائمة performance
كيفية استعمال هذه القائمة اثناء اللعبة :
نشغل اللعبة و نرتب نافذة اللعبة و نافذة الاختبار بحيث نستطيع اللعب باللعبة و مراقبة عداد استخدام المعالج في نفس الوقت , و اما اذا كانت اللعبة مضبوطة على كامل الشاشة اي (fullscreen) فعندها نضغط على زر f4
من لوحة المفاتيح , فتتحول اللعبة من وضعية ال fullscreen الى نافذة و عندها يمكننا وضع نافذة الاختبار في اسفل الشاشة بحيث نستطيع مراقبة اداء المعالج و التحكم باللعبة في نفس الوقت , للتوضيح انظروا الى الصورة التالية
http://www.montada.com/attachment.php?attachmentid=277043&stc=1&d=1173615690
اظن الى هنا فالطريقة اصبحت و اضحة بالنسبة لكم
لاحظوا عند الاختبار انكم تستطيعون قياس اداء اللعبة في كل لحظة من اللعبة فأنا مثلا لاحظت ان في لعبة البراق المبينة في الصورة الاخيرة , ان اللعبة لا بأس بها بشكل عام و لكن عندما تدخل الطائر بالغيوم تتوقف الطائرة عن الحركة و لا تستجيب لأزرار الاعب الى ان تخرج الغيوم من الشاشة , و في البداية كنت اظن ان هذا خطأ برمجي , و لكنني اكتشفت بعد الاختبار ان حقيقة الامر هو ان الغيوم تأخذ قدرا كبيرا من طاقة المعالج
اكثر من 100% من قدرة المعالج لذلك فاللعبة تتوقف عن الاستجابة الى ان تخرج الغيوم من نطاق الرؤيى , و لولا اختباري للعبة طوال الوقت بهذه الطريقة لما اكتشفت ان هناك جزء من اللعبة يستنفذ طاقة كبيرة من المعالج . لذلك نفس الشيئ يجب ان تطبقوه في العابكم , فدائما شغلو اللعبة و اختبروها من اولها الى اخرها مع مراقبة عداد استخدام المعالج فإذا و جدتم ان هناك جزء من اللعبة يستخدم طاقة المعالج بشكل كبير فيجب عليكم الذهاب الى هذا الجزء اثناء عملية التصميم و التدقيق فيه , فربما يوجد فيه عناصر كثيرة جدا , فعليكم تخفيف عددها , او ربما تحتوي على عنصر غير مبرمج بشكل جيد و بالتالي يستهلك الكثير من المعالج فعندها عليكم اعادة برمجته
و في النهاية تحصلون على لعبة منتظمة استهلاك المعالج بشكل متساوي طوال فترة اللعبة
كيفية معرفة متطلبات اللعبة الدنيا :
كيف تعرفون سرعة المعالج الدنيا التي تحتاجها اللعبة ؟
سأعطيكم مثال : في لعبة البراق تستهلك اللعبة 50% من قدرة المعالج بشكل عام , و معالجي سرعته 2000
اذا هذا يعني ان اللعبة تستهلك 100% من قدرة المعالج اذا كانت سرعته 1000
و بالتالي نستطيع القول ان المتطلبات الدنيا للعبة هي معالج بسرعة 1100 او 1200
شكرا لكم و انتظروا الدرس القادم :biggthump
nash2
11-03-2007, 11:07 PM
اشكرك على الدرس المفيد :أفكر: , اتمنى لك التوفيق في الدروس القادمة .
maa2007
12-03-2007, 10:40 AM
اشكرك على الدرس المفيد :أفكر: , اتمنى لك التوفيق في الدروس القادمة .
و اياكم اخي مشكور :biggthump
تنبيه للذين دخلوا فورا الى الصفحة الثالثة : يوجد درس جديد في الصفحة الثانية :biggthump
من التراب
18-03-2007, 10:30 PM
و الابداع في البرمجة لا ينتهي فكما قال اخونا "من التراب" ( في الكود كل شي موجود ) أنا بصدر كتاب للأقوال المأثوره ^..^"
نشغل اللعبة و نرتب نافذة اللعبة و نافذة الاختبار بحيث نستطيع اللعب باللعبة و مراقبة عداد استخدام المعالج في نفس الوقتكنت مستغرب من الطريقة لحد ما قريت هذا السطر فيجب تفعيل نافذة اللعبة أثناء مراقبة العداد لأن النظام أحيانــًا ينقل البرامج غير المفعلة للهارديسك...
أما الذاكرة فالمشكلتها في إنخفاض مع تطور التكنلوجيا فالمعالج صار يستخدم الهارديسك كجزء من الذاكرة تجنبـــًا لمتلاء الذاكره (كرش) ..واليوم تناقشت انا ودكتور في الجامعه عن لغات برمجه وانها تاخذ مساحات مختلفة من الذاكرة مثل الجافا والـphp فتعقيد الجافا يوفر مساحه فالذاكرة بينما بساطة الـphp ماتفرق بين المتغيرات!!...
لكن في النهاية...قال: مافي أحد يهتم بالذاكرة الحين ~_~"
تسلم ع الأسرار ويالله كمل ^..^"
اسود الرافدين
26-04-2007, 09:45 AM
مشكور جدا على هذه الفائدة الكبيرة
وانشاء الله نحوة الافضل
جميع حقوق برمجة vBulletin محفوظة ©2025 ,لدى مؤسسة Jelsoft المحدودة.
جميع المواضيع و المشاركات المطروحة من الاعضاء لا تعبر بالضرورة عن رأي أصحاب شبكة المنتدى .