Doomba


غرفة المعيشة الخاصة بي ، ذهبت إلى الجحيم.

بلدي محول Noesis لديها الآن برنامج Roomba النصي. يراقب Roomba ويخزن بيانات التتبع ، مما يسمح لك بتصور هذه البيانات بعدة طرق مختلفة ، بما في ذلك ، بالطبع ، تحويلها إلى بطاقة عشوائية لـ DOOM.

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

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


DOOMBA سير العمل

العودة إلى الجحيم لم تكن أبدا بهذه السهولة!


من أجل استخدام DOOMBA وبقية وظائف Roomba الجديدة ، تحتاج إلى تنزيل أحدث Noesis . انتقل إلى اختياري plugins \ python وانسخ ملف tool_roomba.py إلى plugins \ python. في قائمة "أدوات" لمحول Noesis ، سترى عنصر "Roomba Tracker" جديد. قم بتنشيطه لفتح واجهة Roomba Tracker.


روومبا المقتفي واجهة

تتيح لك الواجهة مسح شبكة LAN تلقائيًا لروبوتات Roomba (يجب تمكين بث UDP) وعرض إرشادات لاستلام كلمة مرور من Roomba. بعد تلقي IP Roomba وإعداد بيانات الاعتماد ، يمكنك البدء في التتبع. عند بدء التتبع ، سيُطلب منك حفظ ملف .noeroomba. إذا قررت حفظه ، فبعد اكتمال التتبع ، سيحتوي هذا الملف على جميع البيانات المفيدة.

لقد اختبرت فقط مع Roomba 980 ، لذلك لا يمكنني ضمان التوافق مع أي أجهزة Roomba أخرى. ومع ذلك ، حتى إذا لم يكن لديك جهاز متوافق ، يمكنك استخدام ملف .noeroomba من دليل Noesis للمشاهد واللعب مع DOOMBA والميزات الأخرى ذات الصلة بـ Roomba.

بعد إنشاء ملف .noeroomba (أو أخذ الملف النهائي) ، انتقل إليه في عرض ملفات Noesis. سيكون لديك عناصر قائمة سياق النقر بزر الماوس الأيمن جديدة مع اختيار نوع الملف:


عناصر قائمة سياق Roomba جديدة

يعد خيار NoeRoomba Merger مفيدًا في دمج عدة ملفات .noeroomba. في بعض الأحيان ، عند التعقب ، يتم فقد الاتصال ، أو يجب إيقافه ، لأنه يتم إعادة شحن Roomba بين الجلسات. هذا يعني أنه يمكنك اختيار إنشاء عدة ملفات .noeroomba ثم دمجها معًا فيما بعد.

سيؤدي تحديد عنصر DOOMBA إلى تشغيل واجهة DOOMBA الرئيسية لإنشاء DOOM PWAD من ملف .noeroomba المحدد:



إذا تركت القيمة "Seed" 0 ، فسيتم إنشاء المستوى بشكل مستقل. خلاف ذلك ، إذا قمت بتحديد القيمة التي تناسبك ، فيمكنك حفظها واستخدامها مرة أخرى ، إلى جانب ضبط خيارات أخرى. تشير جميع الخيارات المذكورة أعلاه إلى موقع الأعداء / الأشياء. يتم كتابة البرنامج النصي نفسه لتبسيط إنشاء أنواع جديدة من الكائنات ، بالإضافة إلى إضافة دعم للألعاب الأخرى المستندة إلى DOOM عن طريق تغيير معرف الشيء. ومع ذلك ، إذا لم تكن مولعًا بالتجربة ، فيمكنك ببساطة ضبط القيم المتاحة من الواجهة. يمكنك أيضًا تغيير قوائم مواد الأرضية / السقف / الجدار ، وإذا قمت بتحميل DOOM IWAD إلى Noesis ، فسترى أن جميع أسماء النسيج مدرجة بدقة في "عارض البيانات".

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

على سبيل المكافأة ، أضفت الصورة إلى أداة NoeRoomba ، والتي يتم تمكينها فقط عندما يتم تعيين المتغير ENABLE_TEST_FUNCTIONS في tool_roomba.py على True. يتيح لك إنشاء ملفات .noeroomba من ملفات الصور العادية ، مما يوفر طريقة بسيطة وفعالة لتحويل صورة إلى بطاقة DOOM عشوائية. لا أستطيع أن أعدكم بأن خوارزمياتي الشريرة المصممة لبطاقات Roomba لن تتعطل إذا قمت بإطعامهم جميع أنواع البيانات العشوائية ، ولكن في حالة الصور التي اخترتها ، تعامل النظام جيدًا:


مورتال كومبات

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

سبق ذكر ذلك في الملاحظات على البرنامج النصي ، لكنني سأقولها مرة أخرى أن مكتبة dorita980 كانت مفيدة للأجزاء المتعلقة ببروتوكول Roomba. أود استخدامها مباشرة ، ولكن Node.js كارثة كاملة. أود أيضًا أن أشكر Rafael Quine على كود nodebuilder القديم ، والذي تم تضمينه في هذا الإصدار كجزء من وظيفة DOOMBA. كان واحدا من عدد قليل من nodebuilders التي وجدتها والتي لم تتلف من قبل GPL.

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


All Articles