نحن في البحث ، وليس التكرار
تصميم اللعبة هو في الأساس عملية
بحث . من خلال الانخراط في التصميم ، نستكشف العديد من تكوينات التصميم الممكنة لحل مشكلة تصميم معينة. على سبيل المثال ، يمكن أن تكون طريقة لربط الغرف في زنزانة ، أو مجموعة من الوظائف والمهارات التي يمتلكها العديد من وكلاء الألعاب ، "أرقام سحرية" تحدد فعالية الوحدات في نظام القتال ، أو مزيج من القدرات التي ستكون موجودة في لعبتنا.
تمامًا كما تستخدم الشخصية التي يتم التحكم فيها بالذكاء الاصطناعي نظامًا لاكتشاف المسار للتنقل في عالم الألعاب ، يحتاج المصمم إلى التنقل في مساحة عالية المستوى للغاية من التكوينات المحتملة ، مع أخذ بعض التكوين الأولي وتغييره بشكل متكرر. نحن نفكر بعناية في جانب منفصل من التصميم - نظام القتال ، أحد أجزاء عالم اللعبة ، شجرة التكنولوجيا في الاستراتيجية - ونحاول إيجاد طريقة لتحسينه عن طريق تغيير هذا التكوين.
يحب المصممون استخدام مصطلح "التكرار" لوصف هذه العملية ، ولكن كلمة "بحث" ستكون أكثر ملاءمة هنا. الحقيقة هي أنه عندما نقوم بإنشاء "تكرارات" للتصميم ، فإننا نجرب اللعبة التي يتم تطويرها. نحن نفترض افتراضات معقولة حول مجموعات صغيرة من التعديلات التي تحول تكوين التصميم الحالي إلى جديد ، والتي ، في رأينا ، ستفي بمعايير التصميم بشكل أفضل.
تختلف هذه "التكرارات" تمامًا عن التغييرات الخطية التي تحدث عادةً في "التكرارات" في رمز الكمبيوتر ؛ أكثر بكثير مما يشبه البحث في متاهة مع العديد من المنعطفات الحادة والعودة القسرية. غالبًا ما يقربونا من الهدف ، ولكن في كثير من الأحيان ليس من الواضح ما إذا كانت اللعبة قد تحسنت منهم. في بعض الأحيان اتضح أن تغييرات التصميم ، والتي ، في رأينا ، كان من المفترض أن تحسن اللعبة ، ولديها عيوب غير متوقعة ونحن بحاجة إلى دحرها أو إعادة المحاولة.
تصميم اللعبة هو نظام معقد بشكل لا يصدق. التصميم مثل غرفة مظلمة مع العديد من الأشياء الحادة. من الصعب للغاية التحرك بأمان ، والابتعاد عن الطرق المعبدة جيدًا. دائمًا ما تنتظرنا الإصابات المؤلمة على طول الطريق ، خاصة إذا كنت تتحرك بسرعة كبيرة. ولدينا عدد غير قليل من الأدوات لإضاءة هذه الغرفة المظلمة ، بالإضافة إلى القليل من التقنيات المحددة والمفصلة بوضوح لإجراء عملية بحث عن التصميم.
نظرًا لوجود هذه الغرفة المظلمة ، فإننا نجري "التكرارات" - لا نعرف ما هي عواقب القرارات حتى نتحقق منها. وبعبارة أخرى ، نحن
في بحث (يسمي ويل رايت في
حديثه في GDC 2004 "البحث في مساحة الحل").
لذلك ، في كثير من الأحيان يصبح التصميم اختناق الأداء ، والمصدر الرئيسي للعيوب وأكبر عامل خطر في تطوير اللعبة. تبين أن عددًا لا يحصى من فرق التطوير ملزمة بالقدم والقدم من خلال حلول التصميم غير المدروسة ، والانزلاق في العملية الإبداعية ، وتغيير الوظائف ، وسوء الفهم للسوق المستهدفة ومشكلات التصميم الأخرى التي أدت إلى مشاكل جودة المنتج.
نظرًا لجميع المخاطر المرتبطة بتجارب التصميم ، ليس من المستغرب أن العديد من الناشرين والمطورين الكبار حريصون جدًا على تجنب المخاطر ، مفضلين الالتزام الصارم بالأنواع والتراخيص الراسخة والمدروسة جيدًا وافتراضات النوع. هذا هو السبب في أنهم لا يذهبون إلى المخاطر المعروفة من ابتكار التصميم التي قد تحقق نتائج غير معروفة. استكشاف غرفة مظلمة أمر محفوف بالمخاطر.
نرغب في إيجاد طرق لتغيير هذا الموقف. بدلاً من مجرد
تجنب الابتكار ، من الأفضل العثور على طرق لتحسين مهارات التصميم لدينا ، وتوسيع قدراتنا وإنشاء أدوات قوية تجعل ابتكارات التصميم أكثر أمانًا وفعالية.
هذه السلسلة من المقالات
ستكون هذه المقالة هي الأولى في سلسلة من
المنشورات حول
حلول النمذجة - مجموعة من الأدوات لتفكيك الحلول في نماذج رسمية ، والتي يمكن استخدامها بعد ذلك للبحث للعثور على النتيجة الأكثر مرغوبًا.
غالبًا ما تُستخدم النمذجة والتحسين الأمثل للقرارات في الإدارة والتمويل وتخطيط المشروع والعديد من المجالات الأخرى لتحسين عملية صنع القرار وحل مختلف مشاكل صنع القرار والتحسينات. يتم تحقيق ذلك من خلال البحث بين البدائل الممكنة ، وهو أسرع من الاختيار اليدوي من قبل الناس.
على الرغم من جميع مزاياها المحتملة ونمذجة الحلول وتحسينها ، يبدو أنها موضوع غير مكتشف إلى حد ما للمصممين في صناعة الألعاب. أظهر مسح للمصممين المحترفين في منتدى المطورين الشعبي أن 25٪ فقط من المستجيبين سمعوا على الأقل بنمذجة القرار ، و 8٪ فقط استخدموها في الممارسة. أظهر استطلاع مماثل أجري بين المصممين عبر Facebook النتائج نفسها تقريبًا مع عدد مماثل من المشاركين.
عند استخدامها بشكل صحيح ، يمكن لحلول النمذجة أن تحسن كثيرًا من جوانب عملية التصميم:
- يمكن أن يساعد في تحسين تكوين أنظمة تصميم معينة أو القيم المثلى لمعلمات اللعبة.
- يمكن أن تسلط الضوء على القرارات باعتبارها مزيجًا من الميزات التي يجب تضمينها في اللعبة.
- يساعد على صياغة القرارات التي يمكن للاعب اتخاذها ، على وجه الخصوص ، لتحديد الاستراتيجيات المسيطرة أو الطرق التي يمكن للاعب من خلالها "هزيمة النظام".
في هذه السلسلة من المقالات سأتحدث عن أمثلة من جميع فئات الاستخدام الثلاث.
التعريف
ما هو "نمذجة القرار"؟
ببساطة ، ثم:
نمذجة القرار هي عملية محاكاة حل مع الأتمتة اللاحقة للبحث عن حسابه.
نبدأ بسؤال نوع من الحل ، ثم نحاول تحديد جميع العوامل التي يتكون منها هذا الحل ، ثم تضمينها في نموذج يصف الحل بدقة ، وتحديد مجموعة متغيرات الإدخال ومتغير الإخراج. ثم
نبحث عن الحلول المثلى لمجموعة متغيرات القرار (أو متغيرات الإدخال) التي تنتج أفضل ناتج ممكن لكل ما هو ممكن.
إذا تم عمل كل شيء بشكل صحيح ، فيمكننا البحث عن عدد أكبر بكثير من الحلول الممكنة عما يمكن عمله يدويًا أو في الخيال. على الرغم من أنه لا يمكننا تطبيق هذا النظام على كل شيء ، إلا أنه في بعض المهام يمكننا الحصول على نتائج أفضل وحسابها بشكل أسرع ، وفي بعض الحالات يمكننا حتى حل المشكلات التي
لا يمكن حلها بأي طريقة أخرى.
خلال هذه العملية ، نشير أيضًا إلى مجموعة من
شرط واحد أو أكثر ، والتي يتم استخدامها كحدود تؤكد صحة نموذجنا. قد تحد مثل هذه الشروط نطاق القيم أو نوع المتغيرات الواردة ، بالإضافة إلى أي جوانب أخرى من نموذجنا.
لماذا نبني النماذج؟
إذا لعبت دور
Sid Meier's Civilization ، فربما تكون قد تساءلت يومًا ما: "انتظر دقيقة ، كيف هي أفضل طريقة لبدء تطوير المدينة؟ هل أحتاج أولاً إلى بناء نصب تذكاري ، ثم مستودع؟ أم أن المستودع مطلوب أولاً؟ أو ربما معبد أولاً ، ثم مستودع؟ أي قرار
أفضل لاتخاذ؟ يمكن لأي شخص أن يجيب على هذا السؤال على الإطلاق؟ "
يمكنك أيضًا تذكر آليات القتال في استراتيجية الوقت الفعلي. إن موازنة معلمات الوحدات المتعددة في RTS هي مهمة تشتهر بتعقيدها. ماذا لو كان لدينا نظام يسمح لنا بتسريع حل مشكلة التوازن عن طريق الإجابة على الأسئلة حول موازنة معركة اللعبة دون لعب كل حل؟ ماذا لو تمكنا من طرح أسئلة النظام؟ على سبيل المثال: "كم عدد السيوف الذين تحتاجهم لهزيمة اثنين من جامعي الرماية وثلاثة رماة؟" أو: "ما هو أرخص مزيج من الرماة والمنجنيق لهزيمة برج مراقبة العدو؟"
في الواقع ، يمكن إنشاء مثل هذا النظام!
إذا تمكنا من نمذجة مهام التصميم هذه بالطريقة الصحيحة ، فيمكننا استخدام أدوات التحسين التلقائي للبحث في جميع الإجابات الممكنة للعثور على أفضل الإجابات التي تلبي معاييرنا ،
دون الحاجة إلى لعب اللعبة آلاف المرات.
فيما يلي مثال لمشكلة مماثلة - مثال سنقوم بحله في مقالة مستقبلية في السلسلة.
لنفترض أن لدينا لعبة تسمى SuperTank. في SuperTank ، نقود دبابة ضخمة رائعة تقاتل في ساحة المعركة مع الدبابات الخارقة الأخرى. قبل كل معركة ، يمكننا اختيار مجموعة محددة من الأسلحة لدباباتنا.
لدينا 100 رصيد يمكنك إنفاقه على المعدات. يمكن أن يحمل الناقل العملاق للاعب 50 طنًا من الأسلحة ، ولديه أيضًا 3 فتحات "حرجة" للأسلحة الخاصة عالية الطاقة.
تحتوي اللعبة على الأنواع الخمسة التالية من الأسلحة ، ويمكن للاعب استخدام أي كمية من كل نوع ، أو التخلي عنها تمامًا:
لنفترض أننا بحاجة إلى الدبابة العملاقة للحصول على أعلى قيمة ضرر ممكنة (نفترض أن الضرر في الثانية موضح ، بغض النظر عن سرعة السلاح). نفترض أيضًا أن جميع الأسلحة لها نفس المدى ومسار المقذوف ودقة وتواتر إطلاق النار ، أي أنها متطابقة في كل شيء باستثناء القيم الموضحة في الجدول.
يمكنك الآن الإجابة بسرعة عن عدد المدافع الرشاشة والصواريخ والليزر وما إلى ذلك. تحتاج إلى وضعها على خزان فائق؟ أي مزيج من نوع واحد أو أكثر من الأسلحة سيسبب لنا أكبر قدر من الضرر ، بينما لا يتجاوز حدود الوزن والسعر والفتحات الحرجة؟
حاول حل المشكلة يدويًا أو باستخدام الآلة الحاسبة.
هل يمكن القيام بذلك؟
إذا حاولت ، فتأكد بسرعة من أنه صعب بشكل مدهش.
ربما تكون هناك طريقة لحلها باستخدام معادلات رياضية معقدة ، لكننا مصممين ، والرياضيات ليست من اختصاصنا.
فكر أيضًا في كيفية تغير الإجابة مع المعلمات الأخرى. هل ستتغير الإجابة إذا كان الخزان الفائق يمكنه استيعاب 60 طنًا بدلاً من 50 طنًا؟ أو بدلاً من 100 قرض لدينا 110 أو 90؟ كيف ستتغير العتاد الأمثل؟ وإذا كان لدينا 2 أو 4 فتحات حرجة؟
تخيل الآن أن لدينا نظامًا يحسب على الفور تخطيط الأسلحة مع أكبر ضرر لأي مجموعة من المعلمات (الوزن والسعر والفتحات الحرجة). يكفي إدخال معلمات الأسلحة من الجدول ، ثم إدخال معلمات الخزان العملاق (50 طنًا ، 100 وحدة ، 3 فتحات حرجة) - و
BOOM! - حصلنا على أفضل المعدات.
ألن يكون ذلك رائعًا؟
يمكننا استخدام هذا النظام للحصول على إجابات على الفور لجميع أنواع الأسئلة المفيدة:
- كيف سيتغير المخطط الأمثل عندما تتغير معلمات الخزان الفائق؟
- كيف ستتغير المعدات المثلى عند تغيير معلمات السلاح؟
- ما هو الحد الأقصى للضرر الذي يمكن أن يتسبب فيه أي ضرر فائق لأي معلمات معينة (الوزن ، السعر ، الفتحات الحرجة)؟
- هل جميع معلمات الأسلحة الأربعة (الضرر والوزن والسعر والفتحات الحرجة) مناسبة ومتوازنة لكل نوع من أنواع الأسلحة؟
- هل لدينا مسدسات قوية جدًا تُستخدم كثيرًا؟ إذا كان أي نوع من الأسلحة مفيدًا جدًا لدرجة أنه من الصحيح دائمًا استخدامه ، فسيكون دائمًا هو الحل الأمثل ، لذلك لن يكون هناك خيار مفيد. في هذه الحالة ، يجب علينا إما إزالة السلاح من اللعبة ، أو تغيير توازنه بحيث لا يكون مفيدًا في ظروف معينة.
- هل نادرًا ما استخدمنا الأسلحة أم لم نستخدمها مطلقًا؟ على غرار الفقرة السابقة - إذا كان هناك نوع من الأسلحة عديم الفائدة لدرجة أن القرار الصحيح هو عدم استخدامه مطلقًا ، فلا يوجد خيار كبير أيضًا. في هذه الحالة ، يجدر إما إزالة السلاح من اللعبة ، أو تغيير توازنه ، بحيث يكون من الحكمة استخدامه في ظروف معينة.
كل هذه أسئلة تصميم مهمة للغاية ، والإجابات التي يجب على أي مصمم أن يعرفها. ستكون معرفة هذه الإجابات مفيدة بشكل لا يصدق عند موازنة لعبة
SuperTank .
في بضع فقرات فقط ، وصفنا مهمة يصعب علينا حلها يدويًا ، ولكن تم حلها بشكل بسيط باستخدام أدوات مضمنة في Microsoft Excel.
في مقال مستقبلي ، سنقوم ببناء نموذج حقيقي للحلول لهذا المثال ، والذي سيجيب على جميع الأسئلة المذكورة أعلاه.
سترى أن النموذج الذي يمكن إنشاؤه في دقائق سيسمح لك بحل هذه المهمة الصعبة. في وقت قصير ، سنقوم بإنشاء أداة قوية تسمح لنا باستكشاف مساحة التصميم بسرعة وموثوقية.
خارطة الطريق
في هذه السلسلة من المقالات ، سنوضح بعض الأمثلة الأكثر تعقيدًا ، وننشئ جداول بيانات مرجعية حتى تتمكن من تنفيذ كل هذه الأمثلة بنفسك ، باستخدام Excel المثبت فقط من الأدوات. من بين هذه الأمثلة ما يلي:
- مثال بسيط على معركة لعبة استراتيجية
- نموذج لتحسين إحداثيات العديد من "الثقوب الدودية" عن بعد بالنسبة لبعضها البعض والقطاعات المأهولة في لعبة جماعية متعددة اللاعبين (MMO)
- نموذج يحدد مستوى الضرائب لنموذج مبسط للمدينة من أجل تحقيق التوازن بين رضا السكان وعائدات الضرائب في استراتيجية 4X مثل Sid Meier's Civilization
- نموذج لاختيار التعاويذ والمهارات لفئات الشخصيات في لعبة متعددة اللاعبين ضخمة
- نموذج التحسين لتحديد ترتيب البناء الأمثل لمستعمرة كوكبية في إستراتيجية 4X تشبه Master of Orion الكلاسيكية
- مثال على فريق يحاول العثور على التركيبة الصحيحة من الميزات للعبة ونموذج قرار لمساعدته في اختيار الحلول الوسط المناسبة
بشكل عام ، ستتألف هذه السلسلة من أمثلة بسيطة لإيجاد استراتيجيات اللاعب المثلى في أنظمة فرعية محددة للعبة ، ثم تنتقل إلى نماذج القرار التي تحسن معلمات أنظمة الألعاب وتحسن مجموعات مجموعات "الميزات".
في كل حالة من هذه الحالات ، نصف المهمة ، ونوضح كيفية تصميمها في Excel وحلها باستخدام أداة Solver المضمنة (في النسخة الروسية - "إيجاد الحلول") من Excel. في كل حالة ، سترى أنه يمكننا أن نجعلها أسهل وأسرع وأكثر موثوقية من دون استخدام Solver أو أداة مماثلة. أيضًا لكل مثال ، سأضيف جداول بيانات حتى تتمكن من تنزيلها والتحقق منها بنفسك ، وإعادة إنشاء النتائج وتجربة النماذج الخاصة بك.
لا تنس أيضًا أن التمثيل الداخلي - سواء كان جدول بيانات أو برنامج لغة عالي المستوى أو أي شيء آخر -
لا يهم . الشيء المهم ليس ما نعمل فيه - في Excel و Solver ، Java / C ++ / C # ، أو في شيء آخر ، ولكن حقيقة أننا نمثل المهمة ونكافح لحلها.
لماذا تستخدم نماذج القرار؟
قد يكون بعض القراء متشككين الآن. يبدو أن بناء نماذج القرار هو عمل كثير. لماذا كل هذا الجهد مطلوب إذا تمكنا من إجراء اختبار مخصص في شكل اختبار مجموعة التركيز واختبار بيتا؟
بادئ ذي بدء ، سأقول أن
حلول النمذجة لا تنطبق على كل مهمة . بعض المهام معقدة للغاية أو من الصعب للغاية تصميمها باستخدام مثل هذه التقنيات ، بالإضافة إلى ذلك ، هناك العديد من الجوانب في التصميم (على سبيل المثال ، الاعتبارات الجمالية ، وقيمة اللعبة مثل الترفيه و "الإحساس" باللعبة) التي يصعب أو حتى من المستحيل تصميمها رقميًا. وحلول النمذجة
لا تقضي بالتأكيد على الحاجة إلى اختبار المجموعة ، أو اختبار بيتا ، أو تشغيل مشروعك الخاص يوميًا في عملية تطويره.
ولكن حتى مع أخذ كل هذا في الاعتبار ، بحلول نهاية سلسلة المقالات ، سيتضح لك أن طرق النمذجة وتحسين الحلول تعطينا مجموعة فريدة وقوية من الأدوات. يمكنهم حل العديد من المشاكل كليًا أو جزئيًا والتي لا يمكن حلها بأي طريقة أخرى ، بالإضافة إلى تزويدك بالإجابات والمعلومات حول جميع أنواع مشكلات التصميم التي يصعب الحصول عليها بطريقة أخرى.
كما هو الحال مع أي أداة أخرى ، يجب على المستخدم أن يقرر مدى قابليتها للتطبيق.
هناك العديد من الحالات التي قد تكون فيها نماذج القرار غير مقبولة أو معقدة للغاية. ولكن كما سترى في سلسلة المقالات ، فهي مفيدة بشكل مدهش أيضًا ، وكلما اتخذنا قرارات التصميم الصحيحة وتخلصنا من الأخطاء في المراحل المبكرة ، حتى قبل مرحلة الاختبار ، زادت احتمالية أن تكون أنظمة التصميم متينة ومثيرة ولا لبس فيه.
فكر في الأدوات المتاحة للمبرمج النموذجي. عمل المبرمجين معقد للغاية ، ولكن تم تبسيطه من خلال العديد من الأدوات للمساعدة في العثور على الأخطاء حتى قبل مرحلة الاختبار. لديهم مترجمون يذكرونك باستمرار بالأخطاء المطبعية ؛ لديهم ممارسات برمجة دفاعية تحدد عيوب البرامج ؛ إنهم يجرون مراجعات الشفرة التي تساعد في تحديد العيوب في كود شخص آخر أو تشير إلى ممارسات البرمجة الشرسة ؛ بالإضافة إلى ذلك ، لديهم العديد من أدوات التنميط والتحليل الثابت للتخلص من جميع أنواع أخطاء الأداء والعيوب الأخرى.
لكن المصممين ليس لديهم مثل هذه الأدوات. يمكننا القول أن عملنا معقد أيضًا ، ولكن ليس لدينا مترجم يخبرنا أننا "ارتكبنا خطأ في بناء الجملة".
ليس لدينا ملف تعريف ولا أدوات تصحيح ولا أدوات تحليل ثابتة. لا يمكننا إجراء مراجعات الكود لأنه ليس لدينا أي "كود". نكتب المواصفات ووثائق التصميم ، وهذا كل شيء ؛ يمكننا تبادل المستندات والمواصفات الوظيفية داخل الفريق ونأمل أن يقدم لنا زملائنا ملاحظات جيدة ، ولكن في أغلب الأحيان نحتاج إلى وضع النظام في اللعبة لفهم ما إذا كان يعمل أم لا.وهذا يجعل التصميم شديد الخطورة وطويلًا ومكلفًا.كما هو الحال في البرمجة ، يميل الناس إلى ارتكاب الأخطاء وهذا جزء لا يتجزأ من العملية ، لذلك نحن بحاجة إلى أكبر عدد ممكن من الأدوات عالية الجودة لحماية أنفسنا ومشاريعنا.ما زلنا بعيدين للغاية عن امتلاك أدوات تصميم كاملة تساعد المصممين في استكشاف مساحة التصميم. ما زلنا بحاجة إلى اتباع المسار الذي قام به المترجمون والمصححون والمحللون وأدوات التحليل الثابت في البرمجة. لكننا نشهد بالفعل فجر العديد من المحللون وأدوات تصميم الألعاب المحددة ، بما في ذلك اختبار إمكانية التشغيل في إصدار Cut the Rope المسمى Cut the Rope: Play Forever ( link )؛ نظام تصميم لعبة مجردة لودي ، التي ولدت لعبة Yavalath board ( حلقة الوصل ) ؛ ومساعدتي الآلية الخاصة Evolver لتحقيق التوازن بين لعبة City Conquest للجوال ( حلقة الوصل ).ستساعدنا حلول النمذجة على اتخاذ بعض الخطوات الإضافية للوصول إلى مثل هذا المستوى من الدعم وستسمح لنا بالبدء في استكمال وتوسيع فكر مصممينا بمساعدة الأدوات الآلية. وإذا كان لدينا خيار: امتلاك أو عدم امتلاك الأدوات ، فلماذا تختار "لا تملك"؟الشيء الرئيسي ليس جداول البيانات ، الشيء الرئيسي هو النماذج
تم كتابة سلسلة المقالات هذه للمصممين - أي لجميع المصممين ، بغض النظر عن الخبرة التي لديهم: الفن أو البرمجيات أو الخبرة في إنشاء سرد القصص أو ألعاب الطاولة. لذلك ، لن نعقد ونعد بما يلي:- . Microsoft Excel Solver (« »). , Excel, . , , ( ) .
إذا كنت مصممًا ، فستوفر لك سلسلة المقالات هذه جميع الأدوات التي تحتاجها لإنشاء نماذج الحلول بنفسك دون الحاجة لك أو للمبرمجين لكتابة التعليمات البرمجية. إذا كنت مبرمجًا ، فستمنحك السلسلة تعليمات واضحة إلى حد ما حول برمجة نماذج الحلول الخاصة بك بأي لغة Java بحيث يمكنك بناء نماذج الحلول الخاصة بك ، إما من الصفر أو بناءً على قالب مستخدم بالفعل في Solver و Excel.يجب أن تكون هذه المقالات مجرد نقطة انطلاق ، بحيث يمكنك أخذ المفاهيم المعروضة هنا واختيار نفسك: سواء لتطبيقها في Excel ، أو اختيار أداة تحسين أخرى ، أو محاولة إنشاء حلالك الخاص بلغة عالية المستوى. تعد جداول البيانات أساسًا قويًا للبدء به ، ولكن من المرجح أن تكون نماذج القرار هذه هي نقطة انطلاقك إلى النماذج الأكثر ثراءً والأكثر تعقيدًا التي تتكامل مع بنية اللعبة.تفسيرات
قبل أن نبتعد كثيرًا في حلول النمذجة ، نحتاج إلى تقديم بعض التفسيرات. لا تؤدي نمذجة الحلول وتحسينها إلى إنشاء أي نظام كامل لتصميم الألعاب ، ولن نقول أي شيء من هذا القبيل. من المفيد النظر إليهم كأداة تساعد في بعض جوانب عملية التصميم ، ومثل أي أداة ، لديها العديد من القيود.فيما يلي بعض القيود التي تحتاج إلى معرفتها:- . , , . , , . , , , , , .
- (). , . « », , Excel. ( / ), ( ), .
- . , - , , «» . . , , /, .
- . , Excel Solver, , , , . Solver , . , , « » . Solver ( Frontline ) , , Solver .
- إنهم لا يضمنون المثالية . نظرًا لحقيقة أننا نعمل مع نماذج معقدة ، فمن المستحيل أن نتأكد بنسبة 100٪ من أننا وجدنا الحل الأمثل . في بعض الأحيان علينا التركيز على ثاني أفضل: سنقضي المزيد من الوقت في التحسين أو نبدأ من الصفر والتحسين مرة أخرى حتى نتمكن من القول بدرجة عالية من الثقة أننا وجدنا إما الحل الأمثل أو قريبًا جدًا من الحل الأمثل.
الأخير والأهم:- نحن بحاجة للتأكد من أن النموذج يشارك في المهام الضرورية . ليست كل المهام مهمة بما يكفي لتتطلب مثل هذه الجهود ، فنحن بحاجة إلى معرفة أولوياتنا بدقة وتجنب التركيز بلا داع على تحسين المهام غير المفيدة وتجاهل المهام الأخرى الأكبر حجمًا ، والتي يمكن أن تكون أكثر أهمية.
بعبارات بسيطة ، لكي تكون حلول النمذجة مفيدة ، يجب استيفاء بعض الشروط. يجب أن نكون قادرين على تضمين الحل المعني في نموذج منفصل معين ، والتعبير عن نتيجة الحل كقيمة واحدة. بمعنى آخر ، يجب أن نكون قادرين على التعبير ، باستخدام نموذج الحل ، عن مجموعة محدودة من بيانات الإدخال في قيمة إخراج واحدة بحيث يمنحنا تقليل أو زيادة قيمة الإخراج حلاً محسنًا.في الحالات التي توجد فيها جوانب ذاتية لا يمكن تضمينها في هذا النموذج ، على سبيل المثال ، الجوانب الجمالية أو جوانب قابلية الاستخدام / إمكانية التشغيل ، سنحتاج إما إلى فصلها بوضوح عن نموذج القرار ، أو استخدام نمذجة القرار كممر أول ، أو ببساطة التخلي تمامًا عن نمذجة القرار .حتى نتمكن من وضع نماذج للحلول في جدول بيانات ، نحتاج أيضًا إلى الحد من تعقيد النموذج. إذا كانت لعبتنا تؤدي شيئًا معقدًا للغاية ، فقد لا نتمكن من إعادة إنشاء هذا التعقيد في Excel. ومع ذلك ، يجب أن يوضع في الاعتبار أن هذا ليس سوى تقييد لقوة النماذج التي يمكن بناؤها في Excel ، وليس لنماذج القرار نفسها. في محرك اللعبة الخاص بنا ، يمكننا بناء محللات أكثر قوة ، وآمل أن تلهمك هذه السلسلة من المقالات للقيام بذلك.من ناحية أخرى ، من غير المحتمل أن تجعل كل هذه القيود من نماذج القرار غير مجدية. حتى في الحالة التي تكون فيها المهمة معقدة للغاية من أجل التحسين الكامل في نموذج الحل ، لا يزال بإمكان هذا النموذج مساعدتنا في اختيار العديد من مكونات التصميم الأقرب كثيرًا إلى التكوين الصحيح ، بالإضافة إلى العثور على العديد من المهام الأساسية وتصحيحها حتى في المراحل الأولى من التطوير.وحتى عندما يتعذر على نموذج الحل إيجاد الحل الأمثل للمشكلة ، إما لأن المهمة معقدة للغاية ، أو لأنها تتطلب نهجًا جماليًا وعوامل بشرية ذاتية أخرى ، فإنه لا يزال بإمكانها المساعدة في تضييق حدود الحل ، وإزالة الجمود وتقليل تعقيد المشكلة. .أخيرًا ، حتى إذا قررت عدم استخدام نمذجة القرار ، فلا تحاول تحسين جداول البيانات أو إنشاء حلول خاصة بك ، فإن فهم نمذجة القرار سيساعدك على تغيير رأيك بشأن اتخاذ قرارات التصميم.هذه السلسلة من المقالات هي دراسة. سنلقي نظرة على العديد من الأمثلة لمهام تصميم الألعاب واستكشاف طرق النمذجة والتحسين التي توفرها أدوات التصميم القوية. قد تكون متشككًا أو تقرر عدم استخدام التحسينات على الإطلاق ، ولكن آمل أن تتابع بحثنا وتكتشف كيف سننهي السلسلة.الخلاصة
في النهاية ، نريد إنشاء التصميم بشكل صحيح .العديد من أسئلة التصميم ذاتية ؛ ليس لديهم إجابات "صحيحة" أو "خاطئة". لكنها بالتأكيد، في بعض الحالات هناك . وفي مثل هذه الحالات ، نحتاج إلى معرفة كيفية الحصول على الإجابة الصحيحة ، أو على الأقل فهم كيفية معالجة تعريف الإجابة "الصحيحة" والبحث عن حلها.نمذجة الحلول وتحسينها هي أدوات قوية تساعدنا في كثير من الحالات. أعتقد أن هذه الأدوات يجب أن تكون في أدوات كل مصمم. بعد تكييفها ، ستدرك أن هذه الأدوات لديها إمكانات هائلة غير محققة في دراسة أسرع وأكثر موثوقية للغرفة المظلمة لتصميم اللعبة. في سلسلة من مقالاتنا ، سنعرض عدد الاستخدامات التي تستخدمها.الجزء 2. أساسيات التحسين ونشر المحاكاة
يمكن تنزيل جدول البيانات لهذه المقالة هنا .إعداد نموذج الحل
الآن بعد أن تحدثنا عن نماذج الحلول ، وشرحنا مدى فائدتها ، وأدرجنا بعض قيودها ، نود أن نوضح المفاهيم الأساسية بمثال بسيط.ولكن قبل القيام بذلك ، نحتاج إلى إدخال بعض القواعد المتعلقة بالبنية والشكل. كما هو الحال مع التعليمات البرمجية ، إذا لم تكن حذرًا ، فقد تتحول جداول البيانات بسرعة إلى فوضى.بعبارات بسيطة ، سيكون هناك أربعة أنواع من الخلايا في جداول البيانات لدينا:- — , — , . 0 - , . , , . .
- « » — . , , Tootsie Pop 17 0,25 , « ». .
- «» — , . .
- "الهدف" (أو "الخروج") هو خلية نسعى إلى تقليل قيمتها (أو تكبيرها) عند تشغيل المُحسِّن. في أمثلةنا ، ستكون هناك دائمًا خلية هدف واحدة فقط ، ولها دائمًا لون برتقالي ومخطط أسود. ( ملاحظة: هناك المزيد من المحللون الأقوياء الذين يدعمون العمل مع أهداف متعددة ، ولكن بالنسبة لمقالاتنا سيكون الأمر معقدًا للغاية.)
عندما نقوم بتشغيل المُحسِّن (أداة Solver ("Solution Finder") المضمنة في Microsoft Excel) ، فسوف ينظر ببساطة إلى الخلية المستهدفة التي حددناها ثم يحاول تغيير متغيرات القرار ، ولكن يمكنه (ضمن الحدود التي حددناها) أو تصغيرها ، أو تعظيم قيمة هذه الخلية المستهدفة (أي التي نحددها).لا يعرف Solver تقريبًا أي شيء عن الحسابات الجارية في الداخل ، أو عن الروابط بين خلايا القرار وخلايا الهدف ؛ يقوم ببساطة بتنفيذ واحدة من العديد من الخوارزميات المتاحة له ، في محاولة لتقليل أو زيادة قيمة الخلية المستهدفة من خلال البحث عن القيم المحتملة لخلايا الحل. تم تصميم هذه الخوارزميات ("Simplex LP" و "GRG Nonlinear" و "Evolutionary") بحيث تكون أكثر ذكاءً من استكشاف جميع الخيارات الممكنة للحلول المتغيرة باستخدام القوة الغاشمة ، وغالبًا ما تجد إجابات على مشاكل خطيرة ذات كفاءة مذهلة.على سبيل المثال ، إذا أردنا معرفة عدد المرات التي تحتاج فيها إلى لعق للوصول إلى منتصف Tootsie Pop ، فيمكننا استخدام جدول بيانات مشابه:يمكننا أن نطلب من Excel Solver حل هذه المشكلة عن طريق طلبها لتقليل الخلية المستهدفة "الكتلة المتبقية في Tootsie Pop" ، وسيستخدم التجارب بسرعة لتحديد أن قيمة خلية المحلول الأصفر تعطي مثل هذه النتيجة ( "كم مرة تلعق للوصول إلى منتصف Tootsie Pop") هو 68.
بطبيعة الحال ، فإن القيام بذلك أمر غبي بعض الشيء ، لأنه من بيان المشكلة يتضح أن الجواب سيكون 17 / 0.25 = 68. لا معنى لتشغيل المحسن لحل مشكلة يمكن حلها باستخدام حساب بسيط.
ومع ذلك ، من الناحية العملية ، فإن معظم المشكلات التي نواجهها لن يكون لها حلول رياضية بسيطة. سيكون لديهم الكثير من متغيرات القرار التي تؤدي إلى الهدف بطرق غير واضحة ، وستكون مطابقة متغيرات القرار والناتج معقدة للغاية بالنسبة للحسابات الرياضية اليدوية للمعادلة (ومرة أخرى ، في هذه السلسلة سنتجنب بعناية الرياضيات المعقدة).
سنركز على وصف المهام ، ونترك كل العمل الشاق إلى Solver.
مثال 1: الضرائب
في نموذج القرار الحقيقي الأول ، سنعرض مثالًا لتحديد معدل الضريبة الأمثل. لا أحد يحب الضرائب ، ولكن في هذه الحالة لن ندفع ، ولكننا نتلقى الضرائب ؛ آمل أن يقلل هذا من عذابك.
تخيل أننا نقوم بإنشاء استراتيجية 4X مشابهة لـ
Sid Meier's Civilization . نحن بصدد إنشاء مدن بمستوى معين من عدم الرضا ، اعتمادًا على حجمها. لا يميل السكان "غير الراضين" بشكل أساسي إلى التعاون ، ولا نحصل على دخل منهم. يمكننا أيضًا محاولة الحصول على أموال من المدن عن طريق تغيير معدل الضريبة لكل مدينة ، ولكن مع زيادة معدل الضريبة ، سيزداد مستوى عدم الرضا بشكل كبير ، لذلك تصبح الضرائب المرتفعة للغاية عكسية.
افترض أيضًا أنه يمكننا الإشارة إلى معدل ضريبة بزيادة قدرها 10٪ في نطاق القيم من 0٪ إلى 50٪. فيما يلي لقطة شاشة تظهر نظامًا مشابهًا من إستراتيجية 4X الكلاسيكية لـ
Master of Orion 2 :
كمصممين ، نريد أن نسأل سؤالًا بسيطًا: ما هو معدل الضريبة الأمثل في الحالة العامة؟
يجب أن تكون هذه مهمة بسيطة ، لأنه لا يوجد سوى 6 قيم مقبولة لمعدل الضريبة. يمكننا ببساطة اختبار كل من القيم الست يدويًا ، والعثور على القيمة التي تعطينا أكبر قدر من الدخل ، وعلى هذا فكر في حل المشكلة!
(في الواقع ، ربما يمكنك العثور على معادلة رياضية لحل هذه المشكلة ، كما هو الحال في المثال مع Tootsie Pop ، ولكنها ستكون ذات نتائج عكسية ، لأننا نقوم بإعداد هذا النموذج بحيث ينمو إلى نموذج أكثر تعقيدًا ، والذي لا يمكن حله باستخدام المعادلات بالإضافة إلى ذلك ، في هذه السلسلة من المقالات ، نتجنب الرياضيات.)
لنبدأ بوصف المهمة على النحو التالي:
- لدينا مدينة بحجم 12 (أي 12 مليون نسمة). يتم تمثيل هؤلاء الأشخاص على أنهم 12 "مواطنًا" منفصلاً.
- كل مواطن يمكن أن يشعر بالرضا أو عدم الرضا في أي وقت.
- يدفع المواطنون الراضون في شكل ضرائب (معدل الضريبة × 10) (أي ، على سبيل المثال ، معدل الضريبة بنسبة 20٪ يمنحنا وحدتين من العملات في الإيرادات الضريبية لكل مواطن راضٍ).
- المواطنون الراضون لا يدفعون الضرائب.
- هناك 3 مواطنين غير راضين في المدينة لا يزالون غير راضين بغض النظر عن معدل الضريبة.
- يصبح عدد إضافي من المواطنين غير راضين بناءً على الصيغة التالية: (السكان) × ((معدل الضريبة) × (معدل الضريبة)) × 3.5 ، يتم تقريب القيمة إلى أقرب عدد صحيح. بالنسبة لمدينتنا ذات الحجم 12 ، سيعطينا هذا 0 مواطنين مستائين إضافيين بمعدلات 0٪ و 10٪ ، ومواطن غير راضٍ إضافي بنسبة 20٪ ، و 3 مواطنين مستائين إضافيين بمعدل 30٪ ، و 6 بمعدل 40٪ ، و 10 على بنسبة 50٪.
الأمر بسيط ، أليس كذلك؟
سنصف هذا في
جدول البيانات المرفق بالمقالة كما يلي:
قد تلاحظ أننا وضعنا مربع القرار الأصفر (مستوى الضريبة (0-5)) كطريقة غير مباشرة للإشارة إلى معدل الضريبة. بدلاً من تحديد معدل الضريبة مباشرة في خلية القرار ، تأخذ خلية حساب معدل الضريبة رقم المستوى الضريبي من خلية القرار وتضاعفه بنسبة 10٪. هناك سبب منطقي للقيام بذلك بشكل غير مباشر ، وسوف نراه قريباً.
يمكننا الآن تجربة واستبدال جميع القيم الممكنة للمستوى الضريبي. يمكنك ببساطة إدخال كل رقم من 0 إلى 5 في خلية المستوى الضريبي والحصول على ما يلي:
كما ترى ، هناك معدل ضريبة مثلى: 30٪ ، مما يزيد من عائدات الضرائب إلى أقصى حد ، ويعطي 18 وحدة من العملة.
دعونا أتمتة النظام!
هذا أمر رائع بالتأكيد ، ولكن ماذا لو كان لدينا أكثر من ستة خيارات؟ ماذا لو كان هناك المئات من معدلات الضرائب المحتملة أو إذا كنا بحاجة إلى تغيير متغيرات القرار الأخرى؟ كل شيء سيصبح معقدًا جدًا لاختبار القيم يدويًا.
كما سنرى ، هذا هو بالضبط ما يستخدمه Solver.
أولاً ، سنعيد تعيين قيمة خلية المستوى الضريبي إلى الصفر. ثم ننتقل إلى علامة التبويب البيانات في Excel ونرى على الجانب الأيمن من الشريط ، في قسم التحليل ، زر Solver ("البحث عن حل").
إذا لم تشاهده ، فانتقل إلى خيارات Excel ، وحدد فئة الوظائف الإضافية ، وتأكد من تحديد وظائف Excel الإضافية في القائمة المنسدلة إدارة. ) ، انقر فوق "انتقال" وتأكد من تحديد الوظيفة الإضافية Solver.
بعد النقر فوق زر Solver ، يجب أن تشاهد مربع حوار مشابه.
دعونا الآن نلقي نظرة على جميع الخطوات التي ينطوي عليها إعداد مربع حوار Solver.
في الحقل "تعيين الهدف" ("تحسين الوظيفة الهدف") ، نشير إلى ما نحتاج إلى تحسينه. في هذه الحالة ، نحاول الحصول على أكبر قدر ممكن من الإيرادات الضريبية ، لذلك سنحدد المربع البرتقالي للهدف ، الذي يمثل الإيرادات الضريبية ، ثم انقر على "إلى: الحد الأقصى" في قائمة أزرار الاختيار.
في قسم "عن طريق تغيير الخلايا المتغيرة" ، حدد الخلايا التي يجب على "Solution Finder" حسابها. نحتاج إلى تحديد معدل الضريبة الأمثل ، لذلك حدد مربع الحل الأصفر (مستوى الضريبة (0-5)). إذا كان كل شيء يعمل بشكل صحيح ، ونتيجة لذلك ، سيتم تعيين هذه الخلية لقيمة 3 تتوافق مع معدل الضريبة بنسبة 30 ٪ ، وقد حددنا مثلها بالفعل بالفعل في الحسابات اليدوية.
أخيرًا ، نحتاج إلى إضافة بعض
القيود . في الواقع ، القيود هي متطلبات أساسية لأي خلايا في نموذج الحل الخاص بنا ، وسيركز Excel Solver فقط على تلك الحلول التي تلبي القيود المحددة. يمكن أن تحد هذه القيود من خلايا معينة (عادةً خلايا القرار وخلايا حسابية) إلى قيم دنيا و / أو قصوى محددة ، و / أو تجعل Solver يعالجها كمتغيرات صحيحة أو ثنائية (0 أو 1). القيود مفيدة بشكل لا يصدق لإنشاء النموذج الصحيح ، والذي سيكون محدودًا.
يتطلب Solver على الأقل بعض القيود التي تسمح له بتحديد حدود خلايا القرار - بمعنى آخر ، القيم الدنيا والقصوى لكل خلية. لإضافة تقييد ، تحتاج إلى النقر فوق الزر "إضافة" على اليمين ، ثم سيتم فتح مربع الحوار التالي:
سنضيف عائقين ، أحدهما حتى تلبي خلية حل المستوى الضريبي الشرط> = 0 ، والآخر بحيث تكون خلية الحل <= 5. ثم ، في قائمة طريقة الحل ، حدد Evolutionary ("التطوري") ابحث عن حل ") وانقر على حل (" البحث عن حل ").
بعد العمل لمدة 30 ثانية ، سيعطينا Solver إجابة مماثلة:
أوه ، كانت هناك مشكلة. تلقى Solver مبلغ الدخل الصحيح ، ولكن معدل الضريبة غير صحيح. يمكن للاعب تحديد الضرائب فقط بزيادة قدرها 10 ٪ ، ولكن من الواضح أن Solver يحدد معدلات الضرائب الجزئية ، والتي لا يمكن للاعب القيام بها.
يمكنك حل المشكلة عن طريق تحديد قيمة خلية معدل الضريبة بالأرقام الصحيحة. يمكن أن يساوي فقط 0 ، 1 ، 2 ، 3 ، 4 أو 5 ، ولكن بدون قيم وسيطة.
لحسن الحظ ، يمكن تحقيق ذلك بسهولة في Solver. افتح Solver ، وانقر فوق الزر "إضافة" ، وحدد خلية حلول "مستوى الضرائب" ، ثم حدد التقييد int في القائمة المنسدلة في المنتصف:
الآن قم بتشغيل Solver مرة أخرى واحصل على ما يلي:
ممتاز! مع القليل من الجهد ، حصلنا على الإجابة الصحيحة في Solver. كما سنرى قريبًا ، مع زيادة حجم المهام ، يتجاوز حجم العمل الذي تقوم به الأداة بالنسبة لنا بشكل كبير الوقت المستغرق في إعدادها.
مدينة تنمو
دعنا نوسع المهمة الآن من خلال تعقيد نموذج المدينة قليلاً.
في أي استراتيجية 4X ، تنمو المدن (أو الكواكب أو المستعمرات أو الوحدات السكنية الأخرى) بمرور الوقت. سنفترض أن المدينة تشهد زيادة مستمرة بنسبة 8٪ لكل دور ، بدءًا من 1500 ألف (1.5 مليون) مواطن ، وتصل إلى حجم 12 مليون نسمة. الآن سيبدو جدول البيانات كما يلي:
يصف كل صف لاحق من الجدول مسارًا واحدًا للعبة.
قمنا أيضًا بتغيير حساب مستوى عدم الرضا الأساسي. الآن يتم حسابه على أنه ثانية واحدة من المستوى السكاني الأساسي (بالملايين) ، تقريبًا لأسفل. ونتيجة لذلك ، فإن عدم الرضا الأساسي سيكون 0 حتى تنمو المدينة إلى الحجم 4 ، وبعد ذلك ستنمو بشكل خطي مع حجم المدينة.
كما كان من قبل ، يمكننا تجربة مستويات الضريبة يدويًا عن طريق تغيير قيم مستوى الضريبة. سنحصل على 0 و 102 و 190 و 222 و 144 و 65 وحدة من العملة في الإيرادات الضريبية ، مع كل مستوى ضريبي من 0٪ إلى 50٪.
ومرة أخرى يمكننا الحصول على Solver لحل هذه المشكلة ؛ سيحدد بسرعة أن معدل الضريبة الأمثل هو 30٪ كما كان من قبل ، مما يعطينا دخلًا قدره 222 وحدة عملة. إليك ما يبدو عليه مربع حوار Solver:
معدلات ضرائب متغيرة
ولكن ، بالطبع ، لن يلعب اللاعب بهذه الطريقة. تحدد "مدينتنا" المحاكاة معدل ضريبة واحدًا وتحافظ عليه كما هو لكل حركة لعبة. ولكن يمكن للاعب الحقيقي أن يحصل على معدل ضرائب في أي وقت ، وسيحتاج غالبًا إلى تعديله لأن مدينته تنمو والظروف تتغير.
ألن يكون رائعًا إذا لم نتمكن فقط من تحديد معدل ضريبة أمثل واحد ، ولكن أيضًا حساب القيمة المثلى في كل خطوة؟
سوف تخبرنا على الفور كيف يمكن للاعب تعديل الضرائب بشكل أفضل.
وتبين أنه يمكن القيام بذلك! بعد أن قمنا بالفعل بإعداد نموذج الحل بالطريقة الصحيحة ، يمكننا تنفيذه بشكل لا يصدق ببساطة.
الاختلاف الأكبر هو أننا نحتاج إلى إزالة خلية قرار المستوى الضريبي (0-5) واستبدالها بعمود كامل من خلايا المستوى الضريبي ، كما هو موضح أدناه.
الآن ، بدلاً من إجبار Solver على تحسين خلية واحدة ، نطلب منه تحسين عمود مستوى الضريبة بالكامل. إليك ما سيبدو عليه مربع حوار Solver - يمكنك أن ترى أنه تقريبًا كما كان من قبل ، فبدلاً من خلية واحدة فقط ، تمثل المتغيرات والقيود الآن مجموعة كاملة من الخلايا في عمود مستوى الضريبة.
يثبت Solver في الواقع أن التغيير في معدل الضريبة يغير النتائج - يبلغ الدخل التراكمي الآن 232 وحدة عملة. مقارنة بنفس معدل الضريبة ، فإن النمو لا يتجاوز 5٪ (222 مقابل 232 وحدة) ، ولكنه لا يزال مهمًا لأننا نعلم أن بعض اللاعبين سيكونون قادرين على تحقيقه.
بإلقاء نظرة فاحصة على الحل الذي تلقته Solver ، يمكنك أن ترى أنه يبدأ بمعدل ضريبي بنسبة 50٪ ، لأن المدينة ذات الحجم 1 لا تحتوي على عدد كافٍ من الأشخاص لإثارة السخط. في عملية نمو المدينة ، تقوم الأداة بتغيير معدل الضريبة في كل دور في النطاق من 20 ٪ إلى 30 ٪ ، اعتمادًا على أيهما سيحقق المزيد من الدخل.
يمكن تنزيل جدول البيانات لهذا المثال
هنا ؛ في ذلك ، تنقسم المراحل الثلاث لهذا المثال إلى أوراق منفصلة لجدول بيانات (نفس الضريبة لمدينة ذات عدد سكان دائم ، ونفس الضريبة لمدينة متنامية ، ومعدل ضرائب متغير لمدينة متنامية).
الخلاصة
يظهر الحل الذي وجدناه شيئًا مثيرًا للاهتمام: الطبيعة المنفصلة لمحاكاة الألعاب لدينا ، والتي تمثل مجموعة تعسفية من ملايين الأشخاص كـ "مواطنين" منفصلين يمكن أن يكون لديهم حالة أو اثنتين منفصلتين من الرضا ، يقدم ميزات مميزة في النموذج. على الرغم من أن اللعبة نفسها على مستوى ما ستتطلب مثل هذا التقسيم من أجل الوصول وإمكانية اللعب ، إلا أن اللاعبين الأذكياء والمكرون سيكونون قادرين على استغلال هذا التفتت الاصطناعي للحصول على مزايا على اللاعبين الذين لا يرغبون في الإزعاج بمستويات الضرائب في كل دور.
يقود هذا الموقف إلى سؤال مثير للاهتمام: هل هذا ما نريده؟ هل تجعل آليات اللاعبين من الضروري لهم الانخراط في الإدارة الجزئية للمستويات الضريبية في كل دور؟ وهل نريد السماح للاعبين الموجودين على الطاقة بالتغلب على النظام بهذه الطريقة ؛ هل تتطابق هذه الخدعة مع مكاسبهم بنسبة 5٪؟
لا أستطيع الإجابة على هذه الأسئلة. في النهاية ،
أنت مصمم يحدد أهداف التصميم ، لذا فالأمر متروك لك لتحديد ما إذا كان هذا المستوى من تشغيل النظام يلبي الأهداف التي حددتها للعبة.
بالطبع ، هذا النموذج هو مجرد إطار عارية. في استراتيجية 4X الحقيقية ، يمكن للاعبين اتخاذ جميع أنواع القرارات حول كيفية تطوير المدينة ، وبناء المباني وإجراء تغييرات أخرى تؤثر على نمو المدينة ، والرضا ، وعائدات الضرائب والإنتاجية.
في مقال مستقبلي في السلسلة ، سنبني نموذجًا مشابهًا ، ولكن أكثر تعقيدًا لمستعمرة كوكبية كاملة في لعبة تذكرنا
بسيد أوريون 2 . سيكون هذا المثال أكثر تعقيدًا بكثير ، لأننا سنكون قادرين على اتخاذ قرارات في كل دور من شأنها أن تؤثر بشكل أكبر على جميع هذه المعايير ، مثل النمو والإنتاجية ، أي أن كل قرار سيكون له عواقب تؤثر على القرارات اللاحقة. ومع ذلك ، ما زلنا مقتنعين بأن المُحسن التطوري لأداة Solver قادر على التعامل مع هذه المهمة.
في المقالة التالية ، سنفي بوعدنا ونحسن شراء الأسلحة لـ SuperTank في المثال من المقالة التمهيدية.