ساخت یک شوتر فضایی به سبک Asteroids در Godot 4
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- ساخت یک بازی کامل به سبک Asteroids در Godot، از یک پروژه خالی تا اکسپورت قابل بازی
- استفاده از سیستم صحنه و نودهای Godot برای ساختاردهی یک بازی 2D کوچک اما واقعی
- نوشتن منطق اصلی گیمپلی در GDاسکریپت، از جمله حرکت، شلیک، برخوردها و امتیازدهی
- کار با نودهای فیزیک 2D و Areaها برای مدیریت spawn شدن سیارکها، برخوردها و مرگ بازیکن
- ساخت عناصر ساده و خوانای رابط کاربری بازی مانند امتیاز، جانها و صفحههای شروع مجدد
- سازماندهی یک پروژه Godot بهگونهای که داراییها، اسکریپتها و صحنهها مرتب و نگهداری آنها آسان باشد
- استفاده از سیگنالها برای جدا کردن سیستمهای بازی تا بازیکن، سیارکها و UI بهصورت تمیز با هم ارتباط برقرار کنند
- اکسپورت کردن از بازی نهایی تا بتوان آن را خارج از ویرایشگر به اشتراک گذاشت و بازی کرد.
پیشنیازهای دوره
- یک رایانه که بتواند نسخه پایدار فعلی Godot 4 و یک ویرایشگر متن را اجرا کند.
- مهارتهای اولیه رایانه، مانند نصب نرمافزار و مدیریت پوشهها
- نیازی به تجربه قبلی در Godot نیست؛ پروژه مرحلهبهمرحله ساخته میشود.
- آشنایی بسیار ابتدایی با برنامهنویسی یا منطق، مفید است اما ضروری نیست
- علاقه به یادگیری اینکه بازیها.ی 2D در پشت صحنه چگونه کار میکنند، نه فقط دنبال کردن کورکورانه مراحل
- چند ساعت زمان متمرکز برای دنبال کردن درسها و آزمایش بین آنها
- تمایل به دستکاری کردن، خراب کردن و سپس درست کردن چیزها بهعنوان بخشی از فرآیند یادگیری
توضیحات دوره
یک بازی 2D کامل در Godot 4
شوتر فضایی خود را به سبک Asteroids از پایه ایجاد کنید.
یاد بگیرید چگونه با استفاده از Godot 4 یک بازی آرکید 2D کامل را طراحی، کدنویسی و polish کنید.
یک پروژه خالی را به یک شوتر فضایی پرسرعت به سبک Asteroids در Godot 4 تبدیل کنید.
این دوره شما را مرحلهبهمرحله از تمام مراحل توسعه عبور میدهد. از یک پروژه خالی شروع میکنید و در نهایت به یک بازی حرفهای و قابل بازی میرسید که کنترل روان، ثبت امتیاز، منوها، صدا و ذخیره امتیازهای برتر را دارد. از ایمپورت کردن داراییها و کدنویسی حرکت بازیکن گرفته تا افزودن منوها، افکتهای صوتی و ذخیره امتیازهای برتر، این دوره به شما کمک میکند بازیهای کامل بسازید، نه فقط یک نمونه فنی!
چه تازهکار در Godot باشید و چه بخواهید گردشکار توسعه 2D خود را تقویت کنید، در پایان این دوره یک بازی کاملاً قابل بازی و polish شده خواهید داشت و اعتمادبهنفس لازم برای ساخت پروژههای خودتان را به دست میآورید.
مناسب برای: توسعهدهندگان تازهکار و میانردهای که میخواهند به ایجاد بازی عملی مسلط شوند، در GDاسکریپت اعتمادبهنفس پیدا کنند و یک گردشکار محکم برای پروژههای آینده بسازند.
در این دوره یاد میگیرید چگونه:
حرکت بازیکن، فیزیک و شلیک را پیادهسازی کنید.
- رابط کاربری واکنشگرا و منوهای درونبازی بسازید.
- از سیگنالها و سینگلتونها برای مدیریت سیستمهای گیمپلی استفاده کنید.
- موسیقی، افکتهای صوتی و ذخیره تنظیمات بازیکن را اضافه کنید.
- پروژه خود را برای یک خروجی حرفهای polish کنید.
نتیجه:
یک بازی کاملاً کاربردی به سبک Asteroids و دانشی که به شما کمک میکند بازی بعدی خود را سریعتر و بهتر بسازید.
آنچه یاد خواهید گرفت
- ساخت یک بازی کامل 2D از ابتدا تا انتها در Godot 4
- نوشتن کد GDاسکریپت کارآمد و ساختارمند
- پیادهسازی سیستمهای حرکت، فیزیک و شلیک بازیکن
- استفاده از سیگنالها و enumها برای اتصال و مدیریت منطق گیمپلی
- طراحی رابطهای حرفهای، منوها و UI درونبازی
- ذخیره و بارگذاری داده بازیکن مانند تنظیمات و امتیازهای برتر
- یکپارچهسازی افکتهای صوتی، موسیقی و کنترل حجم صدا توسط کاربر
- بهبود پروژه با polish کردن و بازخوردهای ویژوال
ساختار دوره
بخش 1: مقدمه و راهاندازی
در این بخش، پایههای پروژه بازی خود را میسازید. یک فضای کاری جدید در Godot ایجاد میکنید، آن را برای کنترل نسخه به یک مخزن Git متصل میکنید و طراحی خود را با یک سند طراحی بازی برنامهریزی میکنید. همچنین داراییهای بازی، از جمله sprite sheetها را وارد میکنید و یاد میگیرید چگونه آنها را به فریمهای قابل استفاده برای انیمیشن برش بزنید. در پایان، فضای کاری شما کاملاً منظم و آماده توسعه خواهد بود.
- ایجاد و سازماندهی فضای کاری در Godot
- استفاده از Git برای کنترل نسخه و ایمنی پروژه
- برنامهریزی بازی با سند طراحی بازی (GDD)
- ایمپورت کردن و آمادهسازی sprite sheetها برای استفاده در موتور
بخش 2: گیمپلی اصلی
در اینجا سفینه بازیکن را جان میدهید. صحنههای اصلیای را میسازید که مرحله و تنظیمات بازیکن را تعریف میکنند، سپس ورودیهای صفحهکلید را برای رانش و چرخش راه اندازی میکنید. با کدنویسی عملی، نیروهای واقعی فیزیکی را به کار میگیرید تا حرکتی واکنشگرا ایجاد شود و wrap شدن صفحه را اضافه میکنید تا سفینه شما بهصورت یکپارچه از لبههای بازی عبور کند و دوباره ظاهر شود. این بخش را با ساخت اولین سیارک به پایان میرسانید تا زمینه برای تعاملات گیمپلی فراهم شود.
- راهاندازی صحنههای مرحله اصلی و سفینه بازیکن
- تنظیم ورودیهای بازیکن برای رانش و چرخش
- اعمال حرکت مبتنی بر فیزیک با استفاده از محاسبات برداری
- افزودن wrap شدن صفحه برای بازی پیوسته
- چالش: ساخت یک صحنه پایه برای سیارک
بخش 3: پرتابهها و برخوردها
حالا سفینه شما میتواند مقابله کند. یک صحنه برای گلوله طراحی و اسکریپتنویسی میکنید، آن را به سفینه متصل میکنید و نرخ شلیک را با استفاده از تایمرها کنترل میکنید. یاد میگیرید چگونه با استفاده از لایهها و ماسکهای برخورد در Godot برخورد بین گلولهها و سیارکها را تشخیص دهید، سپس رویدادهای تخریب را با تکنیکهای شیءگرا بهصورت تمیز مدیریت کنید. در پایان، یک سیستم شلیک کاملاً کاربردی با بازخورد ویژوال رضایتبخش خواهید داشت.
- ساخت و شلیک گلولهها با استفاده از تایمرها و نقطههای spawn شدن
- تشخیص و مدیریت برخورد بین آبجکت ها
- مدیریت تخریب آبجکت ها با منطق تمیز و ماژولار
- پیکربندی لایهها و ماسکهای فیزیکی برای دقت بیشتر.
بخش 4: منطق بازی وspawn شدن دشمنها
با قرار گرفتن پایهها، عمق و چالش بیشتری به گیمپلی اضافه میکنید. یک spawner سیارکها مینویسید که سیارکهای جدید را بهصورت تصادفی روی صفحه قرار میدهد، تنوع در حرکت و چرخش را اضافه میکنید و سیارکهای بزرگ را هنگام نابودی به سیارکهای کوچکتر تقسیم میکنید. همچنین با استفاده از سیگنالها، سیستمهای بازی را؛ قابلیتی کلیدی در Godot برای مدیریت رویدادهای پیچیده به هم متصل میکنید. در نهایت، آسیبدیدن بازیکن، تایمرهای مصونیت و ری فکتور اسکریپتها را مدیریت میکنید تا کد شما تمیز و مقیاسپذیر بماند.
- Spawn کردن سیارکها با موقعیتها و رفتارهای تصادفی
- تقسیم پویا سیارکهای بزرگ به سیارکهای کوچکتر
- استفاده از سیگنالها برای اتصال بخشهای مختلف بازی.
- پیادهسازی منطق آسیبدیدن بازیکن و cooldown.
- ری فکتور کردن کد با enumها و سبک یکدست
بخش 5: UI و منوها
در این بخش، تمرکز را به تجربه کاربر منتقل میکنید. یک رابط کاربری کامل شامل نمایش امتیاز و سلامت، منوی اصلی، صفحه game over و صفحه انتخاب سفینه میسازید. از یک سینگلتون (autoload) برای ذخیره و بروزرسانی داده سراسری مانند امتیازها و تنظیمات بازیکن استفاده میکنید، سپس ذخیرهسازی فایل را پیادهسازی میکنید تا امتیازها بین اجراها باقی بمانند. در پایان، بازی شما یکپارچهتر و کاربرپسندتر خواهد بود، با انتقالهای روان بین منوها و صحنههای UI قابل استفاده مجدد.
- نمایش امتیاز، سلامت و اطلاعات پایان بازی
- ساخت منوی اصلی با گزینههای شروع، تنظیمات و خروج
- ایجاد منوی انتخاب سفینه با چند سفینه قابل بازی
- ذخیره و بارگذاری داده برای امتیازهای برتر و ترجیحات
بخش 6: صدا و polish کردن
این بخش پایانی، بازی شما را با صدا و بهبودهای ویژوال زنده میکند. موسیقی پسزمینه، افکتهای صوتی و بازخورد انفجار را اضافه میکنید و از Audio Busهای Godot برای متعادلسازی موسیقی و افکتها استفاده میکنید. اسلایدرهای حجم صدا را در منوی Settings به کنترل صدای لحظهای متصل میکنید و ترجیحات بازیکن را روی دیسک ذخیره میکنید. پس از تکمیل، جلوههای ویژوال، زمانبندی و انتقالها را تنظیم میکنید تا پروژهای polish شده و آماده انتشار داشته باشید که به همان خوبی که بازی میشود، حس خوبی هم منتقل کند.
- افزودن موسیقی پسزمینه و افکتهای صوتی
- استفاده از Audio Busها برای متعادلسازی و گروهبندی صداها
- ساخت اسلایدرهای درونبازی برای کنترل حجم صدا.
- ذخیره و بازیابی ترجیحات صوتی
- افزودن افکتهای انفجار و بازخورد برای polish کردن
آنچه در پایان قادر به انجام آن خواهید بود
در پایان این دوره، شما میتوانید:
- یک بازی کامل 2D در Godot 4 را از ایده تا تکمیل بسازید.
- چندین صحنه و سیستم بازی را با اطمینان مدیریت کنید.
- کد GDاسکریپت قابل نگهداری و مطابق با بهترین شیوهها بنویسید.
- سیستمهای کامل UI و منو طراحی کنید.
- ذخیرهسازی دائمی داده برای امتیازها و تنظیمات را پیادهسازی کنید.
- صدا، بازخورد و polish را برای یک نتیجه حرفهای یکپارچه کنید.
مهارتهای قابل انتقال
برنامهنویسی شیءگرا و طراحی کد تمیز
حل مسئله و اشکالزدایی در پروژههای پیچیده
- کنترل نسخه با Git
- مدیریت پروژه و توسعه ساختارمند
- ریاضیات کاربردی برای حرکت و فیزیک 2D
- اصول طراحی UI/UX برای رابطهای بازی
- برنامهنویسی رویدادمحور با استفاده از سیستم سیگنالدر Godot
مخاطبان این دوره
- افرادی که میخواهند توسعه بازی را با Godot 4 شروع کنند.
- علاقهمندان که میخواهند اولین پروژه polish شده خود را کامل کنند.
- دانشجویانی که طراحی بازی 2D یا مبانی برنامهنویسی را مطالعه میکنند.
- توسعهدهندگانی که میخواهند مهارتهای کدنویسی و گردشکار خود را تقویت کنند.
ابزارهای مورد استفاده
- Godot 4 (4.4 و 4.5)
- GDاسکریپت برای منطق گیمپلی
- Git برای کنترل نسخه
- داراییهای 2D همراه دوره برای همه درسها
این دوره برای چه کسانی مناسب است؟
- مبتدیان کامل که میخواهند با ساخت یک بازی ساده و کامل، Godot 4 را یاد بگیرند.
- علاقهمندانی که موتورهای دیگر را امتحان کردهاند و بهدنبال یک شروع روشن و هدایتشده با Godot هستند.
- دانشجویان علاقهمند به توسعه بازی که پروژههای عملی را به تئوری صرف ترجیح میدهند.
- توسعهدهندگان مستقل که یک پروژه سریع و متمرکز میخواهند تا گردشکار 2D در Godot را درک کنند.
- برنامهنویسانی از زبانهای دیگر که میخواهند از طریق یک پروژه، معرفی سریعی به GDاسکریپت داشته باشند.
- هنرمندان و طراحانی که میخواهند ببینند داراییهایشان چگونه میتواند در یک بازی استفاده شود.
- مدرسها یا منتورها که بهدنبال یک پروژه نمونه جمعوجور برای نمایش به مبتدیان هستند.
- هر کسی که بازیهای آرکید کلاسیک را دوست دارد و میخواهد همان حس را در موتور خودش بازسازی کند.
ساخت یک شوتر فضایی به سبک Asteroids در Godot 4
-
مقدمه 01:45
-
مقدمه و راهاندازی 02:28
-
استفاده از یک مخزن 07:06
-
سند طراحی بازی بازی Asteroids 08:50
-
ایمپورن کردن دارایی های بازی ما 04:47
-
برش دادن Sprites Sheets 06:24
-
ابزاری برای ساخت تصاویر 13:32
-
راهاندازی صحنه مرحله ما 11:16
-
راهاندازی صحنه سفینه ما 10:48
-
موقعیت سفینه اشتباه است 05:28
-
چالش - ساخت یک سیارک 05:32
-
اعمال رانش به سفینه 13:37
-
راهاندازی Input Map 03:47
-
چرخش سفینه 05:29
-
رانش در جهت درست 03:46
-
رانش قابلاعتماد با بردارهای نرمالشده 05:59
-
wrap شدن در صفحه 14:13
-
ساخت یک گلوله 04:22
-
کد گلوله ما 07:17
-
نقطه Spawn شدن پرتابه 08:10
-
چند نقطه Spawn شدن 08:00
-
timer برای نرخ شلیک 13:54
-
مسئولیتهای همراستا 13:37
-
تشخیص برخوردها 02:29
-
تخریب سیارک - ()has_method 05:07
-
تخریب سیارک - استفاده از یک class 03:38
-
تخریب سیارک - ()is_in_group 05:25
-
wrap شدن گلوله 04:16
-
سرعتها 12:50
-
لایههای فیزیک 08:19
-
Spawn شدن سیارکها 12:27
-
جایگذاری تصادفی سیارکها 04:46
-
صحنه های ارثبریشده و سیارک بعدی 10:26
-
سیگنال ها بین اسکریپتها 09:42
-
Spawn کردن سیارک بعدی 15:52
-
()call_deferred 05:15
-
چند سیارک 09:02
-
چرخش تصادفی 07:34
-
تعداد فرزندان 07:36
-
پاکسازی و ری فکتور 17:59
-
enum 13:47
-
بازبینی بر اساس راهنمای سبک 09:40
-
آسیب دیدن بازیکن 08:49
-
جلوگیری از تکرار بیش از حد آسیب 10:52
-
چالش - آسیب سیارک 05:15
-
نمایش امتیاز 07:46
-
بروزرسانی امتیاز 09:53
-
نوار سلامت 08:18
-
سازماندهی رابط کاربری 07:16
-
راهاندازی صفحه پایان بازی 12:02
-
نمایان بودن UI 07:49
-
طرح کلی منوی اصلی 11:12
-
فعال کردن دکمههای منو 05:35
-
منوی تنظیمات بخش 1 14:11
-
ایجاد یک singleton - امتیاز برتر 06:20
-
ذخیره امتیاز برتر روی دیسک 05:45
-
منوی تنظیمات بخش 2 - استفاده مجدد 05:50
-
منوی تنظیمات بخش 3 - حالت پردازش 08:08
-
منوی انتخاب سفینه 12:57
-
اسپرایتهای مختلف سفینه 09:00
-
موسیقی بازی 07:21
-
ایجاد Audio Buses 02:53
-
افزودن افکتهای صوتی 11:50
-
کنترل افکتهای صوتی 05:30
-
افکتهای انفجار 06:02
-
منوی تنظیمات بخش 4 - اسلایدرهای حجم صدا 16:06
-
ذخیره تنظیمات صدا 16:25
-
سفینههای مختلف بازیکن 14:38
مشخصات آموزش
ساخت یک شوتر فضایی به سبک Asteroids در Godot 4
- تاریخ به روز رسانی: 1405/04/12
- سطح دوره:مقدماتی
- تعداد درس:68
- مدت زمان :09:44:00
- حجم :6.77GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy