گادو (موتور بازی)
گودوت یک موتور بازیسازی دوبعدی و سهبعدی چند سکویی است که بهعنوان نرمافزار آزاد، تحت مجوز اِمآیتی منتشر شدهاست. پیش از انتشار عمومی، ابتدا برای چند شرکت در آمریکای لاتین توسعه داده میشد. گودوت روی سیستمعاملهای Windows ،macOS ،Gnu/Linux ،BSD و Haiku ۳۲ و ۶۴ بیت اجرا میشود و میتواند برای سکوهای کامپیوتر، موبایل و وب خروجی بدهد.
توسعهدهنده(ها) | توسعه داده شده به دست کاربر ها |
---|---|
انتشار پایدار | |
مخزن | |
نوشتهشده با | C++,C,Python |
سیستمعامل | ویرایشگر
|
حجم | 28MB Linux Version |
در دسترس به | انگلیسی |
گونه | موتور بازی سازی |
پروانه | مجوز MIT |
وبگاه |
بررسی کلی
موتور از اجرا در سیستمعاملهای مختلف پشتیبانی میکند و اجازه میدهد مشخصات فشردهسازی تکسچر و تنظیمات رزولوشن برای هر پلتفرم مشخص بشود. پلتفرمهایی که در حال حاضر پشتیبانی میشوند شامل Linux, macOS, Windows, FreeBSD, OpenBSD / DragonFly BSD, Android, iOS, BlackBerry 10 و HTML5 هستند. همچنین از Work-in-progress برای Windows Runtime نیز پشتیبانی میشود.
این موتور بازیسازی در ایران به چهار اسم گودوت[2][3]، گادو، گودو و گودات شناخته میشود که گودوت رایجترین اسمی است که در ایران استفاده میشود و تلفظ لفظی Godot به حساب میآید.
اسکریپت نویسی
بازیهای گودوت یا با سیپلاسپلاس، سیشارپ و زبانهایی با اتصالات GDNative مثل Rust, Nim و D یا با استفاده از زبان اسکریپتنویسی خود گودوت نوشته میشوند، جیدیاسکریپت، یک زبان برنامهنویسی راحت سطح بالا و داینامیک با شباهت بسیار به پایتون است. برعکس پایتون، جیدیاسکریپت ویژگی مشخص کردن نوع متغیرها را داراست و برای معماری مبتنی بر صحنه گودوت بهینه شده است. توسعهدهندههای گودوت گفتن که خیلی از زبانهای برنامه نویسی مشابه (پایتون Namely, Lua و Squirrel) قبل از تصمیم به استفاده از زبان سفارشیای که برای بهینهسازی و یکپارچگی ویرایشگر مناسبتر هست؛ مورد آزمایش قرار گرفتند.
ویرایشگر موتور شامل یک ویرایشگر اسکریپت با قابلیت Auto Indentation, Syntax Highlighting و تکمیل خودکار کد و یک دیباگر با امکان تنظیم Breakpoint ها و Program Stepping است.
به گفته کاربران گودوت، زبان برنامهنویسی GDscript در حال حاضر بهترین بازدهی را در این موتور بازیسازی دارد.
رندرینگ
موتور گرافیکی برای تمامی سیستم عامل های پشتیبانی شده از OpenGL ES ۳.۰ استفاده میکند. موتور از Transparency, Normal mapping, Specularity, سایه های داینامیک با استفاده از Shadow map ها و Post-processing تمام صفحه افکت هایی مانند FXAA ،Bloom ،DOF ،HDR، اصلاح گاما و Fog پشتیبانی میکند. گودوت همچنین از یک زبان شیدر ساده که شباهت زیادی به GLSL دارد پشتیبانی میکند. از شیدر ها میتوان برای متریال ها، Post-processing و همچین رندرینگ دو بعدی استفاده کرد. شیدر ها به قسمت های Vertex و Fragment تقسیم میشوند. همچنین امکان ایجاد شیدرها توسط مدیریت نودها در یک ویرایشگر دیداری وجود دارد.
همچنین یک موتور گرافیکی دو بعدی جداگانه وجود دارد که میتواند به طور مستقل از سه بعدی کار کند. نمونههایی از ویژگیهای موتور دو بعدی شامل نورها، سایهها، شیدرها، Tile set ها، Polygon ها، Parallax scrolling، انیمیشنها، فیزیک و Particle هست. همچنین امکان ترکیب دو بعدی و سه بعدی با استفاده از یک نود Viewport وجود دارد.
ویژگیهای دیگر
گودوت یک سیستم انیمیشن با رابط کاربری گرافیکی برای ویرایش انیمیشنهای اسکلتی، ترکیب کردن، درختهای انیمیشن، مورفینگ و کات سین های لحظه ای دارد. تقریباً هر متغیر تعریف شده یا به وجود آمده تو یک بازی میتواند متحرک باشد، موتور از Bullet برای شبیهسازی فیزیک سهبعدی استفاده میکند.
تاریخچه
توسعه گودوت به دست «خوان لینیتسکی و اریل منزور» تو سال ۱۳۸۶ شروع شد، لینیتسکی در یک ارائه گفت که اسم گودوت به دلیل ارتباط آن با بازی ساموئل بکت در «در انتظار گودو» انتخاب شده است؛ چون نشان دهنده آرزوی تمام نشدنی اضافه کردن ویژگیهای جدید به موتور است برای رسیدن به یک محصول کامل؛ اما کامل و بی نقص شدن امکان ندارد.
بهمن ۱۳۹۲، کد منبع گودوت در گیت هاب تحت مجوز MIT برای عموم منتشر شد.
۲۴ آذر ۱۳۹۳، گودوت به نسخه ۱.۰ رسید، اولین نسخه پایدار ثبت و پشتیبانی از Lightmapping ،Navmesh و شیدر اضافه شد.
۳۱ اردیبهشت ۱۳۹۴ نسخه ۱.۱ جایگزین شد و اون هم با اضافه شدن «بهبود تکمیل خودکار تو ویرایشگر کد، ویرایشگر دیداری شیدر، یک API جدید برای سیستم عامل برای مدیریت صفحات و پنجره، باز نویسی موتور دو بعدی، پشتیبانی جدید از Navigation polygon دو بعدی و یک پوسته تاریک جدید». موتور جدید دو بعدی شامل شیدر ها، متریال ها، ترتیب بندی محور Z برای هر نود به طور مستقل ، نور ها، سایه ها با Polygonal Occluders، Normal mapping و پشتیبانی از فونت Distance-field است.
۱۳ آبان ۱۳۹۴، گودوت به حفاظت از آزادی نرمافزار پیوست.
گودوت ۲.۰ در ۴ اسفند ۱۳۹۴ به نسخه پایدار رسید. ویژگی های جدید شامل Instancing و Inheritance بهتر صحنه، یک مرورگر فایل سیستم جدید، ویرایش چندگانه صحنه و یک دیباگر پیشرفته هستن. به دنبال همین بود که تو مرداد ۱۳۹۵ نسخه ۲.۱، یک پایگاه داده منبع، پروفایلر و API پلاگین رو معرفی کرد.
۲ تیر ۱۳۹۵، گودوت جایزه ۲۰ هزار دلاری Mission Partners که توسط Mozilla Open Source Support برگزار میشه رو گرفت تا برای اضافه کردن پشتیبانی از Web Socket ها، WebAssembly و WebGL 2.0 استفاده کند.
نسخه ۳.۰، ۹ بهمن ۱۳۹۶ منتشر و «رندرینگ سه بعدی بهبود یافته، سازگاری با واقعیت مجازی و پشتیبانی از سی شارپ (به وسیله مونو)» اضافه شد. همچنین موتور فیزیک قبلی یعنی Built-in 3D با موتور فیزیک Bullet جایگزین شد.
کاربرد در بازیها و آموزش
اکثر بازیهای استودیوی OKAM با استفاده از گودوت ساخته شدهاند؛ مثل The Interactive Adventures of Dog Mendonça & Pizzaboy که از افزونه Escoria adventure game استفاده میکند. علاوه بر این در برنامه درسی دبیرستانهای غرب ویرجینیا، به دلیل راحتی استفاده از آن برای کسانی که برنامهنویس نیستند و میگویند: «الآن مقدار زیادی از چیزهای لازم برای یادگیری نرمافزار وجود دارد» استفاده میشود.
گودوت در ایران
انجمن «گودوت ایران» در سال ۱۳۹۸ توسط تحسین رفیعی تاسیس شد و اکنون بیش از ۳۰۰ عضو دارد.[2][4] همچنین انجمن گودوت در ایران اواخر مهر ماه ۱۳۹۹ با حمایت دِد مِیج دومین مسابقه فشرده خود را با چند جایزه برگزار کرد.
منابع
- ویکیپدیا انگلیسی موتور بازی سازی گودوت
- "MAINTENANCE RELEASE: GODOT 3.1.1". Retrieved 27 April 2019.
- Rafiey، Tahsin. «Tahsin Rafiey - Godot Iran». TahsinRafiey.org (به en
fa). دریافتشده در ۲۰۲۱-۰۴-۲۸. کاراکتر line feed character در
|کد زبان=
در موقعیت 3 (کمک); بیش از یک پارامتر|نویسنده=
و|نام خانوادگی=
دادهشده است (کمک) - «معرفی موتور بازی سازی گودوت (Godot)». بازیاتو. ۲۰۱۹-۰۴-۲۵. دریافتشده در ۲۰۲۰-۱۱-۰۸.
- Engine, Godot. "Godot Engine - User Groups". Godot Engine. Retrieved 2021-04-28.
!----!