نقل لعبة من منصة هواتف محمولة إلى Facebook.com

نظرة عامة

إن نشر لعبتك على الويب يعني أنه يمكنك التكرار بسرعة وبشكل متكرر (لا توجد عملية مراجعة، ولا توجد رسوم)، وأن لاعبيك على الويب متصلون دومًا بالإنترنت ويستخدمون أحدث إصدار للعبة. ويؤدي التشغيل على الويب إلى إجراء الاختبارات، وتحقيق التوازن، وإدخال التعديلات بشكل أسهل وأسرع، وإذا كنت تستخدم محرك لعبة مخصصة لمنصات عديدة، مثل Unity أو Cocos2d-x، فإنه يمكنك تطبيق الدروس التي تتعلمها على الويب على إصدارات الهواتف المحمولة دون الحاجة إلى إعادة كتابتها في كل مرة.

تقدم هذه الوثائق نظرة عامة شاملة على الأمور التي يتعين عليك وضعها في الاعتبار عند نقل لعبة من منصة هواتف محمولة إلى منصة الألعاب على فيسبوك.

ما الذي يدعو إلى الإصدار على موقع Facebook.com؟

يمارس 445 مليون شخص في المتوسط الألعاب المتصلة بفيسبوك شهريًا عبر الويب والهواتف المحمولة. ويمارس العديد من هؤلاء اللاعبين تلك الألعاب مباشرةً على Facebook.com، الذي يُعد مكانًا رائعًا ليكتشف فيه لاعبون جدد ألعابك.

لعبة Dead Trigger 2 من Madfinger Games على Facebook.com

لقد قمنا بتحسين تجربة المطور لمطوري Unity من خلال استخدام نشر Unity المبسط للألعاب على فيسبوك. وللمساعدة على دعم الأعمال في لعبتك، توفر مجموعة SDK الخاصة بنا دعمًا لميزات منصة فيسبوك كما توفر تكاملاً بسيطًا في نظام الدفعات الموثوق به الخاص بفيسبوك.

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

استضافة أصول الألعاب

هناك اختلاف رئيسي واحد بين ألعاب الهواتف المحمولة وألعاب لاعبي الويب ألا وهو الويب، وهو اختلاف كافٍ بالطبع. ويلزمك الترتيب لاستضافة الملف الثنائي والأصول الخاصة بألعابك على خادم ويب يدعم SSL/TLS ("https") للاستخدام مع فيسبوك.

يُرجى مراجعة استضافة الألعاب على فيسبوك للاطلاع على أفضل الممارسات والمعلومات المتعلقة بكيفية البدء.

تحسين وقت التحميل

ستؤدي أوقات التحميل الطويلة إلى الحد من الاحتفاظ باللاعب. ويتمثل جزء من قوة الويب في سهولة إتاحة الاكتشاف والاستكشاف، إذ يستطيع اللاعبون التفاعل مع المحتوى الخاص بك دون الحاجة إلى الالتزام بتثبيت عميل لعبة أو تنزيل كبير. فإذا صادف لاعبوك الجدد وقت تحميل طويلاً، فليس كلهم سينتظر حتى انتهائه. وعليك أن تسعى جاهدًا لكي تجعل لعبتك تبدأ في أسرع وقت ممكن وذلك للاحتفاظ بأقصى عدد من اللاعبين.

تقليل حجم الإصدار

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

إذا كنت أحد مطوري Unity، يُرجى مراجعة ميزة حزمة الأصول الخاصة بـ Unity أو طريقة WWW.LoadFromCacheOrDownload. وسيساعدك استخدام CDN في فصل أصول ألعابك. يُرجى أيضًا الرجوع إلى بدء الاستخدام على Unity للاطلاع على أفضل الممارسات المتعلقة بنشر WebGL باستخدام Unity.

قياس أداء المسار المبكر

