بنية محرك Nexus

كيف يعمل Nexus

تعقيد مسطّح

النهج التقليدي للألعاب يُبنى حول أنظمة جامدة: كل ميكانيكية كود منفصل، كل رابط بين الميكانيكيات كود إضافي. حتى ألعاب الصندوق الرملي تبقى مجموعة أنظمة منفصلة. التنوع يزداد لكن البنية لا تتغير - وتعقيد التطوير يزداد معها.

Nexus مبني بشكل مختلف. العناصر الأساسية للعبة ذرات يُبنى منها كل شيء. إضافة ميكانيكيات جديدة لا تزيد التعقيد المعماري.

ملايين العناصر، لكن البنية لا تتعقد. النظام يتوسع - لأي مستوى من الميكانيكيات والقواعد والعوالم.

الشبكة الدلالية

Nexus يخزن البيانات كثلاثيات (حقائق) - عبارات بسيطة بصيغة "فاعل → محمول → مفعول". بنفس الصيغة تُوصف حقائق العالم وقواعد الميكانيكيات:

  • التفاحة → هي → صالحة للأكل (حقيقة عن العالم)
  • الأيل → هو → عاشب (حقيقة عن العالم)
  • الضربة → تسبب ضررًا → 6 (قاعدة ميكانيكية)
  • السم → يتجاهل الدرع → نعم (تعديل قاعدة)
  • العشب → ينمو → عند رطوبة أعلى من مستوى معين (حقيقة عن العالم)
  • العصابة → تسيطر → على حي في المدينة (حقيقة عن العالم)

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

العالم يقوم على عدد كبير من الحقائق: حيوانات، تقنيات، أدوات، مبانٍ، أحداث تاريخية - من المبادئ العامة إلى التفاصيل الدقيقة.

المفسّر

المفسّر يعالج الثلاثيات ويستخلص النتائج من الحقائق:

  • التفاحة → هي → فاكهة
  • الإنسان → يمكنه أكل → الفواكه
  • الاستنتاج: الإنسان يمكنه أكل التفاح

الاستنتاج يُبنى بمقارنة الحقائق. السلاسل قد تكون طويلة. مثال أكثر تعقيدًا:

  • الغوبلن → هو → كائن
  • الكائن → لديه → صحة
  • الاستنتاج: الغوبلن لديه صحة
  • الضربة → تسبب → ضررًا
  • الضرر → يخفض → الصحة
  • الاستنتاج: الضربة يمكن أن تؤذي الغوبلن

أضفنا سمًا بمحمول الضرر - يعمل تلقائيًا ضد كل من لديه صحة.

المفسّر يعمل مع استعلامات رسمية، لا مع اللغة الطبيعية.

شبكة المعرفة

كائنات وخصائص العالم تحتاج وصفًا مرنًا بدون تثبيت في الكود.

الأساس - كيانات: شخصيات، أدوات، حيوانات، منظمات، سفن، نباتات. لكل كيان حقائق مربوطة عبر المحمولات.

كل محمول يعبّر عن رابط واحد أو خاصية واحدة:

  • "هو" (تصنيف: غوبلن → كائن)
  • "لديه" (ملكية: الكائن لديه صحة)
  • "ضرر" (تأثير: الضربة تسبب 6)
  • "تكلفة" (استهلاك: الضربة تكلف 3 مانا)
  • "امتصاص" (دفاع: الدرع يحجب 5)
  • "علاقة" (رابط: الغوبلن يكره البشر)

الضربة لديها محمول الضرر = 6. الدرع لديه محمول الامتصاص = 5. المحرك يستنتج: 6 - 5 = 1 يمر إلى الصحة. ميكانيكية واحدة لأي مصدر ضرر وأي دفاع - سيف، سم، نار، تعويذة.

الخصائص تشكل شبكة حيث كل حلقة حقيقة واحدة. القواعد والتفاعلات تعيش كبيانات، ليست مثبتة في الكود.

للأداء تُستخدم التخزين المؤقت والفهارس والتفصيل التكيفي (LOD).

القواعد كأنماط

البيانات والمنطق ليسا لعبة بعد. لأسلوب اللعب نحتاج طبقة قواعد. في التطوير التقليدي القواعد كود: كل ميكانيكية يكتبها مبرمج. في Nexus القواعد تُوصف بنفس الثلاثيات المستخدمة للبيانات.

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

المصمم يصف ماذا يحدث، لا كيف. "الضربة تسبب 6 ضرر" - ثلاثية واحدة. المحرك يحدد بنفسه: الضرر يمر عبر الامتصاص، والباقي يذهب للصحة. الصيغة لا تُكتب لكل فعل - بل تنبع من النمط.

الأنماط تتركب بحرية. لعبة البطاقات تستخدم التأثير والامتصاص. الاستراتيجية تستخدم الاستهلاك والتراكم. RPG تجمع كل شيء معًا.

لعبة جديدة تعني كيانات جديدة ومجموعات أنماط جديدة.

الوكلاء

الكيان يمكن وصفه كوكيل - بحالته الخاصة وقواعد سلوكه. هذه خاصية اختيارية. العدو في لعبة البطاقات يختار فعله بنفسه. البرابرة في الاستراتيجية يهاجمون عندما تسمح الظروف. التاجر في RPG يتنقل بين المدن. الوكيل:

  • يدرك العالم في حدود معرفته
  • يقيّم الأفعال المتاحة
  • يتخذ قرارات بناءً على أهدافه وقواعد العالم

الوكيل يُوصف بنفس الثلاثيات المستخدمة لكل شيء آخر. الحداد يعرف الحدادة (حقيقة)، يحتاج خامًا (حقيقة)، الخام في المنجم (حقيقة). من هذه الحقائق يستنتج المفسّر الفعل: الذهاب للمنجم واستخراج الخام. المنجم غمرته المياه - الحداد لا يستطيع الاستخراج - يبحث عن تاجر - يشتري. السلوك نشأ من سلسلة حقائق.

التوسع بدون فقدان المنطق

في المحاكاة العميقة قد يحتوي العالم على عدد هائل من العمليات: من هجرة الحيوانات ونمو المدن إلى ديناميكيات النجوم. إعادة حساب كل شيء مستحيل وغير ضروري - اللاعب دائمًا يدرك العالم بشكل ذاتي وبقدر محدود.

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

الزمان والمكان

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

توسيع المكان يحدد مستوى الكيانات والعمليات. على المقياس الكبير - المناخ والهجرات والسياسة. على المستوى المحلي - الكيانات الفردية وخصائصها. منطق السببية واحد على كل المستويات.

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

اللاعب يمكنه التعمق في بنية العالم، ودراسة الكيانات والتنقل عبر خصائصها - مثل التصفح في نظام مرجعي.

تجسيد العالم

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

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

بعد التفاعل مع موقع تُحفظ حالته ولا تُعاد حسابها.

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

اللعب عبر الشبكة

اللعب الشبكي يعمل بنفس المبدأ. الخادم يحفظ البيانات والقواعد وما اكتشفه اللاعبون.

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

خارج منطقة اللعب يبقى العالم محتملًا - قواعد واتجاهات بدون تفاصيل.

البنية الشبكية الأساسية تعمل بالفعل: كل لاعب يحصل على جلسة معزولة يمكن لآخرين الانضمام إليها برمز. الأفعال تتزامن في الوقت الحقيقي.

البنية كلغة

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

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

إذا كان الموقف في اللعبة يمكن وصفه بالكلمات - فهو يعمل في Nexus.