آشنایی با برترین پلتفرم‌های اپن‌سورس توسعه‌ٔ گیم

آشنایی با برترین پلتفرم‌های اپن‌سورس توسعه‌ٔ گیم

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

به طور کلی، پلتفرم‌های اپن‌سورس برای گیمینگ مزایای بسیاری را شامل می‌شوند که از مهم‌ترین آنها می‌توان به موارد زیر اشاره کرد:
- نرم‌افزاری باکیفیت‌تر و با قابلیت کاستومایز شدن بیشتر: وقتی سورس‌کد پلتفرم‌های گیمینگ اپن‌سورس در دسترس باشد، دولوپرهای حرفه‌ای می‌توانند قابلیت‌های نرم‌افزار را سفارشی‌سازی کرده و بر اساس نیاز و الزام خود، پلاگین‌های مختلفی را اضافه کنند که این هم به نوبه‌ٔ خود به سود کمپانی‌های توسعه‌دهندهٔ بازی است.

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

- بهای پایین‌تر سخت‌افزار: پلتفرم‌های گیمینگ اپن‌سورس در لینوکس، نسبت به ویندوز بهای سخت‌افزاری کمتری را در بردارند. با داشتن مزایایی همچون دیپلوی آسان‌تر و قابلیت فشرده‌سازی بالا، لیونکس به پیکربندی سخت‌افزاری خیلی سنگینی احتیاج ندارد و بنابراین هزینه‌های توسعهٔ گیم پایین‌تر بوده و حتی می‌توان از سیستم‌های سخت‌افزاری قدیمی نیز برای دولوپ گیم استفاده کرد.

حال در ادامه، نگاهی به پلتفرم‌های اپن‌سورس توسعهٔ گیمینگ برتر عرضه شده به بازار بیندازیم:

GDevelop
این پروژه‌ای کراس‌پلتفرم و اپن‌سورس ایجاد بازی است که برای مبتدیان طراحی شده است چرا که هیچ نیازی به مهارت کدنویسی ندارد. GDevelop یک پلتفرم عالی برای توسعهٔ بازی‌های دوبعدی و سه‌بعدی می‌باشد و از چند ویرایشگر تشکیل شده که به دولوپر امکان ساخت و طراحی بازی مورد نظرش را می‌دهند. لیست این ویرایشگرها به شرح زیر می‌باشد:

- Project Manager (مدیریت پروژه): این گزینه، بازی‌های باز را در ویرایشگر به نمایش در می‌آورد و به دولوپرها اجازه می‌دهد تا صحنه‌های بازی را تنظیم و سازمان‌دهی کنند. کاربران می‌توانند یک صحنه را انتخاب کرده و پارامترهایی همچون عنوان، رنگ پس‌زمینه، متن و غیره را در آن تغییر داده و اصلاح کنند. این گزینه همچنین امکان دسترسی به گزینهٔ دیگری به نام Image Bank Editor را فراهم می‌آورد که به کاربران اجازهٔ انتخاب اکستنشن‌هایی که می‌خواهند در بازی استفاده شوند را می‌دهد.

- Image Bank Editor (ویرایشگر بانک عکس): این گزینه به کاربر اجازه می‌دهد که همه نوع عکسی را از طریق آبجکت‌ها مدیریت کند.

- Scene Editor ( ویرایشگر صحنه): این گزینه برای کاربر امکان طراحی صحنه و تعیین محل آبجکت‌ها را فراهم می‌آورد.

- Object Editor ( ویرایشگر شیٔ): این گزینه امکان ایجاد آبجکت‌ها و متنی که مایل به نمایش هستیم را فراهم می‌کند.

- Layer Editor (ویرایشگر لایه): این گزینه به کاربر امکان مدیریت رابطی که قرار است بی‌حرکت باشد را در حین اینکه امکان حرکت و زوم دوربین در بقیهٔ بازی را فراهم می‌کند، می‌دهد.

