HeadlinesBriefing HeadlinesBriefing.com

Lukas Vogel يعرض Doom في SQL

Ars Technica •
×

يكتب Lukas Vogel في تدوينة مطولة يشرح فيها كيف تمكن من عرض Doom باستخدام قاعدة بيانات SQL. يستخدم مشروع SQLDoom عميل Python صغير للتعامل مع الإدخال والإخراج، وقيادة توقيت اللعبة، وعرض كل إطار. خلف ذلك، تتبع سلسلة من جداول Cedar DB هندسة اللعبة وحالتها، بينما تنفذ حوالي 1300 سطر من استعلامات SQL عبر 89 تعبير جدول شائع منطق اللعبة وتولد 35 مخزن إطارات نقطي في الثانية.

SQLDoom هو تحسين كبير مقارنة بمشروع Vogel السابق Doom QL، الذي بنى "لعبة إطلاق نار متعددة اللاعبين تشبه Doom بالكامل في SQL" لكنه انتهى برسومات ASCII بتدرج الرمادي. يولد SQLDoom الجديد إطارات كاملة الألوان بدقة 640×480 تشبه ملف Doom الأصلي القابل للتنفيذ.

يقول Vogel إن تحويل ملفات WAD الكلاسيكية لـ Doom إلى قاعدة بيانات علائقية كان مباشرًا، لأن اللعبة قسمت المستويات إلى رؤوس وخطوط وقطاعات. يمكن تحليل أشجار تقسيم المساحة الثنائية لـ Doom إلى SQL باستخدام sort_key محسوب مسبقًا لكل موضع. بهذا، يحدد بيان "ORDER BY" بسيط أي أجزاء الجدران سيتم عرضها في كل إطار.

الكيانات الرئيسية: الشركات: Ars Technica | الأشخاص: Lukas Vogel

الأسئلة الشائعة: كيف يعرض SQLDoom الإطارات باستخدام قاعدة بيانات؟

يستخدم SQLDoom عميل Python للإدخال والعرض، بينما تخزن جداول Cedar DB الهندسة والحالة. تولد حوالي 1300 سطر من استعلامات SQL عبر 89 CTE 35 مخزن إطارات نقطي في الثانية، باستخدام ORDER BY مع مفاتيح فرز محسوبة مسبقًا لعرض فعال.

المصدر: Ars Technica · لخّصه HeadlinesBriefing