مشاهدة النسخة كاملة : [درس] تقليل و تصغير أحجام ألعاب الجيم ميكر - عبارة عن حلقات متتالية
Son Of UAE
02-01-2006, 09:44 PM
بسم الله الرحمن الرحيم
من اساسيات الألعاب الناجحة توافقها مع اكبر كم من الكمبيوترات. و بنفس الوقت المحافظة على نوعية وقوة اللعبة. لاحظت في الفترة الاخيرة ظهور بعض الألعاب المصصمة بصانع
الألعاب "Game maker" بأحجام كبيرة جداً تفوق قوة البرنامج مما يؤدي إلى التأخير و بطء التحميل. هنا, بهذا الموضوع سنحاول وضع افضل الطرق للتقليل من حجم
الملف التطبيقي للعبة وليس للعبة كاملة. و الملف التطبيقي هو الملف الذي يحمل الإمتداد exe للعلم فقط.
قمت بالبحث عن طريقة أخراج الملفات الصوتية الكبيرة. وهي أساس المشكلة من رأي الشخصي.
والأن اضع بين يديكم خلاصة التجربة التي قمت بها اليوم.
متطلبات الدرس:
game maker 6.1
ملفين صوتيين للتجربة من نوع mp3
1 -
241810
نفتح مجلد جديد و نقوم بوضع ملف gm6 و الاصوات فيه.
2 -
241811
نقوم بصنع اوبجيكت جديد و غرفة جديدة و نضع الاوبجيكت فيها.
و الايقونه قمت برسمها و هي غير مهمة.
3 -
241812
ندخل في خصائص الاولجيكت.
نضع حدث جديد و هو create.
نضع كود جديد و نستعد للجد الأن.
علامة الشرطتين هي للملاحظات . و اي شيء باللون الاخضر هو عبارة عن ملاحظة لا اكثر.
4 -
241813
ندخل الكود
sound01 = sound_add('01.mp3',1,0);
وهو لصنع مصدر جديد بإسم sound01
و يحتوي المصدر sound01 على الملف الصوتي الاول ( راجع الصورة 1 )
باقي الارقام هي للخيارات الأخرى التي لن اقوم بشرحها.
يمكنك مراجعة ملف المساعدة للتعرف عليها.
نضيف الكود التالي
sound_play(sound01);
وهو لتشغيل الصوت من المصدر sound01
وبهذا قمنا بأهم عملية لهذا الدرس.
5 -
241814
قد تحتاج لإستبدال الصوت في المصدر الواحد بدل وضع أوبجيكت جديد في بعض الأحيان.
يكون ذلك بوضع حدث جديد و قد استخدمنا حدث الضغط على واحد كمثال.
و ندخل الكود
sound_replace(sound01,'02.mp3',1,0);
سيقوم الأمر بالرجوع إلى المصدر sound01 و يضع الملف الصوتي الثاني وهو 02.mp3 كما هو مبين بالصورة 5.
هذا الامر سيقوم بإيقاف الصوت بشكل فوري لانك قمت بإزالته.
نقوم بتشغيلة كما فعلنا سابقاً بالكود التالي
sound_play(sound01);
وبهذا قمنا بتشغيلة مرة اخرى
6 -
241815
بعد الإنتهاء من المصدر و لنكن احترافيين بعض الشيء. نقوم بإزالة المصدر من ذاكرة الجهاز. وذلك عن طرق الكود
sound_delete(sound01);
لقد وضعنا هذا الكود في حدث التخلص من الأوبجيكت نفسه.
و هنا نحب وضع مقارنة بين الحجمين للطرق القديمة و هذة الطريقة الحديثة.
241816
وبهذا قد انهينا أول فقراتنا في طرق توفير و تصغير مساحة اللعبة. وجدت انه يمكن استخدام هذا الاسلوب لكل من المصادر الاخرى و هي الصور و الخلفيات و الخطوط و
المسارات و الكودات و غيرها. ومرجعي الوحيد هو كتاب المساعدة المرفق مع صانع الألعاب Game maker.
يمكن لأي شخص المشاركة بطرقه لتقليل حجم الملفات و اللعبة .
و ارجو ان يستفيد من هذا الدرس الاعضاء الكرام.
Son of UAE
OctoBot
02-01-2006, 09:53 PM
السلام عليكم.
والله سبقتني, كنت بحط كتاب ملحق مع ترجمة الـGML فيه أشياء عن تصغير الحجم و زي كذا, لكن فكرتك أحلى من أفكاري.
مشكور جدا على الدرس.
Son Of UAE
02-01-2006, 09:57 PM
العفو .. ولو عندك اي إضافة فلا داعي للتردد .. فزيادة الخير خيرين :biggthump
و اصعب شيء التطبيق كبداية . فأختراع المصباح اصعب من صناعة مليون مصباح .
Mr. Black Man
02-01-2006, 11:46 PM
درس مفيد جداً جداً جداً :biggthump, مشكلة بطء التحميل و كبر حجم اللعبة كانت من أهم المشاكل في لعبتي, إن شاء الله سأستفيد من موضوعك للتخلص من المشكلة :), و شكراً على مجهودك الرائع ;)
.............................
هذه بعض النصائح التي نصحني بها الأخ OctoBot للتقليل من حجم لعبتي, أعتقد إنها ممكن تكون مفيدة للأعضاء و هي :
استخدم MIDI و لا تستخدم MP3, استخدم PNG و لا تستخدم BMP و JPEG, لأن هذي هي عادة أسباب كبر الحجم.
و شكراً :ciao:
zeeeeeeero
03-01-2006, 08:19 AM
مشكوووووووووووووووووووووووووووور اخوي ولد الامرات على الدرس الروعة:p
الموقوف
03-01-2006, 09:05 AM
مشكوووووووووور أخي ابن الامارات على هذا الدرس لأني كنت أفكر أني أقلل من حجم الألعاب لأن عندي
بعض الألعاب ماتعمل بسبب البطىء الشديد فيها :09:
d.a.m.h
03-01-2006, 01:09 PM
مشكور يا ابن الامارات على الشرح العظيم
و باذن الله يتم القضاء على مشكلة السرعة فى اللعبة
و الحجم الكبير
عبدالله..ع
03-01-2006, 01:38 PM
- أشكرك كثيرا أخي العزيز Son Of UAE على هذا الدرس المفيد بالفعل و الرائع في نفس الوقت ...:biggthump
و ان شاء الله سوف أقوم بتطبيقه على اللعبة التى لدينا ..;) و أنا أنتظر الدرس الثاني بفارغ الصبر ..:biggthump و جزاك الله خيرا ..:ciao:
الموقوف
03-01-2006, 01:57 PM
ما هو امتداد الـ MP3 هل هو اي صوت بامتداد MID :33:
لأن هناك خطأ يطلع لي عندما أريد التشغيل ......
http://www.q8start.com/uploads/4cfa5e6466.bmp
Son Of UAE
03-01-2006, 04:43 PM
Uzumaki Naruto === هذا الدرس خصوص لشخصين و البقية عامة .. و انت واحد من الإثنين ;)
zeeeeeeero == مشكور على مرورك. :D
d.a.m.h === ان شاء الله تستفيد من الدرس . :biggthump و هخل قمت بتطبيق الدرس ؟ اريد ان اعرف إذا كان تطبيق الدروس بهذه الطريقة سهل أم لا ؟ :)
عبدالله..ع === فهو الشخص الثاني .. سيقلل هذا ادرس الكثير من حجم اللعبة ... و اخبرني بأخر المستجدات . :biggthump
الموقوف === شكرا على مرورك .. لا حظت من الخلل انك قمت بتطبيق الدرس حرفياً.
امتداد الmp3 هو mp3 ويكون عادة بدل الwav و لكن مضغوط بشكل خيالي و بنفس النقاوة. من خلال الصورة رقم 1 للدرس . ماذا سميت ملفاتك الصوتية ؟ يجب ان تعيد كتابة الاسماء الاصلية مرة أخرى في كود البرنامج ليتمكن البرنامج من التعرف على الصوت الذي تريد استخدامه.
وقد يكون الخلل بسبب التالي. فهل وضعت جميع ملفات اللعبة فب مجلد واحد ؟ mp3 و gm6
mp3 = للاصوات
gm6 = للجيم ميكر
======
يمكنك ارسال صور اكثر . واحدة للملفات بطريقة عرض الdetails
وصورة للmusic_generator في حدث create للكود نفسه ..
وسيمكنني حل المشكلة بإذن الله .. :أفكر:
الموقوف
03-01-2006, 05:23 PM
تفضل أخي هذي هي الصور
http://www.q8start.com/uploads/e12abc5666.bmp
http://www.q8start.com/uploads/f3132d7b4a.bmp
أرجو الرد سريعاً :(
عبدالله..ع
03-01-2006, 05:54 PM
- لدي اضافة بسيطة على درس أخي العزيز Son Of UAE ..;) و هي امكانية ادخال ملفات الصوت الى مجلد و الاستعارة من هذا المجلد..:biggthump
7- بامكانك وضع الملفات الصوتية داخل مجلد و استخدامها من هذا الملجد..
http://www.q8start.com/uploads/a25d053275.jpg[/url]
كما يتضح لنا من الصورة أننا قمنا بصناعة ملف ( ليكن doom ) و ادخلنا بداخله ملفين صوتيان اسماؤهم هي :-
asd.mp3
asd1.mp3
نطبق مثال الأخ العزيز Son Of UAE كما هو..لكن الاضافة سوف تكون كما في الصورة التالية: -
http://www.q8start.com/uploads/bc843ca70d.jpg[url="http://www.montada.com/attachment.php?attachmentid=241905.jpg"] (http://www.montada.com/attachment.php?attachmentid=241904.jpg)
نضع اسم الملف الذي صنعناه و هو ( doom ) ثم نضع الرمز / ثم نضع اسم الملف الصوتي المطلوب..
و بذلك نكون قد استعرنا الأصوات من داخل ملف دون الحاجة الى وضعها بجانب اللعبة..;)
و شكرا على متابعة الدرس..:ciao:
Son Of UAE
03-01-2006, 07:33 PM
تفضل أخي هذي هي الصور
http://www.q8start.com/uploads/e12abc5666.bmp
http://www.q8start.com/uploads/f3132d7b4a.bmp
أرجو الرد سريعاً :(
نوع الملفات هو midi الذي قمت باستخدامة وحجمه بسيط جدا جداً .. لا اعتقد ان هناك داعي لاستخدام الطريقة الجديدة. :أفكر: و لكن للفائدة و للتعلم قم بالتالي
في كود اللعبة .. غير mp3 ال mid
إذا لم تفلح . غير mp3 إلى midi
و عطني خبر ;)
Son Of UAE
03-01-2006, 07:38 PM
- لدي اضافة بسيطة على درس أخي العزيز Son Of UAE ..;) و هي امكانية ادخال ملفات الصوت الى مجلد و الاستعارة من هذا المجلد..:biggthump
....
....
....
و شكرا على متابعة الدرس..:ciao:
الحمد لله .. طبعاً شكراً على الملاحظة بس ما حبيت أضيفها في الدرس. عشان ما تصير لخبطة. :afraid:
و افضل شيء بالدرس انه انت تعلمت عليه :biggthump و بشرنا . كم صار حجم اللعبة ؟ :reporter:
عبدالله..ع
03-01-2006, 08:22 PM
- شكرا أخي العزيز ..;) لكن الى الآن لم أطبقها على اللعبة لأنها تحتاج لوقت ليس بالقصير..:( لكن الأصوات لوحدها لا تكفي للتخفيف ..مع أنها لها حجم كبير ..الذي سوف يخفف حجم لعبتنا بالفعل هو الخلفيات المتعلقة بالجدران لأنها ذات حجم كبير..:afraid:
حاولت أغير على الكود و وضعت كود به اضافة خلفية ..و كتبت اسم الصورة التى أريدها أن تكون خلفية لكن لم أفلح للأسف..:(
و أتمنى لو تعطيني الكود المتعلق بوضع خلفية من الخارج..كي أطبقه على اللعبة و شكرا لك..:ciao:
الموقوف
03-01-2006, 08:28 PM
الطريقة اللي قلت لي عنها نجحت لكن بعد ما أشيل الأصوات من الجهاز يصير مافيها صوت :06:
http://www.q8start.com/uploads/9c17266a0b.bmp
Son Of UAE
03-01-2006, 08:57 PM
الطريقة اللي قلت لي عنها نجحت لكن بعد ما أشيل الأصوات من الجهاز يصير مافيها صوت :06:
http://www.q8start.com/uploads/9c17266a0b.bmp
هذا هو المقصود بالدرس .. وضع الاصوات خارج الملف التطبيقي ... فهذا ليس بخلل. ;)
تخيل لو عندك لعبة 10 ميجا منها للصوتيات ؟! سيكون تحميلها بطيئ جدا كما حصل للعبة أسد الفلوجة ( كمثال ) و إن شاء الله سيقوم عبدالله بإخراج الاصوات و الخلفيات و يقل حجم الملف التطبيقي ومنه تزيد سرعة تشغيل اللعبة :biggthump وستكون اكبر مشاكل المشروع قد حلت :)
Son Of UAE
03-01-2006, 09:04 PM
- شكرا أخي العزيز ..;) لكن الى الآن لم أطبقها على اللعبة لأنها تحتاج لوقت ليس بالقصير..:( لكن الأصوات لوحدها لا تكفي للتخفيف ..مع أنها لها حجم كبير ..الذي سوف يخفف حجم لعبتنا بالفعل هو الخلفيات المتعلقة بالجدران لأنها ذات حجم كبير..:afraid:
حاولت أغير على الكود و وضعت كود به اضافة خلفية ..و كتبت اسم الصورة التى أريدها أن تكون خلفية لكن لم أفلح للأسف..:(
و أتمنى لو تعطيني الكود المتعلق بوضع خلفية من الخارج..كي أطبقه على اللعبة و شكرا لك..:ciao:
سيكون الامر معقد بخصوص الخلفيات . و طبعاً الاكواد كلها موجود بملف المساعدة الخاص بالبرنامج ( يمكنك الاطلاع عليه ) . سأحاول غداً دراسة الاكواد و اضع لك الطريقة ان شاء الله . :أفكر: و اعتقد ان صور الخلفيات التي بالمقدمة و الفواصل بين المراحل هي من اهم اسباب الحجم الكبير للصور. :33:
السؤال هو .. هل تم تصميم اللعبة بالاكواد ام بالايقونات ؟
من التراب
03-01-2006, 10:49 PM
مشكور ... على الدرس الحلو ...^^
أعتقد إذا كنت أريد أحط لينك اللعبة للتحميل فلازم يكون الملف كله ...مش ملفmg6 بس ....
والشخص الي يحمل الملف لازم ما يغير فيه أي شي ... مثل البرامج الكبيرة يكون معاها ملحقات ....^^
ولو لعب أحد بالملفات تكون الكارثة ....×_× ..... ما دري إذا كان كلامي صحيح .... ^^"
تسلم على التصغير الروعة ..^^
Son Of UAE
03-01-2006, 10:58 PM
مشكور ... على الدرس الحلو ...^^
أعتقد إذا كنت أريد أحط لينك اللعبة للتحميل فلازم يكون الملف كله ...مش ملفmg6 بس ....
والشخص الي يحمل الملف لازم ما يغير فيه أي شي ... مثل البرامج الكبيرة يكون معاها ملحقات ....^^
ولو لعب أحد بالملفات تكون الكارثة ....×_× ..... ما دري إذا كان كلامي صحيح .... ^^"
تسلم على التصغير الروعة ..^^
العفو ... من الممكن استخدام برنامج مثل setupfactory لصنع ملف تنصيب installer و بهذا تدخل الملفات غلى الجهاز و عند الرغبة في الحذف تستخدم uninstall ازالة التنصيب ;)
UAE Naruto
04-01-2006, 05:01 AM
::
::
همممم
صح اني بعدني ما ابتديت بالـGM لكنها معلومة مفيده
تسلم اخوي SOU عليها :biggthump
::
::
OctoBot
04-01-2006, 06:58 AM
انتظروا شباب, هذي الطريقة ليست لتصغير الحجم, لأن الملف موجود نفسه, لكنها لتقليل وقت الـloading و الـlag ( التعليق ), لأنك تختار الملفات اللي تنحفظ عالـRAM, صح كلامي ولا غلط؟
UAE Naruto
04-01-2006, 07:53 AM
انتظروا شباب, هذي الطريقة ليست لتصغير الحجم, لأن الملف موجود نفسه, لكنها لتقليل وقت الـloading و الـlag ( التعليق ), لأنك تختار الملفات اللي تنحفظ عالـRAM, صح كلامي ولا غلط؟
::
::
اتوقع كلامك صح....لأنك عند المسح...فأنك تمسح الملف من الRAM مثل ما قلت
لازم اجرب....
::
::
عبدالله..ع
04-01-2006, 08:55 AM
- نعم ...الطريقة فقط لتخفيف وقت اللود ..فقط ;) لكنها مفيده بالفعل ..و يمكنك تجريب ذلك بنفسك بعمل لعبتين احداهما الأصوات بها في الخارج و الأخرى في الداخل ..
سوف تلاحظ الفرق في الوقت ...;) و خاصة لو كانت الملفات الصوتية بحجم كبير ..:biggthump
- أخي العزيز Son Of UAE :- اللعبة 90% منها مصنوعه بالأكواد ..أو كثر من هذه النسبة ..;)
القليل القليل جدا من اللعبة ليس بالأكواد..;)
أعتقد أن هذا الأمر سوف يساعدنا أكثر..:أفكر: و كما قلت الخلفيات تأخذ من اللعبة الشيء الكبير ..خاصة اكساءات المباني ..لأنها بجودة عالية..:( ..
أنا أنتظر الطريقة بفارغ الصبر ..;) تقبل تحايتي :ciao:
Son Of UAE
05-01-2006, 12:18 PM
UAE Naruto === العفو :أفكر:
OctoBot === انا فلت في اول الموضوع هذي الطريقة لتصغير حجم الملف التطبيقي فقط . يعني سرعة تشغيل أعلى . وليس تصغير حجم اللعبة كاملة ... :)
عبدالله..ع === عطني فرصة .. لاني شغال على مشروع اخر الان .. و ان شاء الله اعطيك الطرقية بنفس الاسلوب الموجود بهذا الموضوع ...
OctoBot
05-01-2006, 03:20 PM
آسف, ما انتبهت.
عبدالله..ع
05-01-2006, 06:18 PM
- آسف أخي العزيز ..خذ راحتك لا أريد أن أجبرك على ما لا تريد..;)
المهم ..اذا توافر لديك وقت ..فلا تنسى اعطائي الطريقة..;) و شكرا لك ..:ciao:
d.a.m.h
05-01-2006, 11:55 PM
هناك طريقة يتجاهلها بعضنا قد توفر لنا فى
عدد الobjects و بالتالى تقلل المساحة و تزيد السرعة
فاذا اراد شخص ان يضع موسيقى بالغرفة فانه يقوم بعمل
object خاصة لهذا الغرض
الطريقة هى افتح الغرفة ثم اضغط على settings
ثم اضغط على creation code فى الاسفل
و اكتب داخلها (sound_play(sound0
(sound_loop(sound0
قد تكون معروفة لكننا نتجاهلها........ و اتمنى ان اكون افدتكم
الموقوف
06-01-2006, 10:02 AM
شكراً على الكود أخوي d.a.m.h :)
Son Of UAE
11-01-2006, 02:17 AM
ننتقل الان للطريقة الثانية لتصغير حجم الملف التطبيقي و هي بطريقة الاستبدال. قمت بتحميل مثال اللعبة ثلاثية البعد من موقع الجيم ميكر . و اضفت عليها بعض التغيرات و هي الطريقة التي تخطر في بالي لصناعة لعبة اسد الفلوجة.
يستخدم الBackground للاكساء في الابعاد الثلاثية Texture. و بهذا فلا داعي لاضافة خلفيات اثناء اللعب طالما انه سيتم استبدالها بأخرى فيما بعد. شاهد المثال المرفق و ستجد ان كل شيء طبيعي . ولكن بالضغط على الزر واحد فان البرنامج استبدل الخلفيات بخلفيات قمت انا بالتغيير عليها وهي موجودة خارج ملف الجيم ميكر . ( عليك استخراج جميع الملفات من الملف المضغوط ووضعها بمجلد واحد ) . و الكود المستخدم موجود بالاوبجيكت obj_player في الحدث Keyboard pressed (1) event .
background_replace(texture_wall1,"001.jpg",0,0,0);
background_replace(texture_wall2,"002.jpg",0,0,0);
background_replace(texture_wall3,"003.jpg",0,0,0);
background_replace(texture_wall4,"004.jpg",0,0,0);
background_replace(texture_wall5,"005.jpg",0,0,0);
background_replace(texture_wall6,"006.jpg",0,0,0);
يقوم باستبدال texture_wall1 ويضع بدله 001.jpg وهكذا لباقي الخلفيات
هل فهم الدرس ؟ :أفكر:
||صقر||
11-01-2006, 10:34 AM
الطريقةدى ممكن تفدنى فى لعبة حرب أكتوب أجربها وأقولك رأيى
Son Of UAE
11-01-2006, 01:06 PM
الطريقةدى ممكن تفدنى فى لعبة حرب أكتوب أجربها وأقولك رأيى
شيء اكيد .. وكم اتمنى ان الطريقة تفيد و تنجح معاك :biggthump
جميع حقوق برمجة vBulletin محفوظة ©2025 ,لدى مؤسسة Jelsoft المحدودة.
جميع المواضيع و المشاركات المطروحة من الاعضاء لا تعبر بالضرورة عن رأي أصحاب شبكة المنتدى .