موضوع مقاله: گودو (موتور بازی) | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # گودو (موتور بازی) | مقدمه: گودو (; ) که به گودوت نیز مشهور است، یک موتور بازی چندبستری، آزاد و متن‌باز می‌باشد که تحت پروانه ام‌آی‌تی منتشر شده‌است. | ## بخش 1: گودو (موتور بازی) | گودو در ابتدا توسط توسعه‌دهندگان نرم‌افزار آرژانتینی، خوان لینیتسکی و آریل منزور برای چندین شرکت در آمریکای لاتین پیش از انتشار عمومی آن در سال ۲۰۱۴، توسعه داده شد. محیط توسعهٔ این موتور بازی‌سازی برروی بسیاری از سیستم‌عامل‌ها قابل اجرا بوده و می‌تواند به چندین بستر دیگر خروجی بگیرد. گودو برای ایجاد بازی‌های ۲بعدی و ۳بعدی طراحی شده‌است که هدف آنها بسترهای رایانهٔ شخصی، تلفن همراه و وب می‌باشد، همچنین گودو می‌تواند برای توسعهٔ نرم‌افزارهای غیربازی از جمله ویرایشگرها نیز استفاده شود. ویژگی‌ها گودو به توسعه‌دهندگان بازی‌های ویدئویی اجازه می‌دهد تا بازی‌های سه‌بعدی و دوبعدی را با استفاده از چندین زبان برنامه‌نویسی مانند سی‌شارپ، سی‌پلاس‌پلاس و جی‌دی‌اسکریپت ایجاد کنند. گودو برای آسان‌سازی تجربه توسعه، از سلسله مراتبی شامل گره‌ها (Node) استفاده می‌کند. کلاس‌ها (Class) می‌توانند از گره‌ای پایه گرفته شوند تا نوع گره‌های تخصصی‌تری ایجاد کنند که ویژگی‌ها و رفتارهای گره پایه را به ارث می‌برند. گره‌ها در داخل «صحنه‌ها» (Scene) سازمان‌دهی می‌شوند که قابل استفاده مجدد، قابل نمونه، ارثی و گروه‌های تودرتو از گره‌ها هستند. این راه حل ذخیره‌سازی برای تسهیل همکاری بین تیم‌های توسعه بازی با استفاده از سیستم‌های کنترل نسخه نرم‌افزار در نظر گرفته شده‌است. پلتفرم‌های پشتیبانی شده این موتور از استقرار در چندین پلتفرم پشتیبانی می‌کند و اجازه می‌دهد تا تنظیمات فشرده‌سازی بافت و وضوح را برای هر پلتفرم مشخص کنید. نسخهٔ وبگاه تنها برای پلتفرم‌های ویرایشگر فایل‌های باینری ارائه می‌دهد و خروجی گرفتن از پروژه‌ها به پلتفرم‌های دیگر، در ویرایشگر گودو انجام می‌شود. ویرایشگر گودو که برای ساخت بازی‌های گودو استفاده می‌شود، از پلتفرم‌های زیر پشتیبانی می‌کند: پلتفرم‌های دسکتاپ لینوکس، مک‌اواس، ویندوز، اندروید و وب و توزیع در وب‌سایت‌های استیم و ایتچ. گودو از خروجی‌گیری پروژه‌ها به پلتفرم‌های بیشتر، از جمله همه پلتفرم‌های ویرایشگر پشتیبانی می‌کند. پلتفرم‌هایی که در حال حاضر از گودو ۴٫۰ پشتیبانی می‌شوند: پلتفرم‌های موبایل اندروید، آی‌اواس پلتفرم‌های کنسول پلی‌استیشن ۴، پلی‌استیشن ۵، اکس‌باکس وان، اکس‌باکس سری اکس/اس، نینتندو سوئیچ پلتفرم‌های دسکتاپ لینوکس، مک‌اواس، مایکروسافت ویندوز (یونیورسال ویندوز پلتفرم)، بی‌اس‌دی (باید به‌صورت دستی کامپایل شود) پلتفرم‌های وب اچ‌تی‌ام‌ال۵, وب‌اسمبلی. پلتفرم‌های واقعیت مجازی/توسعه یافته (Extended) اچ‌تی‌سی وایو، والو ایندکس، آکیولوس ریفت، آکیولوس گو، آکیولوس کوئست، همه هدست‌های ام‌آر مایکروسافت، ای‌آرکیت اپل و بسیاری دیگر. موتور گودو را می‌توان برروی کنسول‌ها اجرا کرد، اما بیشتر کنسول‌های پرطرفدار به‌طور رسمی از آن پشتیبانی نمی‌کنند، زیرا آنها اجازه نمی‌دهند که کدهای خاص پلتفرم‌شان تحت مجوز منبع‌باز منتشر شود. یک شرکت تجاری که توسط برخی اعضای رهبری گودو تأسیس شده، اعلام کرده‌است تا طرح‌هایی برای خدمات پورت کردن بازی‌های گودو ۴٫۰ به پلتفرم‌های مایکروسافت، نینتندو و سونی ارائه دهد. برای معماری‌های سی‌پی‌یو، گودو به‌طور رسمی از x86 در تمام پلتفرم‌های دسکتاپ (۳۲ بیتی و ۶۴ بیتی در صورت وجود) و از ای‌آرام در مک‌اواس، پلتفرم‌های موبایل و پلتفرم‌های مستقل آکیولوس (۳۲ بیت و ۶۴ بیت در صورت وجود) به‌طور رسمی پشتیبانی می‌کند. اسکریپت‌نویسی گودو از انواع زبان‌های برنامه‌نویسی از جمله زبان یکپارچه جی‌دی‌اسکریپت (GDscript)، C++ و C# برای ساخت بازی پشتیبانی می‌کند. افزون بر این، گودو شامل یک آسان‌ساز برای ایجاد پیوند با زبان‌های دیگر به‌نام جی‌دی‌نِیتیو (GDNative) می‌باشد. زبان‌های پشتیبانی شده توسط جامعه عبارتند از راست، نیم، هسکل، کلوژر، سوئیفت، و دی. همچنین برنامه‌نویسی دیداری نیز از طریق زبان داخلی ویژوال‌اسکریپت پشتیبانی می‌شد که برای معادل دیداری جی‌دی‌اسکریپت طراحی شده بود. بازی‌هایی که در مرورگر اجرا می‌شوند می‌توانند با کد جاوا اسکریپت مرورگر ارتباط برقرار کنند. | ## بخش 2: گودو (موتور بازی) | جی‌دی‌اسکریپت یک زبان برنامه‌نویسی سطح بالا و نوع پویا است که از دیدگاه نحوی همانند پایتون می‌باشد. برخلاف پایتون، جی‌دی‌اسکریپت برای معماری مبتنی بر صحنهٔ گودو بهینه شده‌است و می‌تواند تایپ دقیق متغیرها را مشخص کند. توسعه‌دهندگان گودو بیان کرده‌اند که بسیاری از زبان‌های برنامه‌نویسی شخص ثالث جایگزین مانند لوآ، پایتون و اسکوئیرل، پیش از تصمیم‌گیری در مورد این‌که استفاده از یک زبان سفارشی امکان بهینه‌سازی و ادغام ویرایشگر برتر را فراهم می‌کند، آزمایش شدند. این ویژگی به کاربران این امکان را می‌دهد که بدون ایجاد تغییر زیادی در کد، به راحتی یک آرایهٔ معمولی را به ماشینی و بالعکس تغییر دهند. وولکان در گودو ۴ و نسخه‌های پس از آن پشتیبانی شده و موجود است، همچنین امکان پشتیبانی از متال با استفاده از مالتن‌وی‌کی نیز امکان‌پذیر می‌باشد. گودو همچنین دارای یک موتور گرافیکی دوبعدی جداگانه است که می‌تواند مستقل از موتور سه‌بعدی کار کند، اما هردوی آنها می‌توانند در یک صفحه و در یک زمان استفاده شوند، به‌طوری که ترکیب‌های پیچیده‌ای میان دوبعدی و سه‌بعدی ایجاد شود. تقریباً هر متغیری که برروی یک موجودیت بازی تعریف یا ایجاد می‌شود، می‌تواند متحرک شود. پیش از متن‌باز شدن موتور، خوان و آریل شرکت کدنیکس (Codenix) را تأسیس کردند، یک شرکت مشاوره توسعه بازی که از طریق آن مجوز گودو را به شرکت‌های شخص ثالث در آرژانتین دادند. لینیتسکی در یک ارائه گفت که نام «گودو»، به دلیل ارتباط آن با بازی ساموئل بکت در در انتظار گودو انتخاب شده‌است؛ زیرا نشان‌دهنده آرزوی تمام نشدنی افزودن ویژگی‌های جدید به موتور برای رسیدن به یک محصول کامل است؛ اما کامل و بی‌نقص شدن ممکن نیست. دوران متن‌باز (اکنون–۲۰۱۴) فوریهٔ ۲۰۱۴–بهمن ۱۳۹۲، کد منبع گودو در گیت هاب با مجوز ام‌آی‌تی برای عموم منتشر شد. در ۲۲ ژوئن ۲۰۱۶، گودو جایزه ۲۰٬۰۰۰ دلاری پشتیبانی منبع باز موزیلا (ام‌اواس‌اس) «شریک‌های مأموریت» را دریافت کرد تا از آن برای افزودن وب‌سوکت‌ها، وب‌اسمبلی و وب‌جی‌ال ۲٫۰ استفاده شود. بعداً، با حمایت میگل ایکازا در سال ۲۰۱۷، گودو ۲۴۰۰۰ دلار کمک مالی از مایکروسافت دریافت کرد تا سی‌شارپ را به عنوان یک زبان برنامه‌نویسی در گودو پیاده‌سازی کند. در ۲۰۲۰، گودو جایزه ۲۵۰۰۰۰ دلاری اپیک گیمز را برای بهبود رندر گرافیکی و زبان ساخت بازی داخلی موتور، جی‌دی‌اسکریپت دریافت کرد. در ۸ ژوئیه ۲۰۲۰، خوان لینیتسکی اشاره کرد که جایزه اپیک گیمز برای استخدام دائمی خود و جورج (مارکز) به مدت ۲ سال به منظور رایگان کردن کمک‌های مالی برای اهداف جدید استفاده می‌شود. بعداً، در دسامبر ۲۰۲۱، گودو کمک مالی دیگری از آزمایشگاه‌های واقعیت متا برای کار برروی واقعیت افزوده دریافت کرد. در ۱۰ فوریه ۲۰۲۱، گودو کمک مالی ۱۲۰۰۰۰ دلاری از استودیوی بازیسازی روسی کِفیر (Kefir) دریافت کرد. در ۱۱ نوامبر ۲۰۲۱، گودو کمک مالی ۱۰۰۰۰۰ دلاری از اوپی‌گیمز مستقر در کالیفرنیا دریافت کرد. در اوت ۲۰۲۲، لینیتسکی و چندین عضو برجسته دیگر از تیم گودو، W4 Games را برای ارائه خدمات تجاری مبتنی بر موتور از جمله پورت‌های کنسول که نمی‌توانند در پایگاه کد منبع‌باز آن گنجانده شوند، تأسیس کردند. از نوامبر ۲۰۲۲، گودو در حال خروج از حفاظت از آزادی نرم‌افزار (اس‌اف‌سی) برای تشکیل بنیاد اختصاصی خود می‌باشد. تاریخچه نسخه‌ها دسامبر ۲۰۱۴–۲۴ آذر ۱۳۹۳، گودو به نسخه ۱٫۰ رسید، نخستین نسخهٔ پایدار ثبت و پشتیبانی از لایت‌مَپینگ، ناومِش و سایه‌زن افزوده شد. ۲۱ مهٔ ۲۰۱۵–۳۱ اردیبهشت ۱۳۹۴ نسخهٔ ۱٫۱ با اضافه شدن «بهبود تکمیل خودکار در ویرایشگر کد، ویرایشگر دیداری شیدر، یک ای‌پی‌آی جدید برای سیستم عامل برای مدیریت صفحات و پنجره، بازنویسی موتور دوبعدی، و تقویت بسیار خروجی‌گیر بلندر کولادا، پشتیبانی جدید از ناویگِیشن پولیگان دوبعدی و یک پوسته تاریک جدید منتشر شد. به دنبال این در مرداد ۱۳۹۵ نسخه ۲٫۱، یک پایگاه داده منبع، پروفایلر و ای‌پی‌آی پلاگین را معرفی کرد. | ## بخش 3: گودو (موتور بازی) | گودو ۳ نسخهٔ ۳٫۰، در ۲۹ ژانویهٔ ۲۰۱۸–۹ بهمن ۱۳۹۶ منتشر و «رندرینگ سه بعدی بهبود یافته، سازگاری با واقعیت مجازی و پشتیبانی از سی‌شارپ (به وسیله مونو)» اضافه شد. گودو ۳٫۱ در ۱۳ مارس ۲۰۱۹ با ویژگی‌های قابل توجهی مانند اضافه شدن تایپد ثابت، یک سیستم کلاس اسکریپت برای جی‌دی‌اسکریپت و یک رندر اوپن‌جی‌ال ئی‌اس ۲٫۰ منتشر شد. گودو ۳٫۲ در ۲۹ ژانویه ۲۰۲۰ همراه با ویژگی‌های قابل توجهی مانند بهبود اسناد گسترده، پشتیبانی بسیار بهبود یافته از سی‌شارپ و پشتیبانی از فایل‌های جی‌ال‌تی‌اف ۲٫۰ منتشر شد. توسعه‌دهنده اصلی، خوان لینیتسکی، بیشتر وقت خود را در گیت هاب صرف کار برروی یک برَنچ (branch) جداگانهٔ وولکان کرد که بعداً برای نسخه ۴٫۰ به مَستِر (Master) ادغام شد، بنابراین کار برروی نسخهٔ ۳٫۲ بیشتر توسط سایر مشارکت کنندگان انجام شد. کار برروی ۳٫۲ به عنوان یک نسخهٔ پشتیبانی طولانی مدت یک سال ادامه یافت، از جمله انتشار گودو ۳٫۲٫۲ در ۲۶ ژوئن ۲۰۲۰. این نسخه وصلهٔ بزرگی بود که ویژگی‌هایی مانند دسته‌بندی اوپن‌جی‌ال ئی‌اس ۲٫۰ و پشتیبانی از سی‌شارپ برای آی‌اواس را اضافه کرد. در ۱۷ مارس ۲۰۲۱، استراتژی نسخه‌سازی تغییر کرد، همراه با یک برنچ پایدار ۳٫۳ و یک برنچ ۳٫x برای پیش‌انتقال ویژگی‌ها به نسخه ۳٫۴ در آینده تا نسخه‌سازی معنایی بهتر را منعکس کند، گودو ۳٫۳ در ۲۱ آوریل ۲۰۲۱ با ویژگی‌هایی مانند پشتیبانی از ARM در مک‌اواس، باندل‌های اپلیکیشن اندروید، پشتیبانی از MP3، پشتیبانی از اُتودِسک اف‌بی‌اکس، پشتیبانی از وب‌اکس‌آر (WebXR) و یک ویرایشگر وب منتشر شد. گودو ۳٫۴ در ۶ نوامبر ۲۰۲۱، پس از ۶ ماه توسعه، پیاده‌سازی ویژگی‌های ناموجود یا رفع اشکال‌هایی که برای انتشار بازی‌های دوبعدی و سه‌بعدی با گودو ۳ می‌توانند خطرناک باشند و تقویت و قابل اعتمادسازی ویژگی‌های فعلی منتشر شد. این نسخه، یک به‌روزرسانی بزرگ است که سیستم رندر را بازنگری می‌کند، پشتیبانی از ای‌پی‌آی گرافیکی وولکان را اضافه می‌کند، عملکرد و قابلیت استفاده جی‌دی‌اسکریپت را بهبود می‌بخشد، سیستم‌های فیزیک و انیمیشن را بهبود می‌بخشد و ویژگی‌های جدیدی از آنها را معرفی می‌کند؛ به همراه بسیاری از ویژگی‌های دیگر و رفع اشکال. توسعه گودو ۴ در سال ۲۰۱۹ با بازنویسی رندر وولکان توسط خوان لینیتسکی، توسعه دهنده اصلی گودو آغاز شد. در سال ۲۰۲۰، چندین مشارکت‌کننده به تیم توسعه ملحق شدند و روی جنبه‌های مختلف گودو ۴ مانند بهبودهای جی‌دی‌اسکریپت، تعمیرات اساسی موتور فیزیک، بازنویسی سیستم انیمیشن، بهبود قابلیت استفاده ویرایشگر و موارد دیگر کار کردند. برخی از ویژگی‌های تازه، مانند روشنایی جهانی مبتنی بر SDF، پارتیکل‌های مبتنی بر جی‌پی‌یو، سایه‌های نرم پویا معرفی شدند. همچنین پشتیبانی از وب‌اکس‌آر (واقعیت مجازی در وب)، پشتیبانی از سی‌شارپ برای اندروید و آی‌اواس، ویژگی‌های صوتی جدید و موارد دیگر را اضافه کرد. در ۱ مارس ۲۰۲۳، گودو ۴ پس از چندین نسخه بتا و رفع اشکال، رسماً به عنوان یک نسخه پایدار منتشر شد. این نسخه پایدار با بهبود کیفیت گرافیکی، تکنیک‌های بهینه‌سازی رندر، ویژگی‌های دسترسی و موارد دیگر همراه بود. پس از آن، گودو ۴٫۱ در سال ۲۰۲۳ منتشر شد و ویژگی آزمایشی صحنه چند رشته‌ای، بهبودهای ویرایشگر و بهبودهای سی‌شارپ را اضافه کرد. + تاریخچهٔ انتشار موتور گودو نسخه تاریخ انتشار توضیحاتآخرین وصلهٔ (patch) منتشرشده دسامبر ۲۰۱۴ نخستین انتشار پایدار ۱٫۰ مهٔ ۲۰۱۵ تکمیل خودکار بهبود یافته در ویرایشگر کد، ویرایشگر دیداری شِیدِر، موتور دو بعدی بازنویسی شده و پشتیبانی از چند ضلعی ناوبری دوبعدی جدید افزوده شد. ۳٫۰٫۶ مارس ۲۰۱۹ افزودن شدن استاتیک تایپد جی‌دی‌اسکریپت، یک سیستم کلاس اسکریپت برای جی‌دی‌اسکریپت و یک رندرکنندهٔ OpenGL ES ۲٫۰. ۳٫۴٫۵ اوت ۲۰۲۲ افزوده شدن پشتیبانی از ویرایشگر در اندروید، کامپایل شیدر ناهمزمان، درون یابی فیزیک، پوشش مواد و بهبود سیستم ناوبری. روشنایی جهانی مبتنی بر SDF را همراه با چندین تغییر ویرایشگر و بهینه‌سازی عملکرد معرفی می‌کند. افزون بر این، در برنامه درسی دبیرستان‌های ویرجینیای غربی، در پی سادگی استفاده از آن برای کسانی که برنامه‌نویس نیستند به این عنوان تعریف می‌شود: «انبوهی از مواد آموزشی که از پیش برای نرم‌افزار موجود است». جامعه گودو به عنوان یک پروژهٔ بین‌المللی دارای یک جامعهٔ فعال در سراسر جهان است. | ## جمع‌بندی | همچنین انجمن گودو در ایران اواخر مهر ماه ۱۳۹۹ با حمایت دِد مِیج دومین مسابقه فشرده خود را با چند جایزه برگزار کرد.