انتخاب بهترین موتور بازی JavaScript برای پروژه خود میتواند سخت باشد. قبل از گرفتن تصمیم نهایی خود، چندین فاکتور وجود دارند که باید در نظر بگیرید. نه فقط گزینههای بزرگ مانند امکانات، محدودیتها و نیازمندیها، بلکه همچنین جزئیات کوچکتر مانند گزینههای خروجی قابل اجرا، ارتباطات آنلاین برای همکاری و پشتیبانی، و قالب بازیهای آماده که اغلب نادیده گرفته میشوند.
با توجه به این که این موتورها مربوط به زبان JavaScript میباشند، میتوانید نگاهی به دوره مربوطه بر روی راکت داشته باشید.
بیایید نگاهی به پنج موتور بازی JavaScript، و نحوه کار آنها برای پروژه بعدی شما داشته باشیم.
موتور بازی Phaser JS
یکی از موتورهای JavaScript معروف، یعنی Phaser، بر روی این تمرکز میکند که کدنویسان را قادر سازد تا بازیهای خود را به طور سریع بسازند. این سیستم در درجه اول با Canvas و WebGL کار میکند، و برنامهنویسان را قار میسازد تا به سادگی یک سری بازیهای اساسی برای دسکتاپ و موبایل بسازند. Phaser همچنین رایگان و متن باز بوده، و یک مدل اشتراک برای کسانی که میخواهند در توسعهدهی بیشتر آن شرکت کنند، به همراه دارد.
با جامعهای فعال که به طور منظم در انجمن، Stack و کانالهای Discord شرکت میکند، در صورت نیاز به کمک در Phaser به راحتی میتوانید آن را بیابید. و با این که گزینهای مربوط به انتشار بازی مورد نظر برای چندین دستگاه مختلف از طریق خود Phaser وجود ندارد، سورس کد HTML 5 و JavaScript آن شما را قادر میسازند تا از کتابخانههای جمعبندی موجود برای توسعهدهی خود استفاده کنید.
امکانات Phaser
یکی از بزرگترین منفعتهای این موتور، موتور پر امکانات آن است؛ به گونهای که به انجام فقط یک کار محدود نیست. در اینجا لیستی از برخی مجموعه امکانات فراهم شده توسط Phaser را مشاهده مینمایید:
- برر پایه WebGL و Canvas ساخته شده است.
- داراری سیستم پیش بارگذاری است.
- امکانات فیزیکی.
- مدیریت صحنات و انیمیشنها.
- سیستم ذرات.
- سیستمهای دوربین، ورودی و صدا.
- پشتیبانی از کاشیکاری.
- پشتیبانی از مقیاسبندی دستگاه.
- دسترسیپذیری پلاگینها.
شروع کار با موتور بازی Phaser JS
اگر فکر میکنید که Phaser برای پروژه شما مناسب خواهد بود، میتوانید این موتور را از وبسایت Phaser دانلود کنید.
پس از این که شروع به حرکت کردید، با بررسی یکی از بازیهای موجود بر روی CodeCanyon سعی کنید نگاهی به ظاهر یک بازی کامل داشته باشید. Birds of War یک بازی تیراندازی کامل است که سورس کد کامل و همچنین عملکردهایی برای موبایل را به همراه دارد. به طور مشابه، Tower Challenge بسیاری از امکانات مشابه را به اشتراک میگذارد، اما همچنین ادغامسازی API جداگانه و نحوه بکار گرفتن سیستم فیزیک Phaser را نیز به نمایش میگذارد.
موتور بازی Jaguar Adventure
اگر طرفدار بازیهای ماجراجویی، مانند بازیهای تولید شده توسط شرکتهای LocasArts یا Telltale هستید، پس این موتور برای شما ساخته شده است. مجموعه امکانات این موتور در اعماق آن قرار دارند و به شما برتری استفاده از یک موتور بازی JavaScript کلیتر و جامعتر را میدهد. اکثر امکانات Jaguar از طریق یک رابط کاربری گرافیکی در دسترس بوده، و یک منبع هم برای تغییراتی که شاید بخواهید اضافه کنید در آن وجود دارد.
Jaguar چه کاری میتواند انجام دهد؟
با این که Jaguar با امکانات موتور خود به جای خاصی نمیرسد، اما بخشهای مهمی از بازیهای ماجراجویی را برای شما فراهم میکند. مانند:
- کنترلهای سکانس.
- فعالیتهای اولیه و ثانویه.
- سیستمهای فهرست و صدا.
- شاخههای مکالمه.
اجرای Jaguar و کار با آن
آیا به نظر میرسد که Jaguar موتور مناسب برای شماست؟ برخی از قالبهای بازی شگفتانگیز موجود بر روی CodeCanyon را بررسی کنید که میتوانید در آنها نگاهی به امکانات موجود دیگر، داشته باشید.
مجموعه CreateJS
کتابخانه مجموعه JavaScript که در واقع به عنوان یک برند موتور بازی شناخته نمیشود، بر روی ساخت برنامههای تعاملی در یک دنیای HTML 5 تمرکز میکند. گرچه، بازیهای آن زیر چتر رسانه تعاملی قرار میگیرند، پس استفاده از CreateJS برای پروژههای خود، کاملا منطقی است. این کتابخانه با ترکیبی از EaselJS، TweenJS، SoundJS و PreloadJS، ابزار مورد نیاز شما برای ساخت بازی خود را فراهم میکند.
کتابخانههای CreateJS
هر کدام از این کتابخانههای موجود در این مجموعه، دسترسی به یک سری ابزار را شما میدهند و در اینجا برخی از کارهایی که میتوانند انجام دهند را مشاهده مینمایید:
- EaselJS تعامل و کار با عناصر HTML 5 Canvas را آسانتر میکند.
- TweenJS کتابخانهای از ابزار انیمیشن برای ویژگیهای HTML 5 و JavaScript است.
- SoundJS دسترسی به توابع آسان کردن کار با صدا را به شما میدهد.
- PreloadJS کنترل پیشرفته داراییها و بارگذاری دادهها را برای شما محقق میسازد.
اضافه کردن CreateJS به جریان کاری خود
اگر به دنبال مجموعهای کاربردی از کتابخانهها، بدون ساختار سفت و سختی که با اکثر موتورهای بازی میآید میگردید، به وبسایت CreateJS نگاهی داشته باشید.
برای شروع کار با CreateJS، نگاهی به بازی بریدن میوهها که Katana Fruits نام دارد، بر روی CodeCanyon داشته باشی. اگر به دنبال یک بازی پیشرفتهتر برای مطالعه هستید، نگاهی به بازی The Sorcerer که از Zuma الهام گرفته شده است، داشته باشید. این بازی یک شروع خوب برای شما فراهم خواهد کرد.
P2.js
اگر از پیش دانش خوبی درباره Canvas در HTML 5 دارید، یک چیز کمی سبکتر میتواند تمام چیزی باشد که نیاز دارید. P2.js یک کتابخانه فیزیک دو بعدی گسترده برای JavaScript است که میتواند بخشهای پیچیده توسعهدهی بازی را مدیریت کند.
امکانات کتابخانه P2.js
بزرگترین نکات مثبت درباره P2.js، از پیادهسازیهای فیزیک پیشرفته میآیند که توسعه دهندگان با آنها راحت نیستند. در اینجا برخی از کلاسها و عملکردهای در دسترس آن را مشاهده مینمایید:
- سیستمهای ذرات و اشعه.
- پشتیبانی انواع مختلف فنرها.
- کنترل کنندههای بدن سفت و سخت.
- پاسخ در قبال برخورد اشیاء با یکدیگر.
- پشتیبانی از استطکاک، نیرو، سرعت و جاذبه.
اضافه کردن P2.js به پروژه خود
آیا میخواهید فیزیکهای دو بعدی پیشرفته را در بازی خود به اجرا درآورید؟ شما میتوانید سورس کد مربوط به P2.js را از روی گیتهاب بردارید. چندین دموی مختلف در مخزن گیتهاب آن وجود دارند. یا اگر هم میخواهید این کتابخانه را در عمل ببینید، قالب بازی Lucky Wheel را بررسی کنید.
BabylonJS
Babylon که یک فریموورک کامل برای ساخت بازیهای سه بعدی در نظر گرفته میشود، یک انتخاب خوب برای 3D و واقعیت مجازی (VR) است. مجموعه امکانات Babylon با استفاده از WebGL برای گرافیک، بسیار گسترده است. این مجموعه هر چیزی که از یک موتور بازی JavaScript انتظار دارید را پوشش میدهد، اما همچنین امکانات بیشتری مانند مدیریت Mesh که اغلب در سیستمها به راحتی یافت نمیشوند را به همراه دارد.
با این که به نظر میرسد جامعه آن به یک انجمن محدود میباشد، اما به میزان خوبی فعال است و افرادی که سوالی دارند، پاسخ خود را دریافت میکنند.
عملکرد BabylonJS
امکانات Babylon به اندازهای هستند که بتوان یک مقاله کامل درباره آنها نوشت، پس در اینجا برخی از قابل ملاحظهترین موارد را مشاهده مینمایید:
- ابزار پشتیبانی و خروجی گیری برای Unity، Blender، Maya و 3DS Max.
- سیستمهای ذرات و انیمیشن.
- بهینهسازیهای کارایی مانند مقیاسپذیری سختافزار و کوئریهای انسداد.
- سیستمهای سایهگذاری، رندر کردن و texture.
- پشتیبانی Mesh گسترده.
کار با BabylonJS را از کجا شروع کنیم؟
اگر پروژه بازی سه بعدی شما نیاز به یک شتاب دارد، میتوانید نگاهی به سورس کد و سندنگاری BabylonJS بر روی وبسایت رسمی آن داشته باشید. افراد پشت آن، آموزشها و مثالهای مختلفی برای شروع کار به شما میدهند.
موتورهای بازی JavaScript مورد علاقه شما، کدام موارد هستند؟
ما درباره برخی بهترین فریموورکهای موجود برای بازیهای JavaScript نگاه داشتهایم، اما این لیست فاصله زیادی تا کامل بودن دارد. آیا شما هم یک موتور مورد علاقه دارید؟ آن را در بخش نظرات با ما به اشتراک بگذارید.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید