التجارب

*This content is translated using AI (Beta) and may contain errors. To view this page in English, click here.

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

التجارب ممتازة لقياس ما يلي:

  • التفاعل - تدفقات التوجيه، أنظمة التقدم، أنظمة التحكم، المطابقة المخصصة
  • تحقيق الإيرادات - رؤية المتجر وتجربة المستخدم، أنواع حزم البداية، التسعير
نظرة عامة على صفحة التجارب في مركز المبدعين

إنشاء التجارب

تأتي التجارب في نوعين:

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

  2. في صفحة التجارب في مركز المبدعين للعبتك، انقر على إنشاء تجربة.

  3. بالنسبة لـ النوع، اختر داخل التجربة.

  4. حدد اسمًا، ومقياس هدف، ومدة مخططة للتجربة. تستمر التجارب لمدة تتراوح بين 14-60 يومًا.

    بغض النظر عن ما تختاره كمقياس هدف، تتبع التجارب جميع المقاييس في القائمة.

  5. اختر نسبة التنفيذ. هذا الرقم هو النسبة المئوية للاعبين الذين تريد تضمينهم في التجربة.

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

  6. حدد المتغيرات والنسب المئوية.

    المتغيرات هي قيم بديلة لتكوينك. بالنسبة لمفتاح تكوين رقمي bossHealth بقيمة تحكم قدرها 500، يمكنك تحديد متغير بقيمة 300. يمكنك أن يكون لديك ما يصل إلى متغيرين واحد للتحكم في تجربة.

    تحدد النسب المئوية كيفية تخصيص المتغيرات داخل تنفيذ التجربة. اعتبر المثال التالي:

    • اخترت تنفيذًا إجماليًا قدره 40%.
    • حددت متغيرين وانقسام 50/50 بينهما وبين التحكم.

    في هذا المثال، يتم استبعاد 60% من مستخدميك من التجربة؛ هؤلاء المستخدمون يتلقون التحكم وليس لهم تأثير على نتائج التجربة. حوالي 20% من مستخدميك يتلقون التحكم كجزء من التجربة. يحصل 20% آخرون على المتغير. اعتمادًا على عدد اللاعبين لديك، قد لا تكون هذه التوزيعة كبيرة بما يكفي للحصول على نتائج قابلة للتنفيذ.

    صفحة المتغير

  7. (اختياري) استهدف التجربة لجمهور محدد بحيث يكون اللاعبون المتطابقون فقط مؤهلين للتسجيل. يستخدم الاستهداف نفس سمات اللاعب مثل التكوينات الشرطية، ويمكنك نسخ الشروط الموجودة مباشرة من تكويناتك. لمزيد من المعلومات، انظر استهداف التجارب لجماهير محددة.

    خطوة الاستهداف الاختيارية أثناء إنشاء التجربة

  8. الخطوة الأخيرة هي الجدولة. يمكنك بدء التجارب على الفور أو جدولتها لتاريخ ووقت لاحق. بعد جدولة تجربة، لا يمكنك تغيير تكوينها (المدة، نسبة التنفيذ، المتغيرات، إلخ)، ولكن يمكنك إعادة جدولتها.

المقاييس

تتبع التجارب جميع المقاييس التالية على مدار مدة التجربة.

المقياسالوصف
D1 الاحتفاظنسبة اللاعبين الذين عادوا إلى لعبتك بعد يوم واحد.
D7 الاحتفاظنسبة اللاعبين الذين عادوا إلى لعبتك بعد أسبوع واحد.
وقت اللعبمتوسط الوقت الذي قضاه اللاعبون داخل لعبتك. تراكمي على مدار مدة التجربة.
ARPUمتوسط الإيرادات لكل مستخدم. الإيرادات مقسومة على عدد اللاعبين. تراكمي على مدار مدة التجربة.
ARPPUمتوسط الإيرادات لكل مستخدم دفع. الإيرادات مقسومة على عدد اللاعبين الذين اشتروا عنصرًا متعلقًا باللعبة. تراكمي على مدار مدة التجربة.
معدل تحويل الدافعيننسبة اللاعبين الذين اشتروا عنصرًا متعلقًا باللعبة.
وقت الجلسةوقت اللعب مقسومًا على عدد الجلسات. تراكمي على مدار مدة التجربة.

