موتورهای بازی سازی مناسب بازی های وب
قائدتا اکثریت علاقه مندان حوزه ی بازی سازی دو تا از بهترین و معروف ترین موتورهای بازی سازی جهان یعنی یونیتی و آنریل انجین را می شناسند.
اما داستان برای وب متفاوت است.
اگر از مقاله ی بازی های تحت وب دیدن کرده باشید؛ متوجه می شوید از مهم ترین مسائل در ساخت بازی های وب، بهینه سازی بازی و حجم سبک آن می باشد.
به همین علت استفاده از موتوری مانند آنریل انجین به هیچ عنوان برای ساخت یک بازی وب پیشنهاد نمی شود؛ زیراکه خروجی سنگینی را می دهد.
استفاده از یونیتی نیز برای بازی های وب متداول است اما با اینحال ما باز قصد داریم به غیر از یونیتی سایر موتورهای بازی سازی مناسب وب و تکنولوژی های برتر برای بازی های وب که می تواند خروجی مناسب و سبکی را بدهد، معرفی کنیم.
1
Phaser اولین موتور بازی سازی مناسب وب است که قصد معرفی آن را داریم.
Phaser یک کتابخانه جاوا اسکریپت است که کدنویسی بازی را آسانتر میکند.
مشابه اینکه jQuery یک کتابخانه جاوا اسکریپت است که اصلاح HTML و CSS را در یک صفحه وب آسانتر میکند.
Phaser اضافه کردن گرافیک بازی را برای ساخت دنیای بازی، افزودن انیمیشن، ورودی های بازیکن، فیزیک به دنیای بازی (سرعت، گرانش، اصطکاک و غیره)، تشخیص برخورد بین اشیاء بازی، افزودن انفجار ذرات و خیلی چیزهای دیگر آسان می کند.
Phaser مناسب برای بازی های دو بعدی و سبک است و اگر در بازی انیمیشن های زیاد و جلوه های بصری و گرافیکی گسترده ای باشد، استفاده از این موتور پیشنهاد نمی شود.
آبجکت های Phaser به طور خاص طراحی شده اند تا دارای ویژگی ها و روش هایی باشند که برای کدگذاری بازی های ویدیویی مفید هستند.
المان <canvas> کانتینری است که به شما امکان میدهد با استفاده از جاوا اسکریپت، گرافیک و متن را درون آن اضافه کنید.
چیزهایی که در المان <canvas> اضافه میشوند میتوانند متحرک و تعاملی باشند، که استفاده از آن را برای یک بازی ویدیویی عالی میکند.
چرا از Phaser استفاده کنیم ؟
همانطور که ابتدای کار گفته شد استفاده از این موتور مختص بازی های وب سبک می باشد.
اما دقیقا مزایای دیگر چیست ؟
- از جاوا اسکریپت استفاده می کند. (بسیاری از موتورهای بازی کراس پلتفرم از C++ استفاده می کنند)
- رایگان و Open Source است.
- برای رفع اشکالات و افزودن ویژگیهای جدید، اغلب بهروزرسانی میشود.
- قابلیت های آن را می توان با افزونه ها و ادغام با نرم افزارهای دیگر گسترش داد.
- دارای جامعه بزرگی از کاربران است. (بنابراین تعداد زیادی کمک آنلاین در دسترس است)
- هزاران بازی با Phaser ساخته شده است.
- برای مبتدیان به اندازه کافی آسان است اما برای توسعه دهندگان باتجربه به اندازه کافی قدرتمند است.
برخی از محدودیت ها
- تنها برای ساخت بازی های وب مناسب است.
- محدود به ایجاد بازی های دو بعدی است. (البته می توانید بازی های ایزومتریک شبه سه بعدی نیز ایجاد کنید)
- بیشتر برای بازی های تخته ای، معمایی، کژوال و پلتفرمر مناسب است زیرا نمی تواند قدرت گرافیکی خیلی خاصی را به نمایش بگذارد.
- در زمینه ی انیمیشن های و جلوه های ویژه ضعیف است.
۲
اگر می خواهید به صورت کامل با این موتور بازی سازی آشنا شوید باید به مقاله ی «موتور بازی سازی Godot» بروید.
به صورت کلی گودوت یک موتور بازی سازی بسیار سبک و در عین حال قدرتمند است.
و خب قائدتا این سبکی نشان می دهد که این موتور می تواند یک انتخاب مناسب برای موتور بازی سازی وب باشد.
با استفاده از این موتور امکان ساخت بازی های دو بعدی و سه بعدی وجود دارد.
یک ابزار قدرتمند و در عین حال کاربرپسند که می توانید از آن برای توسعه هر نوع بازی، برای هر پلتفرمی، با محدودیت های کمتری نسبت به Phaser استفاده کنید.
گودوت مانند فیزر تنها مخصوص بازی های وب نیست و برای پلتفرم های دیگر نیز می توان با استفاده از آن بازی ساخت؛ دقیقا به همین خاطر است که محدودیت های آن نیز کمتر بوده و در زمینه ی گرافیک، جلوه های ویژه و انیمیشنی امکانات بیشتری را به شما می دهد.
خروجی گودوت برای انواع پلتفرم ها از جمله دسکتاپ (لینوکس، macOS، ویندوز)، پلتفرمهای موبایل (اندروید، iOS) و همچنین پلتفرمهای مبتنی بر وب باشد.
گودو کاملاً رایگان و منبع باز تحت مجوز مجاز MIT است.
توسعه گودو کاملاً مستقل و مبتنی بر جامعه است و به کاربران قدرت میدهد تا موتور خود را مطابق با انتظاراتشان شکل دهند.
میتوانید بازیهای خود را با استفاده از GDScript، یک زبان مخصوص گودو و کاملاً یکپارچه با سینتکس lightweight، یا C# که در صنعت بازیها محبوب است، کدنویسی کنید.
با فناوری GDExtension، میتوان گیمپلی یا الگوریتمهای با کارایی بالا را در C یا C++ بدون کامپایل مجدد موتور نوشت.
می توان از این فناوری برای ادغام کتابخانه های شخص ثالث و سایر کیت های توسعه نرم افزار (SDK) در موتور استفاده کرد.
البته می توان به طور مستقیم ماژول ها و فیچرها را به موتور اضافه کرد، زیرا این موتور کاملا رایگان و متن باز است.
چرا از گودوت استفاده کنیم ؟
- موتور سبک و سریعی است.
- نسبت به سبک بودن قدرت گرافیکی و انیمیشنی زیادی برای ساخت بازی ها دارد.
- خروجی کراس پلتفرم می دهد.
- Open Source.
- گودوت بر پارادایم برنامه نویسی شی گرا متکی است؛ راحت بودن با مفاهیمی مانند کلاس ها و اشیاء به شما کمک می کند تا در آن کدنویسی موثری داشته باشید.
برخی از محدودیت ها
- برای بازی های بزرگ مناسب نیست.
- جامعه ی آن مانند موتورهای یونیتی و آنریل بزرگ نیست.
- برخی از ویژگی های موجود در موتورهای بزرگی مانند Unity و Unreal هنوز در Godot پیاده سازی نشده اند.
به عنوان مثال، هیچ ویرایشگر sprite داخلی در گودو وجود ندارد.
۳
PixiJS در قلب خود یک سیستم رندرینگ است که از WebGL (یا به صورت اختیاری Canvas) برای نمایش تصاویر و سایر محتوای بصری دو بعدی استفاده می کند.
PixiJS یک نمودار full scene (سلسله مراتبی از اشیاء برای رندر) ارائه می دهد و پشتیبانی تعاملی را برای فعال کردن event های کلیک و تاچ فراهم می کند.
یک جایگزین طبیعی برای فلش در دنیای مدرن HTML5 است، اما عملکرد بهتر و جلوههای سطح پیکسلی را ارائه میکند که فراتر از آن چیزی است که Flash میتواند به دست آورد.
این تکنولوژی برای بازی های آنلاین، محتوای آموزشی، تبلیغات تعاملی، تجسم داده ها و هر برنامه مبتنی بر وب که در آن گرافیک پیچیده مهم است، عالی است.
چرا از PixiJS استفاده کنیم ؟
- سرعت بسیار بهینه و بالا
- استفاده از spritesheet برای قرار دادن asset های بصری
- PixiJS از WebGL استفاده می کند تا هزاران sprite متحرک را به طور موثر حتی در دستگاه های تلفن همراه نمایش دهد.
- با استفاده از کلاس Filter، می توانید برنامه های shader بنویسید (یا از برنامه های از پیش ساخته شده استفاده کنید!) برای دستیابی به displacement maps، blurring و سایر جلوه های بصری پیشرفته که فقط با DOM یا Canvas API قابل انجام نیستند.
- Open Source
- تحت وب بودن و قابلیت استفاده آسان
برخی از محدودیت ها
- مناسب برای تنها بازی های دو بعدی
- محدودیت های گرافیکی و انیمیشنی برای بازی
- مناسب برای سبک های مینیمالیستی مانند کژوال، تخته ای و پازلی
- جامعه ی کوچک تر نسبت به سایر تکنولوژی ها
Construct یک موتور ساخت بازی وب دو بعدی مبتنی بر HTML5 است.
اولین بار به عنوان یک موتور بازی DirectX 9 با مجوز GPL برای مایکروسافت ویندوز با برنامه نویسی پایتون در 27 اکتبر 2007 منتشر شد، سپس با Construct 2 به نرم افزار اختصاصی تبدیل شد و همچنین فناوری API خود را از DirectX به NW.js و HTML5 تغییر داد.
Construct 3 موتوری است که به دو شیوه امکان بازی سازی را به شما می دهد.
روش اول حالت بدون کد نویسی است که شما با یک محیط کاملا بصری امکان بازی سازی را خواهید داشت و روش دوم به صورت drag and drop می باشد که با این روش می توانید کد نویسی خیلی ساده و منطقی را داشته باشید.
Construct به کاربران امکان فراخوانی مستقیم کد جاوا اسکریپت را میدهد.
همچنین یک asset store با افزونهها و نمونه بازی های مختلف، قالبها و موارد دیگر ارائه می دهد.
چرا از Construct 3 استفاده کنیم ؟
- دارای موتور فیزیکی برای شبیه سازی برخی حرکات
- نیاز به دانش کدنویسی حداقلی با یک محیط بصری
- مسیریابی هوشمند و بسیار بهینه شده
- سازماندهی اشیا و افکت ها بر روی لایه ها
- پشتیبانی از پارتیکل افکت ها
- استفاده از ساختار شبکه از جمله AJAX، WebSockets، و ساخت بازی های چند نفره بر اساس WebRTC DataChannels
برخی از معایب Construct 3
- تیم پشتیبانی ضعیف و جامعه محدود
- قدرت پردازش بصری و گرافیکی کم نسبت به سایر موتورهای بازی سازی
۵
melonJS آخرین تکنولوژی داخل این لیست است که قصد معرفی آن را داریم.
یک موتور بازی متن باز HTML5 است که به توسعه دهندگان و طراحان اجازه می دهد تا روی بازی های وب تمرکز کنند.
این فریمورک مجموعه ای جامع از کامپوننت ها و پشتیبانی از تعدادی ابزار شخص ثالث را فراهم می کند.
به شما یک ترکیب قدرتمند می دهد که مناسب برای ساخت بازی های دو بعدی است.
چرا از melonjs استفاده کنیم ؟
- موتوری سبک و سریع مبتنی بر 2D sprite
- وضوح DPI بالا و گزینههای مقیاسبندی خودکار پیشرفته
برخی از معایب melonjs
- جامعه محدود
- امکانات کمتر نسبت به سایر تکنولوژی های معرفی شده
- مختص بازی های کژوال
- ضعیف در جلوه های بصری و گرافیکی
مهرسا امینی
برنامه نویس بازی و سایت
موفقیت یعنی رها کردن چیزهای خوب برای بدست آوردن چیزهای بهتر