- Event Editor (ویرایشگر رویداد): این گزینه به کاربر اجازه می‌دهد تا بسته به شرایط و اعمالی که روی اشیاء صحنه صورت می‌گیرد، صحنه را به حرکت درآورد (این رویدادها توسط GDevelop به زبان ماشین کامپایل شده‌اند،؛ به عبارت دیگر، از مکانیسم ساده‌ای برخوردار بوده و شبیه به کدنویسی به زبان ++C می‌باشد).

Godot Engine
Godot Engine یک موتور توسعهٔ بازی کراس‌پلتفرم بسیار قدرتمند است که توسعهٔ بازی دوبعدی و سه‌بعدی از طریق یک رابط کاربری یکپارچه را ساپورت می‌کند. این پلتفرم همچنین از لینوکس، ویندوز، مک و ... پشتیبانی می‌کند. Godot Engine طیف گسترده‌ای از ابزار و امکانات را برای دولوپرها فراهم آورده به طوری که دیگر هیچ نیازی به استفاده از ابزارهای خارج از این پلتفرم نخواهد بود.

بازی‌هایی که توسط Godot ایجاد شده‌اند یا به زبان ++C نوشته شده‌اند یا به زبان برنامه‌نویسی کاستومایز شدهٔ GDSCript، که یک زبان سطح بالای دینامیک با شباهت‌های بسیار به پایتون می‌باشد و باید گفت که GDSCript به خوبی برای Godot Engine کاستومایز و بهینه‌سازی شده‌ است.   

Godot دارای یک ویرایشگر متن قدرتمند است که به دولوپرها قابلیت‌های متنوعی همچون هایلایتینگ سینتکس و حتی تکمیل کد ارائه می‌دهد. این پلتفرم همچنین یک دیباگر برای مشخص کردن نقاط توقف برای بررسی روند پیش‌روی گیم دارا است.

Godot از موتور گرافیکی OpenGL ES2.0 بهره برده که ویژگی‌های زیادی همچون شفافیت، سایه‌های دینامیک با استفاده از سایه، افکت‌هایی همچون FXAA ،BLOOM ،DOF ،HDR و ... را دارا است.

Cocos2d-x
Cocos2d-x یک پلتفرم توسعهٔ بازی اپن‌سورس تحت لیسانس MIT است. این پلتفرم به دولوپرها اجازهٔ ساخت بازی، اپلیکیشن و برنامه‌های تعاملی مختلفی را می‌دهد. این پلتفرم دولوپرها را قادر می‌سازد تا از زبان‌های C++ ،Lua و JavaScript برای دیپلوی کراس‌پلتفرم بر روی آی‌او‌اس، اندروید، ویندوزفون، مک، ویندوز و لینوکس بهره ببرند.

موتور رندر COCOS2d-x کاملاً برای گرافیک‌های دوبعدی با پشتیبانی از OpenGL بهینه‌سازی شده‌ است. این پلتفرم با ده‌ها ویژگی مانند انیمیشن اسکلتی، سیستم‌های مختصاتی، جلوه‌های بصری، تکسچر، دستگاه‌های چند رزولوشنی و غیره ارائه شده است.

Delta Engine
Delta Engine یک موتور توسعهٔ بازی دوبعدی و سه‌بعدی اپن‌سورس است که اپلیکیشن‌ها و بازی‌های تحت این پلتفرم را می‌توان به راحتی توسط Visual studio یا Delta Engine Editor  توسعه داد. Delta Engine از زبان‌ها و فریمورک‌های مختلفی همچون C#OpenGL ،C#OpenTK ،C#GLFW ،C#XNA ،C#sharpDX ،C#SlimDX ،C#MonoGame LinuxOpenGL ،MacOpenGL و WebGL پشتیبانی می‌کند. Delta Engine همچنین پلتفرم‌های مختلفی چون ویندوز، مک، لینوکس، اندروید و اندروید تی‌وی را ساپورت می‌کند.