حالة التجربة

تظهر صفحة التجارب الحالات التالية للتجارب.

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

استهداف التجارب لجماهير محددة

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

إعداد التجارب المستهدفة

تقوم بتكوين معايير الاستهداف عندما تنشئ التجربة. بعد بدء التجربة، لا يمكنك تغيير قواعد الاستهداف، أو قيمة التحكم، أو المتغيرات، أو أي قواعد شرطية تستخدمها مفتاح التكوين.

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

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

كيفية حل Roblox للقيم المستهدفة

يقوم Roblox بتقييم التجارب أولاً، قبل أي قواعد من التكوينات الشرطية القياسية. عندما يكون لمفتاح التكوين تجربة نشطة، يقوم Roblox بحل القيمة بهذا الترتيب:

  1. قيمة التجربة النشطة، إذا كان اللاعب مستهدفًا ومشتركًا.
  2. أول شرط تكوين متطابق.
  3. أي شروط تكوين متطابقة لاحقة.
  4. القيمة الافتراضية.

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

تقييم لكل جلسة

يقوم Roblox بتقييم سمات الاستهداف لكل جلسة، لذا يمكن أن تتغير أهلية اللاعب الفردي بمرور الوقت:

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

تظل بيانات اللاعب مرتبطة بالمتغير (أو التحكم) الذي تم تسجيله فيه، حتى لو توقف لاحقًا عن مطابقة المعايير. على سبيل المثال، لا يزال الاحتفاظ بـ D7 يحسب لاعبًا تم تسجيله في اليوم 0 وما إذا كان قد عاد في اليوم 7، حتى لو لم يعد مؤهلاً بحلول اليوم 4.

تغييرات التكوين أثناء تشغيل تجربة

لمنع انحراف التكوين وبيانات التجربة الفاسدة، يقوم Roblox بقفل مفتاح التكوين في اللحظة التي تبدأ فيها التجربة في التشغيل:

  • لا يمكنك تحرير أو حذف مفتاح التكوين النشط، ولا يمكنك تعديل قيمه الشرطية القياسية.
  • أي شروط عالمية تشير إليها التكوين النشط مقفلة أيضًا. لا يمكنك تحريرها أو حذفها أو إعادة ترتيبها بالنسبة لبعضها البعض.

يتم تحرير القفل عندما تكتمل التجربة.

إضافة التجارب إلى الكود الخاص بك

تطبيق التجارب داخل اللعبة مشابه لـ تطبيق التكوينات. الاختلاف الرئيسي هو استخدام ConfigService:GetConfigForPlayerAsync() بدلاً من ConfigService:GetConfigAsync().

GetConfigForPlayerAsync() يسترجع لقطة خاصة باللاعب. عند استدعاء GetValue(), تتحقق اللقطة من وجود تجربة نشطة وتقوم بتسجيل (أو عدم تسجيل) المستخدم بناءً على نسبة التنفيذ.

local ConfigService = game:GetService("ConfigService")
local Players = game:GetService("Players")
local function onPlayerAdded(player)
local playerConfig = ConfigService:GetConfigForPlayerAsync(player)
local leaderboardColor = playerConfig:GetValue("leaderboardColor")
end
Players.PlayerAdded:Connect(onPlayerAdded)
  • يجب عليك استدعاء GetConfigForPlayerAsync() بشكل منفصل لكل لاعب؛ GetConfigAsync() لا ينطبق على التجارب.

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

  • التسجيل في التجارب ليس محدودًا بالمستخدمين الجدد. حتى إذا كان المستخدم قد تلقى سابقًا قيمة من GetConfigAsync(), يمكنك تسجيله في تجربة باستخدام لقطة خاصة باللاعب من GetConfigForPlayerAsync().

  • إذا لم يكن لمفتاح في لقطة خاصة باللاعب تجربة نشطة، فإن GetValue() تعيد قيمة التكوين القياسية (أو nil إذا لم يكن له قيمة).

