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

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

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

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

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

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

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


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

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

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

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

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

الخلفية
عند اختيار التكنولوجيا من جانب الخادم ، ترددنا بين Python و Java. في النهاية ، اخترنا Java بسبب سرعتها وموثوقيتها مع وجود متطلبات واضحة ، وكذلك بسبب Spring Boot ، الذي يدعم Neo4j خارج الصندوق.

تم تنفيذ جانب الخادم في Spring Boot. يقوم الخادم بجمع الأصوات ، والانتقال من الحالة "الفائقة" إلى الحالات التالية عند انتهاء التصويت ، وقبول الأوامر من المسؤول ، وتوفير الإحصاءات ، وما إلى ذلك. كما أنه يتعامل مع تسجيل المستخدم وإرسال بيانات التصويت (فتح أو إغلاق التصويت والخيارات المتاحة) لعملاء الواجهة الأمامية.

ثم وصلنا إلى الجزء الأكثر أهمية من المهمة. كانت الفكرة العامة هي أن المكون الذي يتم عرضه على "super" - EMA - يجب أن يكون قادرًا على التحدث إلى الجمهور. كان عليها إعداد الجمهور للتصويت ، والإعلان عن خيارات التصويت ، وبدء التصويت وإنهائه ، والإعلان عن النتائج ، واعتمادًا على اختيار الجمهور ، واقتراح خيارات التصويت التالي ، أو تقديم مقدمة للمشهد التالي. هذا يعني أن الصوت كان يجب أن يكون ديناميكيًا ومستعدًا. بالنظر إلى أن عدد الخيارات ضخم ، ومدة كل ملف صوتي مختلفة ، والتزامن مهم (على سبيل المثال ، يجب فتح التصويت فقط بعد الإعلان "التصويت مفتوح!") ، لم تكن هذه مهمة تافهة على الإطلاق.
لذا انتهى النظام بوجود مركزين للتحكم.
الأول هو الخادم - فهو يخزن الحالة الحالية للمخطط ، ويوفر إحصائيات ، ويتعامل مع تسجيل المستخدم ، ويجمع الأصوات ، ويتأكد من أن كل شخص يمكنه إعطاء صوت واحد فقط.
والثاني هو "السوبر" ، الذي يبدأ وينتهي التصويت ، ويبين التقدم المحرز ونتائج التصويت ، وهلم جرا.
الواجهة الأمامية
تم تطبيق "super" في Vue.js. في البداية ، كانت الخطة هي إنشاء الصوت ديناميكيًا باستخدام واجهة برمجة تطبيقات الكلام لـ Google ، لكن لم نتمكن من ضمان أنه لن يكون هناك زمن انتقال للشبكة. لذلك ، تم اختيار خيار آخر وقمنا بتسجيل الملفات الصوتية بشكل فردي باستخدام Google Speech.
في المجموع ، كان لدينا 55 مقاطع صوتية. البيانات المتعلقة بملفات الصوت التي يجب تشغيلها في الحالة التي تم تخزينها على الرسم البياني مع الولايات. منذ أن كنا نتعامل مع JavaScript ، قمنا بربط الملفات الصوتية ومكالمات الأوامر فوق بعضها مثل العنب. وبالتالي ، لم نعتمد على حقيقة أن الملفات الصوتية كانت ذات أطوال مختلفة وانتهى الأمر بحل عالمي إلى حد ما.
في البداية ، تم كتابة موقع الويب الخاص بعميل الهاتف المحمول في VueJS ، ولكن في الاختبار ، أدركنا أن هناك مشكلة عدم توافق تؤثر على بعض طرز الهواتف المحمولة. لقد حاولنا حل مشكلة بابل المتحولين ، ولكن مع إضافة إعدادات متعددة ، زاد حجم الصفحة ، وعلى الرغم من أن تطبيق الويب بدأ يعمل على بعض الهواتف ، إلا أنه كسر على أجهزة أخرى. أخيرًا ، تمت إعادة كتابة عميل الهاتف المحمول في Vanilla JS. نتيجة لذلك ، انتهى بنا نظام موزع.
كان الحجم النهائي للنظام (ملف JAR) 146 ميغا بايت. زودتنا شركة الاتصالات Telia بخادم افتراضي بسعر رمزي قدره 1 يورو شهريًا ، ونحن في غاية الامتنان ، ونوعية الخدمة رائعة.
أول اختبار تشغيل مباشر كان في مكتب Playtech الذي أصبح مضحكًا جدًا.

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