Starling
Starling یک فریمورک توسعهٔ بازی دوبعدی اپن‌سورس است که از پلتفرم‌های دسکتاپی و موبایلی پشتیبانی می‌کند. این فریمورک یک لایبرری Action Script 3 است که بسیار شبیه به معماری سنتی Flash می‌باشد. Starling یک فریمورک بسیار جمع و جور بوده که در عین حال پکیج‌ها و کلاس‌های مختلفی ارائه می‌کند.  

Panda 3D
Panda 3D یک فریمورک اپن‌سورس برای رندر و دولوپ بازی‌های دوبعدی با استفاده از زبان‌های ++C و Python می‌باشد. کل موتور بازی به زبان ++C نوشته‌ شده و عملکرد کامل و قابل‌قبولی را در رابط پایتون به اجرا می‌گذارد. این فریمورک همچنین از OpenGL و Direct X هم پشتیبانی می‌کند. Panda 3D شامل ابزارهای مختلفی همچون جست‌و‌جو، نظارت بر عملکرد بازی، بهبوددهنده‌های انیمیشن و خیلی چیزهای دیگر می‌شود.

Superpowers
Superpowers یک پلتفرم توسعهٔ اپن‌سورس قدرتمند است که به دولوپرها اجازهٔ توسعهٔ بازی‌های کاملاً سفارشی‌سازی شدهٔ دوبعدی و سه‌بعدی که کاملاً هم منعطف هستند را می‌دهد. این یک ابزار توسعهٔ کراس‌پلتفرم است که از سیستم عامل‌های ویندوز، لینوکس و مک پشتیبانی می‌کند. این فریمورک از TypeScript به منظور نوشتن منطق بازی و هایلایت سینتکس استفاده می‌کند که اینها هم به نوبهٔ خود موجب ساده‌سازی امر توسعه می‌شوند.

Mono Game
Mono Game یک نرم‌افزار آزاد قدرتمند است که دولوپرهای ویندوزی و گیمرهای ویندوزفونی، هر دو از آن برای اجرای نرم‌افزار روی سیستم‌های مختلف بهره می‌برند. این یک ابزار توسعهٔ بازی کراس‌پلتفرم است که از Linux ،OS X ،Android ،PlayStation Mobile ،Nintendo Switch و غیره پشتیبانی می‌کند.

Mono game اساساً اجرا و پیاده‌سازی اپن‌سورس فریمورک Microsoft XNA4 می‌باشد و هدف اصلی آن شعار «یک بار بنویس، همه جا بازی کن» است. موارد زیر تکنولوژی‌هایی هستند که در توسعهٔ این پلتفرم به کار گرفته شده‌اند:
- OpenTK: یک لایبرری سطح پایین #C است که برای گرافیک‌های سه‌بعدی، Open GL ،OpenCL و Open AL را ترکیب می‌کند.

- SharpDX: پیاده‌سازی اپن‌سورس Directx ApI برای NET. است که همچنین از عملکرد بالای بازی‌های دوبعدی و سه‌بعدی و صدای در لحظه (Real-time) پشتیبانی می‌کند.

- Lidgren.Network: یک نتورک لایبرری برای فریمورک NET. است که از سوکت UDP، هم به منظور ارائهٔ  API برای اتصال به کلاینت و سرور و هم به منظور ارسال و خواندن پیام‌ها استفاده می‌کند.

به غیر این پروژه‌های اپن‌سورس گیمینگ فوق، چه ابزارهای کاربردی دیگری می‌شناسید که علاقمندان به نرم‌افزار آزاد و اپن‌سورس می‌توانند از آنها برای بازی‌سازی استفاده کنند؟ نظرات و دیدگاه‌های خود را با ما و سایر کاربران سکان آکادمی به اشتراک بگذارید. 

منبع


نهال سهیلی‌فر