المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : نصائح مفيدة لمستخدمي لمبرمجي الالعاب



TombRaider4Ever
10-09-2003, 11:24 PM
هذه النصائح هدية مني انا ديفيد او كما يعرفني البعض باسم TombRaider4Ever لأعضاء المنتدى، و تأتي كتعويض لعدم تمكنّي من ترجمة مستند المساعدة لبرنامج Game Maker نتيجة لطولها و كثرة فصولها. اتمنى أن يستفيد جميع مستخدمي Game Maker من هذه الهدية و يتمكنّوا من تصميم ألعابا أفضل من تلك المتداولة حاليا، والتي لا ترقى الى مستوى طموحنا.



نصائح مفيدة لمستخدمي Game Maker فقط

هذه النصائح ليست موجهة للمبتدئين بل للمستخدمين المتمرسين.

الاسبرايتس:
يدعم البرنامج الكثير من هيئات او امتدادات الصور المختلفة. سنناقش هنا ثلاث انواع شائعة و التي لا يستغني عنها الكثيرون. لكن ما هو الفرق بين الامتداد والهيئة؟ سؤال جيد رغم انه خارج عن موضوعنا، باختصار أقول ان إمتداد الملف هو آخر ثلاث حروف من إسمه بينما هيئة الملف هي طريقة ترتيب البيانات داخل الملف. الامتداد يخبر نظام التشغيل بوساطة اي برنامج يفتح هيئة ما. اعتقد ان الفكرة اصبحت واضحة:
· هيئات .bmp: هذه الهيئات تعتبر من أجود الأنواع لكن حجمها كبير.
· هيئات .jpeg: اما هذه فهي التي تستخدم كثيرا على الشبكة في المواقع المختلفة نظرا لحجمها الصغير نسبيا. غالبا يفضل تحويل هيئات .bmp الى هذه الهيئة.
· هيئات .gif: هذه الهيئات صغيرة الحجم. يفضل تحويل هيئات .bmp او .jpeg الى هذه الهيئة اذا كانت الالوان المستخدمة في الصورة قليلة. و تتميز بقدرتها على احتواء اكثر من صورة و عرضها بشكل متتالي لتكون صورة متحركة.
في نافذة الاسبرايت تجد بعض الأوامر المتقدّمة والتي يتجاهلها الكثيرون منكم او لا يعرف وظائفها بشكل دقيق، و هذه الأوامر هي كما يلي:
· الشفافية: هذه الخاصية تجعل اجزاءا من الاسبرايت شفافا، كلنا يعلم ذلك و لكن اية اجزاء بالتحديد؟ هذا يحدده لون البكسل الاخير في الزاوية السفلية اليسرى للاسبرايت، فاذا كان لون هذا البكسل احمرا مثلا يقوم البرنامج بحذف جميع أجزاء الاسبرايت ذات اللون الأحمر. لكن انتبه فالكومبيوتر جهاز دقيق جدا، لذلك يجب الانتباه من الدرجة اللونية للون الشفافية. بعضنا قد لا يعرف معنى كلمة بكسل و لهؤلاء أقول ان الصورة التي تراها على الشاشة مكونة في الحقيقة من عدد كبير جداُ من النقاط الصغيرة جداً والتي تفصل بينها مسافات صغيرة جداً ويمكن للشاشة تغيير لون كلاً منها وبذلك يمكن إظهار الألوان على الشاشة. سنضطر الآن أن نتكلم بشيء في الفيزياء قليلاً، فربما تعرف أن أي لون من الألوان يتكون من مزيج من الألوان الثلاثة الرئيسة: الأحمر والأخضر والأزرق كما لا يخفى عليك أن أي لون من الألوان له درجات، فهناك مثلاً الأحمر الغامق والفاتح وهناك البني الفاتح والغامق...الخ وبمزج الألوان الرئيسة الثلاثة مع بعضها البعض بنسب متفاوتة يمكننا إظهار درجات الألوان المختلفة جميعها، فمثلاً عندما يظهر الحاسب على الشاشة اللون الأخضر والأزرق والأحمر معاً بنفس النسبة في بقعة واحدة فإن اللون الناتج هو اللون الأبيض، أما إذا أخفينا اللون الأخضر واللون الأحمر فإن الناتج هو اللون الأزرق وهكذا. لذا فشاشة الحاسب مثل التلفزيون مكونة من مجموعة من النقاط الدقيقة الملونة المنتشرة بصورة منتظمة على كامل مساحة الشاشة ويسمى كل ثلاثة من هذه النقاط بـالبكسل حيث تكون نقطة خضراء ونقطة زرقاء ونقطة حمراء بكسلاً واحداً، ويستطيع الحاسب مزج الألوان الثلاثة مع بعضها بأية نسبة لإظهار بكسل معين من البكسلات بأي لون مهما كان درجته.
· الفحص الدقيق للتصادم: ما معنى التصادم اصلا؟ برنامجنا العزيز هذا يقول ان التصادم هو ان يلتقي بكسل من اسبرايت ما ببكسل من اسبرايت اخر، والفحص الدقيق له يعني تجاهل البكسلات التي تحمل لون الشفافية، اما في حال عدم اختيار هذا الامر فسيعتمد البرنامج على الصندوق المحيط للاسبرايت. فما هو الصندوق المحيط للاسبرايت؟
· الصندوق المحيط: و هو يا عزيزي المربع الذي يحيط بالاسبرايت. وظيفته هو تحديد منطقة الاسبرايت الذي يأخذه البرنامج لفحص تصادم في حالة عدم اختيار الفحص الدقيق او عدم اختيار الشفافية، و يمكن التحكم بمساحته.
· نقطة الاصل: هي النقطة التي تتصل بموقع الاسبرايت. عندما تضع اسبرايتا في مكان ما فان نقطة اصلها تكون في ذلك المكان. و يمكن تغييره.