تمثل مراقبة دخول لعبتك باستخدام وسائل قياس الأداء والأدوات الفعالة أمرًا مهمًا في تحديد المشكلات ومعرفة ما إذا كان لتغييراتك تأثير إيجابي. وسيتيح لك تسجيل إشارات "الاتصال" من خلال مسار التثبيت الخاص بك إمكانية قياس أداء وقت التحميل الخاص بك وربما تحديد المشكلات الخفية النادرة.

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

ستحتاج إلى تسجيل حدثك الأول في أقرب وقت ممكن في مسار التحميل، وقبل أن تتحكم في الرمز البرمجي للعبتك بمدة كبيرة، فكِّر في إضافة علامة نص برمجي إلى الجزء العلوي من index.html الخاص بك لإرسال إشارة الاتصال هذه. والمرحلة المهمة التالية التي سترغب في تسجيل حدث ما فيها هي عندما تنتهي من التحميل الأولي، ويتمكن اللاعب من التفاعل مع اللعبة. وتمثل هاتان المرحلتان المسار الأساسي الذي سيساعدك على قياس مشكلات الانقطاع التي يعاني منها اللاعبون أثناء التحميل. يمكنك إضافة أحداث إضافية بين هذه الأحداث وبعدها في سياق لعبتك لتحسينها بشكل أكبر.

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

شاشة تحميل لعبة Castleville Legends من Zynga على Facebook.com

تصميم الإدخال

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

تذكر أن معظم الأشخاص يكونون أكثر فعالية (على سبيل المثال) عند التنقل إلى قناص الشخص الأول باستخدام لوحة المفاتيح أو الماوس مقارنةً باستخدام شاشة اللمس، أو عند سحب وحدات على كمبيوتر لوحي مقارنةً باستخدام الماوس. وبالنسبة إلى بعض الألعاب التي تتضمن لاعبين متعددين، قد يكون من المنطقي ضمان عدم ممارسة اللاعبين للعب ضد لاعبين آخرين إلا على نفس نوع المنصة.

تصميم واجهة المستخدم

تميل شاشات عرض أجهزة الكمبيوتر إلى أن تكون كبيرة إلى حد ما نسبةً إلى شاشات الهواتف. كما أن نسبة العرض إلى الارتفاع فيها تبلغ 9:16 أو 10:16 في معظم الأحوال. فإذا صممت لعبتك لتشغيلها في وضع عمودي على هاتف iPhone 4 بنسبة عرض إلى ارتفاع قدرها 4:3، فقد ترغب في التفكير في ضبط التصميم لشغل المساحة الكبيرة المتاحة بشكل أفضل، حتى لا يتم عرض لعبتك بشكل عمودي. فكِّر على أقل تقدير في إضافة خلفية صورة لتحقيق أقصى استفادة من المساحة المتاحة.

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

واجهة مستخدم لعبة KingsRoad من Rumble Entertainment والمحسنة لأجهزة الكمبيوتر

استخدام دفعات فيسبوك

في الألعاب على فيسبوك يجب استخدام دفعات فيسبوك للألعاب. ويستطيع مطورو Unity استخدام مجموعة Unity SDK، التي تدعم أصلاً نفس واجهة API للدفعات القوية المتاحة لجميع الألعاب على فيسبوك. كما يستطيع مطورو Cocos2d-x إجراء استدعاءات محددة لبدء إجراء الدفعات على Facebook.com.

وستحتاج إلى تحديد كائنات المنتجات لكل عنصر يمكن شراؤه في لعبتك. كما سيلزم تحديد السعر لكل كائن بعملة واحدة على الأقل. ويعرض فيسبوك تلقائيًا الأسعار بعملات أجنبية للأشخاص في جميع أنحاء العالم. ومع ذلك، يمكنك توسيع كائن المنتج اختياريًا لتحديد الأسعار بعملات مختلفة، مما يتيح لك تقديم الأسعار المختارة بدقة للأشخاص على مستوى العالم.

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