توسعهدهنده موفق به اجرای بازی Doom در یک پایگاه داده SQL شد

نکات کلیدی
- پروژه SQLDoom با استفاده از ۱۳۰۰ خط کد SQL، ۳۵ فریم رنگی ۶۴۰ در ۴۸۰ در ثانیه تولید میکند.
- این پروژه از ۸۹ عبارت جدول مشترک برای پردازش هندسه و وضعیت بازی در CedarDB استفاده میکند.
- ووگل با استفاده از کلیدهای مرتبسازی پیشمحاسبهشده، فایلهای WAD بازی Doom را به جداول رابطهای نگاشت کرد.
در یک شاهکار مهندسی نرمافزار، لوکاس ووگل، توسعهدهنده نرمافزار، موفق شد بازی کلاسیک Doom را بهطور کامل در محیط یک پایگاه داده SQL اجرا کند. اگرچه خود ووگل اذعان میکند که اجرای یک بازی با عملکرد بالا در پایگاه داده ایدهای نامعقول است، اما این پروژه نمایشی عمیق از قدرت و انعطافپذیری ساختارهای پرسوجوی مدرن SQL است. با بهرهگیری از یک تنظیمات تخصصی، این پروژه موفق میشود محدودیتهای موتور بازیسازی سنتی را دور بزند و بازی تیراندازی نمادین سال ۱۹۹۳ را تنها با استفاده از تکنیکهای مدیریت دادههای رابطهای زنده کند.
معماری فنی پروژه SQLDoom بر یک کلاینت کوچک پایتون متکی است که به عنوان پل ارتباطی عمل کرده و ورودی، خروجی و زمانبندی بازی را مدیریت میکند. در زیر این رابط، پردازشهای سنگین توسط CedarDB انجام میشود که هندسه و وضعیت بازی را ردیابی میکند. این موتور از حدود ۱۳۰۰ خط کد SQL توزیعشده در ۸۹ عبارت جدول مشترک استفاده میکند. این منطق پیچیده، ۳۵ فریمباف بیتمپ در ثانیه تولید میکند که تجربهای بهطور شگفتآوری روان را ارائه میدهد که با معیارهای عملکرد بازی اصلی مطابقت دارد.
این دستاورد در پی تلاش قبلی ووگل، یعنی DoomQL، حاصل شده که سال گذشته به عنوان یک تیراندازی چندنفره در SQL معرفی شد. آن نسخه اولیه با گرافیک ASCII خاکستری مبتنی بر پرتوافکنی محدود شده بود که به تصاویر ابتدایی Wolfenstein 3D شباهت داشت. در مقابل، SQLDoom یک جهش تکاملی بزرگ محسوب میشود و فریمهای رنگی کامل ۶۴۰ در ۴۸۰ تولید میکند که از نظر بصری با فایل اجرایی اصلی Doom غیرقابل تشخیص هستند و ثابت میکند که پایگاههای داده رابطهای میتوانند کارهای گرافیکی پیچیده را مدیریت کنند.
پیامدهای این پروژه فراتر از یک نوآوری ساده است، زیرا پتانسیل پایگاههای داده برای مدیریت بارهای کاری غیرسنتی را برجسته میکند. با تبدیل فایلهای WAD کلاسیک Doom به جداول رابطهای، ووگل نشان داد که سطوح بازی - متشکل از رئوس، خطوط و بخشها - میتوانند مستقیماً به ساختارهای پایگاه داده نگاشت شوند. استفاده از کلیدهای مرتبسازی پیشمحاسبهشده برای درختان پارتیشنبندی فضای باینری به سیستم اجازه میدهد تا از دستورات استاندارد 'ORDER BY' برای تعیین بخشهای دیوار جهت رندر استفاده کند که عملکرد را در زمان واقعی به شدت بهبود میبخشد.
در نگاه به آینده، موفقیت SQLDoom مرزهای متعارف کاربرد پایگاه داده را به چالش میکشد. اگرچه بعید است که توسعهدهندگان شروع به ساخت بازیهای تجاری در SQL کنند، اما این پروژه بینشهای ارزشمندی در مورد بهینهسازی پرسوجو و کارایی پردازش داده ارائه میدهد. همانطور که پایگاههای داده به تکامل خود ادامه میدهند، آزمایش ووگل گواهی بر این واقعیت است که با خلاقیت کافی، حتی سفت و سختترین ساختارهای داده نیز میتوانند برای انجام وظایفی که هرگز برای آنها طراحی نشده بودند، به کار گرفته شوند.
Reader Discussion
Leave a Comment
0 Comments
Owner
Editorial Oversight & Machine-Assisted Reporting
Human-in-the-Loop VerifiedEditorial Oversight & Machine-Assisted Reporting: This dispatch was synthesized and localized via OPA automated intelligence under continuous human editorial supervision.
منبع خبری
This report was synthesized from Ars Technica under journalistic fair use.
