ضجيج بيرلين ، توليد المحتوى الإجرائي ومساحة مثيرة للاهتمام

ربما يكون أسوأ شيء حدث في مجال توليد المحتوى الإجرائي (على افتراض أن هذا هو بالفعل مجال توليد المحتوى الإجرائي ، وهو ما لست متأكدًا منه تمامًا) هو ضجيج بيرلين. ضجيج بيرلين مناسب بشكل لا يصدق (على الأقل إذا كنت لا تنظر عن كثب) لتوليد مناظر طبيعية مثيرة للاهتمام. في subreddit / r / الإجراءات الإجرائية ، لا يمر أسبوع دون أن ينشر شخص ما "نظام توليد إجرائي" يتضح أنه ضجيج بيرلين مرئي بألوان مختلفة. (أثناء كتابة هذا المقال ، ظهر اثنان من هذه الوظائف!)


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

نشر مايك كوك مؤخرًا تعليميًا يتناقض بين مساحة الاحتمالات ومساحة الجيل. إذا قمت بإنشاء نظام جيل لإنشاء X ، فستكون مساحة الاحتمالات مساوية لجميع Xs الممكنة ، ومساحة التوليد هي X كلها التي يمكن أن يولدها نظامك بالفعل. يوضح مايك هذه الفكرة مع Minecraft:


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

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

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

هل من الممكن توضيح مساحة مثيرة للاهتمام بنفس الطريقة التي أظهر بها مايك مساحة الاحتمالات ومساحة الجيل؟ كما هو موضح أعلاه ، فإن المساحة المثيرة للاهتمام هي مجموعة فرعية من مساحة الاحتمالات ، والتي (إذا كنت محظوظًا) تتقاطع مع مساحة التوليد:


مولد جيد يتقاطع بقوة مع مساحة مثيرة للاهتمام ؛ مولد سيء ضعيف.

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

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

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

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


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


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

لكل هذه الأسباب ، سيكون من المنطقي تصور مساحة التوليد كمنطقة متصلة وصغيرة.

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

ضع في اعتبارك ، على سبيل المثال ، شظايا الخريطة هاتين:



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

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

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

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

كل هذا يجعلنا نفهم أنه يجب علينا تخصيص مساحة مثيرة للاهتمام كسلسلة من المساحات المقسمة ذات الشكل الغريب.


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

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


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

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

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

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

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


لذا ، إذا كنت تعتقد أنك توافق إلى حد ما على ما كتبته ، فما هي الدروس التي يمكن تعلمها من هذا المفهوم الخاص بالفضاء المثير للاهتمام؟

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

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

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

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

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

Source: https://habr.com/ru/post/ar440286/


All Articles