هناك حقيقة واحدة مثيرة للاهتمام أود أن أبرزها. كنا نعرض أسماء الأشخاص الذين صوتوا في الوقت الحقيقي على شاشة التصويت على الستارة الأمامية. استخدمنا قالب الرسوم المتحركة الخاص بـ Vue لهذا الغرض ، وخلال الأداء الأول ، أدخل شخص من الجمهور "رمز القاتل" كاسم عند التسجيل ، والذي كسر الرسوم المتحركة وعرض قوالب Vue. بعد ذلك ، تخلينا عن هذا الحل (عرض الأسماء في التحولات المتحركة) وانتقلنا إلى مسج قديم جيد. لا يتم استخدام VueJS إلا في حالة "super" من أجل إنشاء حالة صوتية وإدارتها وتبديلها.
تلقى الأداء الكثير من التعليقات الإيجابية في الصحافة. البعض منهم:
الإستونية:
https://kultuur.postimees.ee/6402024/millised-me-eestlased-olemehttps://www.ohtuleht.ee/893816/mari-lill-uks-asi-on-raakida-vene-keelt-tanaval-hoopis-teine-asi-teha-seda-teatrilaval-الروسية:
https://rus.postimees.ee/6147704/nashe-zavtra-v-zerkalah-utopii-i-antiutopiihttps://rus.postimees.ee/6141942/budet-ne-budet-net-nichego-opasnee-budushchegohttps://rus.err.ee/859086/russkij-teatr-pokazhet-spektakl-budet-ne-budet-na-festivale-draama-v-tartuhttps://m.ee.sputniknews.ru/culture/20180826/12340797/otkrytije-sezon-russkij-teatr-teatraljnoje-sobytije-god.html؟mobile_return=noفي مهرجان الدراما في تارتو ، استمر التحية الدائمة حوالي 5 دقائق.
لقد كانت مغامرة رائعة بسبب الطاقة المجنونة وتفاني الأشخاص المشاركين في المشروع. أرفع قبعتي إلى جميع الأشخاص الذين شاركوا في إنشاء هذه المسرحية.
مدير - Artjom غاريف
ملحن ، منتج- ألكسندر زيدلوف
مرئي - الجونا موفكو
ازياء - روزيتا راود
الأنوار - انطون اندريجوك
الكوريغرافيا - أولغا بريفيس
الكاتب المسرحي: كارين لامسون ، ماري ليس ليل ، جيلينا تشيشرينا ، لورا كالي
فيديو - نيكولاي الهزوف
البرمجة وحلول تكنولوجيا المعلومات - ألكسندر تافن ، آنا أغافونوفا
أضواء LED - الكسندر Sprohgis
الرسوم المتحركة - مارتن ياكوش
الموسيقى - Modulshtein
مارتن ألتروف - كلارينيت ، باس كلارينيت
أليكسيه Semenihhin- عينات ، المؤثرات الصوتية
ألكساندر زيديلوف ، قيثارة ، قيثارة ، إمبلتون
غناء - آنا ديدينا
مساعد مدير سفيتلانا شوشينا
الممثلون:
ناتاليا ديمتشينكو ، ألكساندر زيلينكو ، دانييل زاندبرغ ، دميتري كورداس ، إيكاترينا كورداس ، ألكسندر كوتشميزوف ، فيكتور مارفين ، ناتاليا مورينا ، جيلينا تاراسينكو ، إدوارد تي
سيرجيه فورمانجوك ، ليونيد شيفكوف ، جيلينا جاكوفليفا
استوديو المسرح الروسي: دينيس فولكوف ، بولينا غرينجوفا ، نينا زاجفوزدكينا ، أناستاسييا كوليدا ، ناتاشا كريستنسن ، أناستاسييا ماسالوفا ، ساندرا مينوسجان ، صوفيا ميخالجوفا ، كاترين ماغي ، ميهايل باشوك ، كاترين سيلجوجينا ، كريستينا سوروكجت ، صوفيا
كاتب التكنولوجيا - سيغريد Maasen