NIMS - برنامج سيناريو محدد (لألعاب لعب الأدوار للحركة الحية)

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


أسئلة الهجوم الخاطف:


هل يتم استخدامه؟ نعم ، يبلغ عمر المشروع بالفعل سنتان. خلال هذا الوقت ، قدم NIMS أكثر من 20 مباراة.
هل هي مدفوعة؟ مجاني - تبرعات.


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



تظهر الصورة شبكة اجتماعية على أساس مؤامرات RI “Port Arthur” ، MG S&M (قابلة للنقر).


إخلاء المسؤولية 1: تعد ألعاب لعب الأدوار على الطاولة نوعًا مستقلاً من الألعاب وسأشير إليها باسم NRI.


تصنيف مهام البرمجة النصية


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


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


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


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


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


إخلاء المسؤولية 2: العقيدة الموصوفة هنا ليست خيارًا نموذجيًا ؛ بل إن الهنود غير المقيمين هم مستقلون ، RIs تعتمد بشكل مستقل ولا يزال هناك مجموعة كاملة من الخيارات المتوسطة.


سيناريوهات حول ألعاب تقمّص الأدوار أثناء اللعب المباشر


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


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


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


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


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


تم تصميم مشروع NIMS لتطوير سيناريوهات RI التي تتضمن قصصًا متعددة مع عدد كبير من المشاركين. بمساعدتها ، يتم توزيع المعلومات بين اللاعبين ، ويصاحب عملية كتابة النصوص آليات التحكم للقضاء على التناقضات وتحديد السطور "المنسية".


عملية الكتابة التمهيدية


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


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


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


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


لحل هذه المشكلة ، نقسم القصة إلى أحداث ، حيث يكون الحدث هو وحدة الزمان والمكان والشخصيات. نصلح الحدث: "مجلس الحلبة ، الوقت: 3018/10/25 12:00 ، المشاركون: ... ، وصف الحدث: ..." الآن نعرف بالضبط من كان مشاركًا في الحدث. لكل مشارك رؤيته الخاصة للحدث ، والتي نصفها في تكييف الحدث. يتألف تكييف القصة بأكملها للشخصية المختارة من جميع تعديلات الأحداث مع هذه الشخصية.


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



ونتيجة لذلك ، نحصل على بيانات منظمة مناسبة أيضًا للتصور:


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

مثال على التسلسل الزمني لأحداث العينة الأساسية لورد الخواتم (قابل للنقر):



مثال على شبكة اجتماعية من لعبة RI "Mad Mad Max" ، Mk. ألبيون (قابل للنقر):



العلاقات الشخصية


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


ملف


الملف هو قائمة حقائق عن الشخصية. يتم تحديد هيكل الملف من قبل سيد اللعبة ، لأن المعلومات المهمة للعبة ليست مهمة لأخرى. على سبيل المثال ، يمكن أن يؤثر عمر الشخصية على قبول الرحلات على بعض ألعاب الفضاء ، ولكن في Lord of the Rings لا توجد علاقة بالعمر ولا شيء يعتمد عليه.


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


مجموعات الشخصيات


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


خريطة مؤامرة


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


حول التنفيذ


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


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


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


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


يؤدي تنفيذ صفحة الويب المستقلة إلى الآثار الجانبية غير السارة التالية:


  • لا يوجد وصول إلى نظام الملفات ، لذلك من المستحيل عمل زر "حفظ" وبذلك يتم حفظ كل شيء في ملف بشكل سري. بدلاً من ذلك ، يتم تنزيل الإصدار الحالي من قاعدة البيانات من الصفحة. وبالمثل ، عندما يتم فتح النظام ، لا يتم عرض قاعدة البيانات الأخيرة ، ولكن مثال لقاعدة البيانات. من الضروري تحميل آخر قاعدة عمل في بداية العمل يدويًا. نعم ، هذا غير مريح ، ولكن خطر فقدان البيانات بسبب فشل التخزين المحلي ونظائره أسوأ.
  • عدم القدرة على استخدام الملفات ذات "الملحقات غير القياسية" (مرحبًا Chrome). على سبيل المثال ، لا يمكنك وضع docx في مجلد الصفحة ، وإذا لزم الأمر ، قم بتحميله من خلال طلب GET. وبالمثل ، لا تعمل مكتبة l20n مع ملفات ftl الخاصة بها. من الخادم - من فضلك. لقد قمت بحل المشكلة الأولى عن طريق ترميز docx في base64 وحفظه في ملف js. حللت المشكلة الثانية عن طريق إنشاء دراجة.
  • استحالة استدعاء البرامج القابلة للتنفيذ ، حتى عندما تريد ذلك حقًا. هنا من الضروري ملاحظة النظام الفرعي لتشكيل المقدمة - هنا قمنا بكتابة كل شيء ، نحتاج إلى حفظ هذا في ملف وإرساله إلى اللاعب عن طريق البريد أو الطباعة. كان الشرط الأساسي هو "الحفاظ على المقدمة في docx" (ليس هذا ما توصلت إليه). لقد نفذت هذا باستخدام docxtemplater. يسمح لك بإنشاء ملفات docx حسب القالب. لهذا الغرض ، احتجت ، عند الطلب ، إلى تحميل قالب docx في الصفحة في الفقرة السابقة.

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


في جميع النواحي الأخرى ، هذا سبا عادي.


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


المشكلة: لدينا جوهر العمل ، ولكن شحذ للعمل المستقل. كيفية ضمان تعاون العديد من سادة؟


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


ونتيجة لذلك ، تستخدم كل من حلول الخوادم دون اتصال والخوادم نفس النواة. من الناحية التخطيطية ، يبدو هذا:



المواد


قمنا بإعداد العديد من المواد للمستخدمين:


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

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


بالنسبة لشفرة المصدر - ينقسم المشروع إلى موارد العميل والخادم والنص:


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

الخلاصة


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

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


All Articles