الاصوات:
لا تحلم بتصميم لعبة بدون استخدام الاصوات و الموسيقا، صحيح ان الموسيقا حرام، لكن لا باس من تجاهل ذلك احيانا! البرنامج يدعم ثلاث هيئات مختلفة من الاصوات وهي الهيئات المعروفة بالامتدات .wav وmidi وmp3. فما الاختلاف بين هذه الهيئات؟ فلنوضح ذلك:
· هيئات .wav: هذه الهيئات تتميز بجودتها وسرعة تشغيلها ولكن حجمها يكون عادة كبيرا مقارنة بهيئات .midi او حتى .mp3. استخدم مثل هذه الهيئات للاصوات و ليس الموسيقا، اي مثلا صوت انفجار مركبة...الخ لان تشغيل هذه الهيئات سريع كونها غير مضغوطة (لهذا حجمها كبير) فلا اظنك تريد ان تسمع صوت انفجار المركبة بعد ساعة من حدوث الانفجار!
· هيئات .midi: تتميز هذه الهيئات بصغر حجمها فهي جد مضغوطة، لذا استخدمها لموسيقا اللعبة. من عيوبها ان البرنامج لا يستطيع تشغيل اكثر من ملف واحد من نفس النسخة في وقت واحد.
· هيئات .mp3: نفس هيئات .wav، لكن الفرق انها مضغوطة. استخدمها لموسيقا اللعبة، ان كنت تريد جودة في الموسيقا. لكن تذكر ان حجمها اكبر من حجم هيئات .midi لكنها تبقى اقل حجما من هيئات .wav. اياك و استخدام هذه الهيئات للاصوات، استخدمها للموسيقا فقط و يفضل ان لا تفعل.

الخلفيات:
الخلفيات تزيد حجم الملف النهائي للعبة بشكل ملحوظ، لذلك لا تستخدم الكثير منها. اما اذا كنت مصرا على استخدامها فاستخدم الخلفيات البلاطية. الخلفية البلاطية هي عبارة عن صورة صغيرة عادة، اذا وضعت بقرب بعضها بعضا عموديا او افقيا تبدو وكانها صورة واحدة.

الكائنات:
هنالك بعض الأوامر المتعلقة بالكائنات في البرنامج و التي يجب علينا التطرق اليها:
· العمق: عندما تُرسم نسخ الكائنات على الشاشة، ترسم على حسب ترتيب عمقها. النسخ ذات العمق الاكبر ترسم اولا، والنسخ ذات العمق الاصغر ترسم بعد الاكثر منها عمقا. عندما تكون لنسختان من النسخ نفس العمق فالتي كونت اولا ترسم اولا. ان كنت تريد ان تضمن ان نسخة ما تقع فوق جميع النسخ الاخرى فاعطها عمقا ذات قيمة سالبة. اما ان كنت تريد عكس ذلك فزودها بقيمة موجبة كبيرة.
· البقاء: هذا الامر يجعل الكائن يبقى في اللعبة في حالة الانتقال الى غرفة اخرى.
· الوراثة: هذا الامر مفيد لتوفير الكثير من الوقت. ان كان لديك كائنان و تريد ان يكون لهما السلوك ذاته فتستطيع ان تستخدم هذا الامر.
· القناع: يستخدم القناع لتغيير الاسبرايت للكائن، ليس شكلا بل قلبا. يعني ان حدث تصادم مع هذا الكائن فسياخذ البرنامج اسبرايت القناع في عين الاعتبار ويتجاهل الاسبرايت الحقيقي للكائن.

