Lukas Vogel একটি দীর্ঘ ব্লগ পোস্টে লিখেছেন কিভাবে তিনি SQL ডাটাবেস ব্যবহার করে Doom রেন্ডার করতে পেরেছেন। SQLDoom প্রকল্প ইনপুট এবং আউটপুট পরিচালনা, গেমের সময় চালনা এবং প্রতিটি ফ্রেম প্রদর্শনের জন্য একটি ছোট Python ক্লায়েন্ট ব্যবহার করে। এর পিছনে, Cedar DB টেবিলের একটি সিরিজ গেম জ্যামিতি এবং অবস্থা ট্র্যাক করে, যখন প্রায় 1300 লাইন SQL কোয়েরি 89 সাধারণ টেবিল এক্সপ্রেশন জুড়ে গেম লজিক বাস্তবায়ন করে এবং প্রতি সেকেন্ডে 35 বিটম্যাপ ফ্রেমবাফার তৈরি করে।
SQLDoom, Vogel এর পূর্ববর্তী Doom QL প্রকল্পের তুলনায় একটি বড় উন্নতি, যা "সম্পূর্ণ SQL-এ একটি মাল্টিপ্লেয়ার Doom-সদৃশ শুটার" তৈরি করেছিল কিন্তু গ্রেস্কেল ASCII গ্রাফিক্সে শেষ হয়েছিল। নতুন SQLDoom পূর্ণ-রঙের 640×480 ফ্রেম তৈরি করে যা মূল Doom এক্সিকিউটেবলের মতো।
Vogel বলেন, Doom এর ক্লাসিক WAD ফাইলগুলিকে রিলেশনাল ডাটাবেসে রূপান্তর করা সরল ছিল, কারণ গেমটি স্তরগুলিকে শীর্ষবিন্দু, রেখা এবং সেক্টরে ভাগ করেছিল। Doom এর বাইনারি-স্পেস পার্টিশন ট্রি প্রতিটি অবস্থানের জন্য পূর্ব-গণনা করা sort_key ব্যবহার করে SQL-এ ভাঙা যায়। এর সাথে, একটি সাধারণ "ORDER BY" বিবৃতি নির্ধারণ করে প্রতিটি ফ্রেমে দেয়ালের কোন অংশ প্রদর্শন করতে হবে।
মূল সত্ত্বা: কোম্পানি: Ars Technica | ব্যক্তি: Lukas Vogel
উৎস: Ars Technica · সারাংশ: HeadlinesBriefing