تبلیغات
پرسه در بازی سازی - مقایسه انجین، فریم ورک و کتابخانه های بازی سازی
چهارشنبه 2 تیر 1395  02:29 ب.ظ
نوع مطلب: (آموزش ،) توسط: دانیال عبدالهی

اگر در دنیای بازی سازی گشتی زده باشید با اصطلاحاتی مثل انجین، فریم ورک و کتابخانه برخورد می کنید. در این مطلب به مقایسه این ها می پردازم.
کتابخانه ها مجموعه ای از توابع، کلاس ها و ابزارهایی هستند که هرکدام یکی از وظایف مربوط به بازی سازی را تسهیل می کنند. ممکن است نام هایی مثل کتابخانه گرافیک یا کتابخانه فیزیک به گوشتان خورده باشد. به طور معمول هر کتابخانه وظیفه خاصی را به عهده دارد. مثلا کتابخانه Chipmunk2d یکی از کتابخانه های فیریک دوبعدی است که کار شبیه سازی فیزیک را بر عهده دارد و انجین های زیادی از آن برای فیزیک استفاده می کنند. به عنوان مثال cocos2D  از چیپمانک استفاده می کند. PhysX نمونه دیگری است که انجین آنریل از آن استفاده می کند.
فریم ورک را می توان مجموعه ای کتابخانه های مختلف مرتبط با بازی سازی  دانست که کنار هم گردآوری شده اند و هماهنگ با هم عمل می کنند. در یک فریم ورک، ابزارهای مختلف را کنار هم دارید. مثل کتابخانه های فیزیک، گرافیک، ورودی (input) و ...
به عنوان مثال Libgdx  یکی از فریم ورک های معروف بازی سازی است که چند پلتفرم  را پشتیبانی می کند. Xna  و Monogame نمونه های دیگری هستند.
حال که با کتابخانه و فریم ورک آشنا شدیم شناخت انجین ساده تر است. انجین بازی یک نرم افزار است که تمام ابزارهای لازم برای ساخت بازی را در درون خود دارد. هر انجین به طور معمول ابزاری برای شبیه سازی فیزیک، ورودی کاربر، رابط گرافیکی کاربر، شبکه و ... دارد. وجه تمایز انجین و فریم ورک این است که انجین به صورت یک نرم افزار است که دارای ابزارهای ویژوال یا بصری است. از مهمترین ابزارهایی که یک انجین دارد Scenegraph  و ادیتور ویژوال است. Scenegraph برای رندر و نمایش دنیای سه بعدی بازی و ادیتور ویژوال برای ایجاد تغییر در دنیای بازی بدون کدنویسی کاربرد دارد.
در اصل هر انجین بازی بر پایه یک فریم ورک یا مجموعه ای از  کتابخانه های مستقل بنا شده است.
یک نکته دارای اهمیت این است که این اصطلاحات در موارد زیادی به جای همدیگر به کار می روند. فریم ورک ها را گاهی کتابخانه می نامند. برای نمونه  SFML  و Libgdx  بیشتر به فریم ورک شبیه هستند.
اصطلاح دیگری هم که گاهی به جای این اصطلاحات یا در کنار این ها به کار می رود SDK  است. SDK، کوتاه شده ی Software Development Kit است. کیت یا بسته ای که ابزارهای لازم برای ساخت نرم افزار( یا بازی ) را دربردارد. این بسته ها علاوه بر ابزارهای معمول ابزارهای لازم برای خروجی گرفتن برای پلتفرم های مختلف مثل ویندوز یا اندروید و ساخت بسته نرم افزاری مورد نظر را دارا هستند. همانطور که اشاره کردم گاهی اوقات انجین ها را SDK می نامند و خیلی هم غلط به نظر نمی رسد.
به طور کلی استفاده از هرکدام مزایا و معایبی دارد. کتابخانه ها به طور معمول سطح پایین تر ( Low level)  هستند و کدنویسی پیچیده تری دارند ولی در عوض دست بازی ساز را برای کاری که می خواهد انجام دهد بازتر می گذارد. انجین ها در مقابل سطح بالاتر هستند و یادگیری و کار با آن ها ساده تر است ولی محدودیت بیشتری دارند. فریم ورک هم جایی در میان آن هاست. از کتابخانه ها و فریم ورک ها هم می توان برای ساخت بازی استفاده کرد و هم برای ساحت انجین بازی.
شاید شروع کار با یک کتابخانه روش درستی نباشد از این جهت که یادگیری آن سخت تر است و دیرتر به نتیجه می رسد. برای شروع بهتر است که از انجین های معروف و با کاربری ساده استفاده کنید یا اگر قصد دارید یک بازی به یک سبک از پیش تعریف شده مثل platformer بسازید از انجین ها استفاده کنید . به همین دلیل است که اغلب افرادی که می خواهند شروع کنند از انجین هایی Game maker یا Construct  شروع می کنند.


نظرات()   
   
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر
نظرات پس از تایید نشان داده خواهند شد.
آخرین پست ها

کانال آموزش طراحی بازی..........چهارشنبه 17 آذر 1395

نسخه بتا یونیتی ۵.۵..........پنجشنبه 11 آذر 1395

هیولا دات کام، بستر توزیع بازی های کامپیوتری به صورت آنلاین..........پنجشنبه 27 آبان 1395

ساخت فایل exe از فایل سی شارپ بدون ویژوال استدیو..........چهارشنبه 12 آبان 1395

آموزش مونوگیم - محدود کردن آبجکت به ابعاد صحنه..........یکشنبه 9 آبان 1395

توپ قرمز مسطح یا Flat Red Ball- انجین بازی دوبعدی به زبان سی شارپ..........پنجشنبه 6 آبان 1395

طراحان مطرح دنیای بازی - ریچارد گریوت..........شنبه 1 آبان 1395

طراحان مطرح دنیای بازی - گری گایگکس Gary Gygax..........چهارشنبه 28 مهر 1395

بهبود کیفیت آموزش ها با GifCam..........دوشنبه 26 مهر 1395

طراحان مطرح دنیای بازی - پیتر مولینیو..........جمعه 23 مهر 1395

طراحان مطرح دنیای بازی - ریچارد گارفیلد..........پنجشنبه 22 مهر 1395

طراحان مطرح دنیای بازی - وارن اسپکتور..........چهارشنبه 21 مهر 1395

طراحان مطرح دنیای بازی - سید میر..........سه شنبه 20 مهر 1395

طراحان مطرح دنیای بازی - ویل رایت..........دوشنبه 19 مهر 1395

طراحان مطرح دنیای بازی - شیگرو میاماتو..........یکشنبه 18 مهر 1395

همه پستها