تحسين سرعة اللعبة:
· ذاكرة الفيديو: الاسبرايتس والخلفيات يمكن تشغيلها اما باستخدام ذاكرة الفيديو او الذاكرة العادية. برنامج السيد Mark Overmars يوفر خيارا متعلقا بهذا الامر. حيث تستطيع تحديد استخدام ذاكرة الفيديو بالنسبة لهذه الموارد ام لا. المهم هنا هو معرفة متى استخدام ذاكرة الفيديو. يفضل استخدام ذاكرة الفيديو للموارد التي يكون حجمها صغيرا فان كنت تستخدم اسبرايتا او خلفية صغيرة في الحجم فاستخدم ذاكرة الفيديو. اما اذا كان حجم المورد كبيرا فلا تستخدم ذاكرة الفيديو. لان ذاكرة الفيديو محدودة و قد تنفذ بسرعة.
· التحميل عند الاستخدام: بعض الاسبرايتس او الخلفيات او الاصوات قد لا تستخدمها الا في اماكن قليلة من لعبتك، في هذه الحالة يفضل استخدام هذا الامر بدلا من ابقائها في الذاكرة طوال فترة تشغيل اللعبة. عند استخدام المورد تحمل الى الذاكرة وبنهاية الغرفة يتم التخلص منها لتحرير الذاكرة. كذلك استخدام هذا الامر سيؤدي الى زيادة سرعة تحميل اللعبة.
· الموارد وتاثيرها على سرعة اللعبة: عليك مراعاة عدم استخدام الاسبرايتس المتحركة بشكل كبير لان هذا سيؤدي الى ابطاء اللعبة. كما يفضل التخلص عن الاجزاء الزائدة حول الاسبرايتس. بجانب ذلك قم بعدم تفعيل امر الفحص الدقيق للتصادم مادمت لا تحتاج اليه. اما بالنسبة الى الخلفيات فتاكد من عدم تفعيل خيار رسم لون الخلفية الموجود في نافذة خصائص الغرفة تحت جزء الخلفية.
· امور اخرى يجب مراعاتها: لا تستخدم الحدثان Draw او Step كثيرا لان لهما دورا سلبيا على سرعة اللعبة. وكن حذرا عند استخدام حدث التصادم. قم بعدم تفعيل خيار عرض مؤشر الفارة الموجود في نافذة خيارات اللعبة ما دمت لا تحتاج اليها. و انتبه بالنسبة لاستخدام الملفات الصوتية الكبيرة فمن الصعب ضغطها. قم باستخدام احد برامج الضغط المشهورة لضغط ملف اللعبة النهائي. و لا تنسى ان تجرب لعبتك على اجهزة مختلفة قبل نشرها.

اتباع تقليد معين في تسمية الموارد والمتغيرات:
ان تسمية الموارد والمتغيرات بطريقة جيدة، يسهل عليك عملية قراءة لعبتك. لذلك من الافضل لك تتبع طريقة معينة في تسميتها. ويجب عليك ان تتجنب تشابه اسماء الموارد لكي لا تربك البرنامج. هذا سيصبح مهما جدا خاصة اذا كنت تستخدم الاكواد. اقترح عليك اتباع الطريقة التالية في التسمية:
· الاسبرايتس: اضف spr قبل الاسم. مثال: sprPlayer
· الاصوات: اضف snd قبل الاسم. مثال: sndExplosion
· الخلفيات: اضف bag قبل الاسم. مثال: bagMainScreen
· المسارات: اضف pth قبل الاسم. مثال: pthPlayerMovement
· الاسكريبتس: اضف scr قبل الاسم. مثال: scrGameStart
· البيانات: اضف dat قبل الاسم. مثال: datFont
· الخطوط الزمنية: اضف tln قبل الاسم. مثال tlnTimeOut
· الكائنات: اضف obj قبل الاسم. مثال: objPlayer
· الغرف: لا تضف شيئا قبله. مثال: Level1
· المتغيرات: اضف var قبل الاسم: مثال: varDoIt
لكن لماذا اضفنا تلك الحروف قبل الموارد؟ لان ذلك سيجعلك تعرف نوع المورد، كما انك قد تحتاج احيانا ان تسمي موردين من نوعين مختلفين بنفس الاسم واتباع هذه الطريقة سيؤدي الى عدم تشابه اسم الموردين. و اخيرا اريد ان انوه ان الاسماء يجب ان تحوي ارقاما وحروفا والرمز (_) فقط. و لا يجب استخدام المسافات. كما يجب ان تبدأ بحرف.

في هذا الملف المرفق ستجد الكثير من ما سيعجبك ;)

UAE Naruto
11-09-2003, 02:19 PM
نسيت الـ RPG Maker ولا ما تدانيهم ؟ :mad22: :vereymad: :mad:

UAE Naruto
11-09-2003, 02:29 PM
بعد ما فهمت شي من إلي شرحته لأنه مب بالصور :argh:

Light Angel
11-09-2003, 05:59 PM
مشكور جدا على النصايح المفيدة .. و انا اشجعك على مثل هالمقالات :cool:

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

المقاله ممتازه 100% و هي تشرح مبادي تصميم الالعاب بالجيم ميكر :biggthump

Son Of UAE
11-09-2003, 06:00 PM
مشكور جدا على النصايح المفيدة .. و انا اشجعك على مثل هالمقالات :cool:

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

المقاله ممتازه 100% و هي تشرح مبادي تصميم الالعاب بالجيم ميكر :biggthump

TombRaider4Ever
12-09-2003, 11:03 PM
شكرا يا Son of UAE لتوضيح الامر للاخ Blazy عني :)

CHALLENGER
12-09-2003, 11:28 PM
بصراحة مقال رائع و مفيد لأي مصمم و الملف الي ارفقته فيه مقالات مظبوطة و حلوة خاصة تبع فشل معظم العاب كرة القدم

ارجو ان تستمر اخي ديفيد بمقالاتك الرائعة و فعلاً انك مبدع و بيطلع منك الكثيير