موتور‌های بازیسازی چگونه کار می کنند؟ (بخش اول)

موتور‌های بازیسازی چگونه کار می کنند؟ (بخش اول)

موتور‌های بازیسازی ماشین‌های فوق‌العاده‌ای هستند. یکی‌ از مهمترین امتیازاتی که این موتورها به بازیسازان می‌دهد این است که آنها دیگر مجبور نیستند وقت خود را تماماً صرف طراحی و ساخت بازی کنند و این امکان را دارند که روی ایده اصلی بازی( به طور مثال داستان بازی)‌ تمرکز کنند. مثلاً موتور قدرتمندی مانند UNREAL ENGINE طراحی و ساخته شد تا بازی‌ها بهتر و جذّاب‌تر شوند.

 دیگر امتیاز این موتورها این است که بازیسازان می‌توانند برای هر پلتفرمی‌ از یک موتور استفاده کنند. حال که اهمیت این موتورها را درک کردید، بیایید ببینیم چگونه کار می‌کنند؟

قبل از اینکه نحوه کارشان را شرح دهیم، بهتر است ابتدا به زبانی ساده دریابیم خود کامپیوتر چگونه کار می‌کند؟

  در کامپیوترها همه ‌چیز به صورت لایه‌ای روی لایه دیگر قرار دارد و طوری طراحی شده تا کار با لایه بالاتر، آسان‌تر از کار با لایه پایین‌تر از خود باشد. در پایین‌ترین سطح این لایه ولتاژ‌های الکتریکی قرار دارند. همانطور که مشخص است تصور اینکه برای ساختن حتی کوچکترین نرم‌افزار یا ارسال یک دستور ساده مثل کلیک کردن باید ولتاژی الکتریکی را شخصاً دست کاری کنید، غیر ممکن است. پس برای اینکه به شما بگوییم کامپیوترها چگونه یک ولتاژ الکتریکی را به یک دستور تبدیل می‌کنند یک مثال ساده می‌زنیم و لایه‌های مختلفی‌ که در بالا ذکر شد را در ساده‌ترین حالت ممکن توضیح می‌دهیم.

یک کامپیوتر از مدارهای بسیار زیادی تشکیل شده که اصولاً کارشان این است که ولتاژ ورودی را تغییر دهند. بعد از این مرحله، ترانزیستور‌ها وارد عمل می‌شوند و کار آنها این است که این ولتاژ متغیر را به اعداد باینری ( ۰ یا ۱ ) تبدیل کنند. به همین ترتیب است که ولتاژ دریافتی تبدیل به الگویی از صفرها و یک‌ها می‌شود که به لایه بالاتر منتقل می‌شوند. این مقادیر باینری با هم تشکیل “کلمه” داده، و کلمات در کنار هم تشکیل یک Command یا دستور می‌دهند که کامپیوتر می‌تواند آن‌ها را بفهمد. حال، با مجموعه این دستورها می‌توان کارهای پیچیده‌تری انجام داد(مثل ارسال دستور به حافظه کامپیوتر). به مجموعه این دستورها کنار هم یک سیستم عامل می‌گویند که توانایی‌ اجرای دستورات ابتدایی و پیشرفته را دارد. پس تمام این لایه‌ها در کنار هم کار می‌کنند تا شما دیگر مجبور نباشید برای صدور یک دستور ساده بیت‌های صفر و یک را شخصاً تغییر دهید.۲۵۰۰۸۳۴-layers_of_computer_architecture

 

 

موتور‌های بازیسازی

موتور‌های بازیسازی از بخش‌های پیچیده‌ای تشکیل شده که فقط و فقط برای ساخت بازی‌ هستند.

در زیر آن‌ها را معرفی‌ می‌کنیم:

ورودی

یکی‌ از مهمترین جنبه‌های بازی‌، ابزار بازیست که موتورها از تعداد زیادی از آنها پشتیبانی می‌کنند. این ابزار ورودی شامل کیبورد، ماوس، دسته بازی،تاچ و … هستند.

 روش‌های مختلفی‌ برای کنترل این ورودی‌ها وجود دارد که دو نوع معمول آن‌ها شامل Events  و Polling هستند.

‌Event‌ها گوش به زنگ هستند تا یک‌ ورودی را بشنوند. مثل زدن دکمه‌ای روی کیبورد، کلیک کردن دکمه ماوس و یا تاچ کردن صفحه گوشی. وقتی‌ شما دکمه‌ای را روی کیبوردتان فشار دادید، سیگنال ارسالی‌ به یک جدول منتقل شده و اَکشن مورد نظر انجام می‌شود. مثلاً شما تعیین می‌کنید دکمه Space روی کیبورد مختص پرش است. بنابراین وقتی‌ دکمه Space را فشار می‌دهید اَکشن پریدن انجام می‌شود.

Pollingها اماّ با مختصات ورودی سر و کار دارند. مثلاً میزان حرکت ماوس یا میزان حرکت دسته بازی در جهت‌های مختلف.

گرافیک

یک بازی‌ بدون گرافیک دلچسب و زیبا چه جذابیتی دارد؟ یکی‌ از مسائل مهمی‌ که باعث محبوبیت موتورهای بازیسازی می‌شود، گرافیک خیره‌کننده‌ایست که می‌توانند خلق کنند.

امکان دیگری که این موتورها به طراحان می‌دهند این است که آن‌ها می‌توانند اجزای ۳بعدی بازی‌ها را با استفاده از برنامه‌های‌ دیگر مثل Maya و Blender طراحی کنند و بعدا به موتور بازی‌ منتقل کنند. این خود باعث می‌شود که بازیسازان با هر برنامه‌ای‌ که قبلا کار کرده‌ و به آن عادت دارند کار کنند و بعداً طراحی‌های خود را به موتور بازی‌ انتقال دهند.

بعد از اینکه طرح‌های ۳بعدی به موتور بازی‌ منتقل شدند، بازیساز می‌تواند به آن افکت دهد. افکت‌هایی مانند نور، سایه‌، بافت و … .حتی می‌تواند آنها را به حرکت درآورد. برای نمونه اگر آبجکت ۳بعدی یک آدم باشد(مثلاً یک‌ سرباز)، بازیساز می‌تواند به آن حرکت دهد. حرکاتی‌ مانند راه رفتن، دویدن، نشستن و … .

امکانات گرافیکیی که این موتورها در اختیار ما می‌گذارند آن قدر زیاد هست که از محدوده بحث این مقاله خارج است. ولی‌ به طور خلاصه، این امکان را به بازیسازان می‌دهند تا بتواند یک محیط ۳بعدی طبیعی‌ بسازند بدون آنکه زمان زیادی صرف آن کنند.

 ۱۴۹۴۰۴۲-ss20100830c

پایان بخش اول


 

نظر خود را بنویسید

avatar