التسجيل المخصص

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

  • تريد اختبار نظام تحكم جديد في لعبتك للسباقات.
  • النظام مخصص للاعبين المتقدمين، لذا تريد استهداف اللاعبين الذين فازوا بعدد كبير من السباقات.

قد يبدو كودك شيئًا مثل هذا:

local function getControlScheme(player, racesWon)
if racesWon < 20 then
return "standardScheme"
else
-- اللاعب لديه العديد من الانتصارات، سجل في التجربة
local playerConfigSnapshot = ConfigService:GetConfigForPlayerAsync(player)
if playerConfigSnapshot:GetValue("useNewControlScheme") then
return "newScheme"
else
return "standardScheme"
end
end
end

إذا كنت تريد أن يستمر نظام التحكم في الجلسات اللاحقة، فمن المحتمل أن تحتاج إلى إضافة قيمة إلى إدخال اللاعب في مخزن البيانات.

عرض وتفسير النتائج

بعد أن تعمل التجربة لمدة 24 ساعة على الأقل، انقر على عرض لرؤية التفاصيل والنتائج.

صفحة التفاصيل لتجربة

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

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

صفحة النتائج لتجربة

مرر فوق أي مقياس لرؤية زر عرض الثقة، الذي يظهر فترة الثقة.

يكون المقياس ذا دلالة إحصائية عندما لا تتداخل فترة الثقة لتغيره المئوي مع 0%. في المثال التالي، ارتفع الاحتفاظ بـ D1 بنسبة 17.4%، مع حدود دنيا وعليا 8.02% و22.03%، مما يجعل التغيير ذا دلالة إحصائية.

فترة الثقة لمقياس

لراحة المستخدم، تتيح لك صفحة النتائج استبدال القيمة الافتراضية للتكوين بأحد المتغيرات من التجربة.

اتخاذ قرار

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

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

تحدد قرارك التغييرات في التكوين التي يقترحها Roblox:

  • التحكم: لا يقوم Roblox بإجراء أي تغييرات على تكويناتك الحالية.

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

  • متغير مستهدف: يقوم Roblox بدمج القاعدة الفائزة مرة أخرى في تكوينك الدائم باستخدام الخيار الأول القابل للتطبيق في هذا ترتيب الأولويات:

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

أفضل الممارسات للتجارب


  • استخدم أقل تأثير يمكن اكتشافه (MDE) لتحديد ما إذا كانت تجربتك تستحق التشغيل.

    يقوم Roblox بحساب MDE باستخدام مقياس الهدف وعدد اللاعبين لكل متغير، والذي يعتمد على المستخدمين النشطين يوميًا، ونسبة التنفيذ، ومدة التجربة، وانقسامات المتغيرات. إذا كان MDE مرتفعًا جدًا بالنسبة لمقياس الهدف الخاص بك (على سبيل المثال، أكثر من 100%)، فمن غير المحتمل أن تصل إلى دلالة إحصائية. قد تكافح الألعاب التي لديها أقل من 1,000 مستخدم نشط يوميًا للحصول على بيانات مفيدة من التجارب.

    شاشة MDE غير كافية أثناء الإنشاء.

  • ابدأ بفرضية. بدلاً من مجرد تغيير متغير والتحقق من النتائج، اكتب بيانًا عن السبب والنتيجة حول ما غيرته، وما تتوقع حدوثه، ولماذا. مع استمرار تجاربك، يمكن أن يساعد وجود مجموعة من الفرضيات المكتوبة لمرافقة نتائجك في توضيح تفكيرك وإلهام أفكار جديدة للتجارب.

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

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

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

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

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

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

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

©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.