بيرسيرك بوي هو مثال واضح على كيف يمكن لمحرك GameMaker Studio أن يستخرج أقصى إمكانيات فن البكسل الحديث، مقدمًا تحية لعصر 16 و32 بت مع ألقاب مثل Mega Man X وSonic. يتميز أسلوبه البصري بألوان عالية التشبع ورسوم متحركة فائقة السرعة، مصحوبة بتأثيرات أثر الحركة التي تذكرنا بألعاب الأكشن الكلاسيكية. في هذا المقال، سنحلل تقنيات التطوير التي تتيح تحقيق هذه النتيجة، بدءًا من إنشاء الـ sprites في Aseprite وصولًا إلى تحسين الأداء في الوقت الفعلي داخل GameMaker. 🎮
تحسين الـ sprites وآثار الحركة في Aseprite وGameMaker 🚀
لتحقيق هذا الإحساس بالسلاسة والسرعة، يلجأ فريق Berserk Boy إلى لوحة ألوان مشبعة ولكن محدودة، مما يقلل من وزن الـ sprites ويسهل عملية العرض في GameMaker. في Aseprite، يتم العمل على إطارات رئيسية يتم استيفاؤها يدويًا، مما يخلق رسومًا متحركة بمعدل 12 إلى 15 إطارًا في الثانية، ولكن بتوقيت دقيق جدًا بحيث تدرك العين البشرية الاستمرارية. يتم تحقيق تأثير الأثر باستخدام sprites ذيل الحركة (trail sprites) التي تُرسم كأسطح مؤقتة مع عتامة متناقصة. في GameMaker، يتم تنفيذ ذلك باستخدام الدالة draw_sprite_ext مع قيمة ألفا تتناقص في كل خطوة (step)، ويتم تخزين المواضع السابقة للشخصية في قائمة انتظار (ds_queue). للحفاظ على الأداء، يتم تحديد طول قائمة الانتظار بـ 8 أو 10 مدخلات وتجنب استخدام الأسطح عالية الدقة. بالإضافة إلى ذلك، يُوصى باستخدام وضع المزج bm_add للآثار، لأنه يكثف الألوان دون إشباع مخزن الشاشة المؤقت.
دروس من التسعينيات للتطوير الحديث 💡
يُظهر Berserk Boy أن فن البكسل ليس مجرد حنين للماضي، بل هو خيار تقني ذكي. من خلال تحديد اللوحة واستخدام sprites صغيرة (حجم البلاطة 16×16 بكسل)، يتم تقليل حمل وحدة معالجة الرسومات (GPU) والسماح لـ GameMaker بمعالجة أعداء وجسيمات متعددة دون انخفاض في معدل الإطارات. الإشارة إلى Sonic وMega Man X ليست مصادفة: فقد استخدم كلا العنوانين ألوانًا زاهية لتوجيه اللاعب بصريًا، ويطبق Berserk Boy نفس المبدأ مع تأثيرات تشبع محكومة. بالنسبة للمطورين المستقلين، يكمن المفتاح في إعطاء الأولوية للوضوح البصري على التعقيد الرسومي، واستخدام أدوات مثل Aseprite لإنشاء sprites معيارية يمكن إعادة استخدامها في رسوم متحركة مختلفة. بهذه الطريقة، يتم تحقيق أسلوب سريع ونظيف وعملي، مثالي لألعاب الأكشن ثنائية الأبعاد.
كمطور مستقل، ما تقنيات فن البكسل والرسوم المتحركة السريعة التي نفذتها في Berserk Boy باستخدام GameMaker Studio لتحقيق قتال سلس دون التضحية بالجمالية القديمة؟
(ملاحظة: الـ shaders مثل المايونيز: إذا انفصلت، تبدأ من جديد)