SQLDoom: عرض Doom كامل الألوان عبر قاعدة بيانات SQL
لوكاس فوغل يشرح SQLDoom، مشروع يعرض Doom بدقة 640x480 عبر قاعدة بيانات SQL مع عميل Python، بعد تجربة DoomQL السابقة.
كشف لوكاس فوغل عن SQLDoom، وهو مشروع يعرض لعبة Doom كاملة الألوان باستخدام قاعدة بيانات SQL. يعتمد المشروع على عميل Python صغير يتولى الإدخال والإخراج، ويضبط توقيت اللعبة، ويعرض كل إطار على الشاشة.
تتتبع جداول CedarDB هندسة اللعبة وحالتها داخل SQLDoom. وتنفذ منطق اللعبة نحو 1,300 سطر من استعلامات SQL موزعة على 89 تعبير جدول مشترك (common table expressions)، لتوليد 35 إطارًا نقطيًا (bitmap framebuffer) في الثانية. كما ينتج المشروع إطارات كاملة الألوان بدقة 640x480.
نشر فوغل تدوينة مطولة يشرح فيها كيفية عرض Doom باستخدام قاعدة بيانات SQL، وفقًا لما أوردته arstechnica.com.
من DoomQL إلى SQLDoom
في العام الماضي، كان مشروع فوغل السابق DoomQL يهدف إلى بناء لعبة تصويب شبيهة بـ Doom بالكامل داخل SQL، لكنه انتهى برسومات ASCII رمادية تعتمد على تقنية raycasting، بأسلوب يشبه خرائط Wolfenstein 3D ذات الزوايا القائمة عند 90 درجة.
يمثل SQLDoom تطورًا في المقاربة التقنية، إذ ينتقل من العرض النصي أحادي اللون إلى إطارات ملونة كاملة مع الحفاظ على تنفيذ منطق اللعبة داخل قاعدة البيانات.
أسئلة سريعة
ما هو SQLDoom؟
مشروع أنشأه لوكاس فوغل يعرض لعبة Doom كاملة الألوان باستخدام قاعدة بيانات SQL، مع عميل Python صغير للإدخال والإخراج والتوقيت وعرض الإطارات.
كيف ينفذ SQLDoom منطق اللعبة؟
عبر نحو 1,300 سطر من استعلامات SQL موزعة على 89 تعبير جدول مشترك، تولد 35 إطارًا نقطيًا في الثانية بدقة 640x480.
ما الفرق بين SQLDoom وDoomQL؟
DoomQL، مشروع فوغل السابق، كان يهدف إلى لعبة تصويب شبيهة بـ Doom داخل SQL لكنه انتهى برسومات ASCII رمادية بتقنية raycasting، بينما SQLDoom يعرض إطارات ملونة كاملة.