آموزش گودو ۴: ساخت و انتشار کامل بازی Roguelike دو بعدی - آخرین آپدیت

دانلود Godot 4: Build & Launch Full 2D Roguelike Game

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: از اولین خط کد تا یک بازی دو بعدی کامل. تسلط بر موتور Godot، زبان GDScript و الگوهای ضروری توسعه بازی. ساخت یک بازی کامل Roguelike دو بعدی از صفر در گودو تسلط بر مبانی GDScript برای اسکریپت‌نویسی قدرتمند گیم‌پلی طراحی سیستم‌ها و الگوهای بازی به صورت ماژولار و قابل استفاده مجدد انتشار و به اشتراک‌گذاری پروژه نهایی بازی پیش نیازها: هر کسی که دانش حداقلی در برنامه‌نویسی داشته باشد

گودو (Godot) چیست؟

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

چه چیزی خواهید ساخت؟

با ساخت یک بازی بقای دو بعدی جذاب از صفر به نام "Unknown Adventure"، سفری غوطه‌ورکننده را آغاز کنید. این دوره مهارت‌های ضروری گودو را، از مفاهیم اصلی موتور تا ایجاد سیستم‌های قدرتمند و قابل استفاده مجدد، به شما آموزش می‌دهد.

پروژه: ماجراجویی ناشناخته (Unknown Adventure)

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


مهارت‌ها و سیستم‌های کلیدی که بر آن‌ها مسلط می‌شوید:

  • مبانی و Tilemaps
    شروع کار با رابط کاربری گودو، تنظیم پروژه و تسلط بر ایجاد محیط‌های مبتنی بر تایل (Tile-based) با استفاده از سیستم قدرتمند Tilemap گودو.

  • نودها (Nodes) و صحنه‌ها (Scenes)
    درک معماری بنیادی گودو، شامل نودها، صحنه‌ها و نمونه‌سازی (Instancing) برای ساخت پروژه‌های سازمان‌یافته و مقیاس‌پذیر.

  • مبانی GDScript
    یادگیری GDScript، زبان اختصاصی گودو، برای پیاده‌سازی تمام منطق گیم‌پلی، سیستم‌ها و ویژگی‌های تعاملی.

  • سیستم توانایی‌های ماژولار
    ایجاد یک سیستم توانایی منعطف و ماژولار که اجازه می‌دهد توانایی‌های جدید برای بازیکن و دشمنان به راحتی ایجاد و مدیریت شوند. این سیستم برای استفاده مجدد و گسترش‌پذیری طراحی شده است.

  • سیستم پویا برای ظاهر شدن دشمنان (Enemy Spawning)
    توسعه یک سیستم تطبیقی برای اسپان کردن دشمنان، به طوری که هر بار بازی کردن، چالش‌های جدید و دشواری صعودی را ارائه دهد.

  • رابط کاربری (UI) بلادرنگ برای آمار بازی
    ساخت یک رابط کاربری بصری که سلامت بازیکن، امتیاز و سایر آمارهای حیاتی را نمایش داده و در طول جلسه بازی به صورت پویا به‌روزرسانی شود.

  • سیستم جامع آسیب و سلامت
    پیاده‌سازی مدیریت سلامت متوازن و مقیاس‌پذیر برای بازیکن و انواع دشمنان، شامل محاسبات آسیب و افکت‌ها.

  • منوی شروع و تنظیمات
    طراحی یک سیستم منوی صیقل‌خورده برای شروع بازی‌های جدید، تنظیمات و انتخاب شخصیت یا پارامترهای بازی.

  • صفحه امتیازات و قابلیت تکرار بازی
    راه‌اندازی یک صفحه جذاب برای نمایش امتیازات و دستاوردها در پایان هر مرحله، به همراه قابلیت شروع مجدد سریع برای افزایش نرخ تکرار بازی.

  • تأکید بر قابلیت استفاده مجدد (Reusability)
    تمرکز بر توسعه اسکریپت‌ها، نودها و سیستم‌های قابل استفاده مجدد، تا بتوانید در آینده بازی‌های گودو را با سرعت و بازدهی بیشتری بسازید.

هدف اصلی

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

در پایان این دوره، شما نه‌تنها یک بازی بقای دو بعدی را تکمیل کرده‌اید، بلکه زیربنای لازم برای توسعه مستقل بازی‌های آینده با گودو را بنا نهاده‌اید.


سرفصل ها و درس ها

مقدمه Introduction

  • معرفی دوره Course Introduction

  • نکته مهم: رفع خطاها Heads Up: Fixing Errors

تنظیمات پروژه Project Setup

  • راه‌اندازی پروژه Init project

  • صحنه Scene

  • دوربین Camera

بازیکن Player

  • افزودن اسپرایت‌های بازیکن Add player sprites

  • اسکریپت GD GD Script

  • تغییر موقعیت بازیکن Change player position

  • دریافت ورودی‌های حرکت Get movement input

  • ورودی‌های سفارشی و نرمال‌سازی Custom inputs and normalize

  • دوربین تعقیب‌کننده Follow Camera

  • چرخش اسپرایت متحرک Flip Animated Sprite

  • انیمیشن دویدن Run animation

تایل‌مپ (Tilemap) Tilemap

  • تایل‌مپ‌ها Tilemaps

  • نزدیک‌ترین بافت در تایل‌مپ Tilemaps nearest texture

سیستم توانایی‌ها Ability System

  • کنترل‌کننده توانایی‌ها Ability Controller

  • مدیریت فشردن کلید Handle key press down

  • ایجاد اکشن توانایی Create ability action

  • دریافت توانایی بر اساس ایندکس Get ability by idx

  • کامپوننت‌های توانایی Ability Components

توانایی‌های قابل اسپان Spawnable Abilities

  • کامپوننت توانایی اسپان شیء Spawn object ability component

  • صحنه افکت ضربه (Slash) Slash Effect Scene

  • افزودن افکت به درخت صحنه Add effect in the tree

  • موجودیت (Entity) Entity

  • اسپان نود به عنوان فرزند Spawn node as child

  • آفست اسپان Spawn offset

پیاده‌سازی توانایی: حمله نزدیک Ability Manifest - Melee Attack

  • مانیفست توانایی Ability Manifest

  • اسپرایت جدید حمله نزدیک New melee sprite

  • چرخش به سمت موقعیت موس Turn to mouse position

  • پاک‌سازی افکت ضربه Cleanup slash effect

  • ضربات متناوب Alternate slash

سلاح Weapon

  • افزودن سلاح به بازیکن Add weapon to player

  • آینه‌ای کردن موقعیت سلاح Mirror weapon position

  • زمینه توانایی (Ability Context) Ability Context

  • چرخش سلاح به سمت موس Rotate weapon to mouse pos

  • چرخش سلاح به مبدأ ضربه Rotate weapon to slash origin

  • آفست چرخش متناوب Alternate rotation offset

  • کلون کردن سلاح Clone weapon

زمان‌های انتظار (Cooldowns) Cooldowns

  • افزودن زمان انتظار (Cooldown) Add ability cooldown

  • مدیریت کول‌دان‌ها Manage cooldowns

دشمنان Enemies

  • افزودن اسکلت Add skeleton

  • افزودن بازیکن به گروه Add player to group

  • حرکت به موقعیت بازیکن Move to player location

  • سرعت و شتاب Velocity and speed

  • چرخش دشمن به سمت بازیکن Flip enemy to face player

  • فاصله توقف Stop distance

حمله اسکلت Skeleton Attack

  • اجراکننده انیمیشن Animation runner

  • پوشش‌دهنده (Wrapper) انیمیشن Animation wrapper

  • مدیریت انیمیشن‌های با اولویت بالا Handle high prio animations

  • کامپوننت‌های هدف‌گیری و وارد کردن آسیب Target player and deal damage components

  • تنظیم بازیکن به عنوان هدف Set player as target

سیستم آسیب Damage system

  • سلامت Health

  • وارد کردن آسیب Deal damage

  • درباره شیدرها About shaders

  • ترکیب رنگ‌ها Mix Colors

  • افکت چشمک‌زن Blinking effect

  • تأخیر در وارد کردن آسیب Delay deal damage

اتولود و متن‌های شناور Autoload - Float Text

  • اتولود (Autoload) Autoload

  • نمایش متن آسیب Display damage text

  • یافتن موقعیت اسپان متن Find spawn position for text

  • توین‌ها (Tweens) Tweens

  • بهبود توین‌ها Better tweens

  • فونت سفارشی Custom font

  • رند کردن اعداد متن Round the text

بهبودهای حمله بازیکن Player Attack Improvements

  • حمله با ضربه به عقب (Push back) Push back attack

  • تایمر ریست ضربه به عقب Push back reset timer

  • چرخش به سمت موس Turn to mouse

  • کول‌دان چرخش Turning cooldown

فیزیک و کامپوننت هدف‌گیری Physics - Get Target Component

  • کامپوننت دریافت هدف Get target component

  • وارد کردن آسیب به اسکلت Deal damage to Skeleton

  • نمایش افکت آسیب روی اسکلت Display damage effect on Skeleton

  • دریافت ارتفاع Get height

  • دریافت چندین هدف Get multiple targets

  • مدیریت مرگ و انیمیشن Handle dead + anim

  • بهبود FPS حمله Improve attack FPS

هدف‌گیری بهتر (دیباگ) Better Targeting (Debug)

  • ایجاد دایره دیباگ Create debug circle

  • اسپان دایره در جهت موس Spawn circle in mouse dir

  • استفاده از ضرب داخلی (Dot Product) Use of dot product

  • توضیح ضرب داخلی Dot Product Explanation

  • گروه کامپوننت توانایی Ability component group

ذرات (Particles) Particles

  • ذرات دو بعدی Particles 2d

  • افزودن ذرات ضربه به اسکلت Add hit particles to skeleton

مدیریت باخت (Game Over) Handle Game Over

  • انیمیشن مرگ بازیکن Player die animation

  • افزایش شعاع حمله بازیکن Increase attack radius for Player

  • مدیریت respawn در Game Over Handle game over respawn

  • سیگنال Game Over Game over signal

  • لایه‌های روی صفحه (Overlays) Screen overlays

یافت مسیر (Pathfinding) Pathfinding

  • شروع یافت مسیر Pathfinding start

  • دریافت اسکلت‌های همسایه Get neighbor skeletons

  • استثنا کردن همسایه Exclude neighbor

  • جداسازی (Separation) Separation

  • اصلاح جداسازی Fix separation

دشمن دوربرد و گلوله آتش Ranged Enemy + Fireball

  • دشمن دیمون (Demon) Demon enemy

  • مانیفست گلوله آتش Fireball manifest

  • توانایی گلوله آتش Fireball ability

  • حرکت پرتابه Projectile movement

  • سیگنال ورود گلوله آتش به ناحیه Fireball enter area signal

  • وارد کردن آسیب با پرتابه Deal damage with projectile

  • پخش انیمیشن cast Play cast animation

توانایی پرتاب سلاح Weapon Throw Ability

  • توانایی پرتاب Throw ability

  • هدف‌گیری مکان‌نما و حداکثر فاصله Target cursor + max distance

  • چرخش سلاح و هدف‌گیری دشمنان Rotate weapon and target enemies

سیستم‌های صوتی Audio Systems

  • شروع سیستم صوتی Audio start

  • پیکربندی صدا Audio config

  • کنترل‌کننده صدا Audio controller

  • پخش صدا با کنترل‌کننده Play sound with controller

  • حداکثر فاصله صدا Audio max distance

  • پخش صدای برخورد Play impact sound

  • صدای برخورد گلوله آتش Fireball hit sound

  • صدای پا Footstep sound

  • موسیقی پس‌زمینه Bg music

افکت صدای پا Footstep Effect

  • ذرات صدای پا Footstep particles

  • تکمیل افکت صدای پا Footstep effect done

  • بهبود ذرات صدای پا Footstep particles improvement

نوار جادو (Spellbar) Spellbar

  • شروع نوار جادو Spellbar start

  • رابط کاربری دکمه جادو Spell button ui

  • حالت مقیاس‌بندی (Scaling) Scaling mode

  • اسکریپت‌های دکمه و نوار جادو Spell button and spell bar scripts

  • تعریف میان‌برها Init shortcuts

  • تخصیص توانایی به دکمه Assign ability to button

  • آیکون توانایی Ability icon

  • ارسال توانایی از طریق Event Bus Event bus emit ability

ردیاب پیشرفت دکمه جادو Spellbutton Progress Tracker

  • نوار پیشرفت با تکسچر Texture progress bar

  • نمایش بصری پیشرفت Display progress visually

  • مدیریت کول‌دان واقعی Manage real cooldown

  • لیبل کول‌دان Cooldown label

  • لیبل کلید مربوطه Keybind label

نوار سلامت Healthbar

  • نوارهای سلامت و انرژی Health and energy bars

  • تنظیم نوار سلامت Set healthbar

  • بازنویسی اعمال آسیب Override apply damage

  • سیگنال تغییر سلامت Signal health change

  • نوار پیشرفت عمومی Generic progress bar

واحد انرژی Energy Unit

  • مدیریت هزینه انرژی Handle energy cost

  • بازسازی انرژی Regenerate energy

  • مدیریت موارد خاص انرژی Handle energy corner cases

  • افزودن لیبل به نوارهای پیشرفت Add labels to progress bars

بهبودهای تجربه کاربری (UX) UX Improvements

  • بررسی قابلیت اجرای توانایی Can cast ability check

  • لرزش دکمه Shaking button

  • ریست انرژی Energy reset

توانایی دش (Dash) Dash Ability

  • توانایی دش (Dash) Dash ability

  • کلون کردن خود توانایی Ability clone self

  • تکمیل کلون Clone finished

صحنه اصلی و توقف بازی Home Scene & Pause

  • صحنه اصلی Home Scene

  • رفتن به صحنه بازی Go to play scene

  • دکمه توقف (Pause) Pause button

  • توقف بازی Pause game

  • منوی توقف Pause menu

  • ادامه بازی Resume game

  • مدیریت رنگ پس‌زمینه توقف Handle pause bg color

  • بازگشت به صحنه اصلی Back to home scene

دشمنان و اسپانر پیشرفته‌تر Better Enemies & Spawner

  • رفتارهای تهاجمی Aggressive behavior

  • حافظه دشمن Enemy memory

  • مدیریت تعقیب و پرتابه‌ها Handle chasing and projectiles

  • مدیریت تایمر در حالت توقف Handle timer in pause

  • اسپانر دشمنان Enemy Spawner

  • اسپان در اطراف بازیکن Spawn around player

بیلد نهایی و تنظیمات آخر Final Build & Adjustments

  • بازنویسی کنترل‌کننده صدا Audio controller rework

  • تکمیل موسیقی پس‌زمینه Bg music done

  • رفع خطای ذرات برخورد Hit particle error fix

  • بیلد کردن بازی Build the game

  • جلسه نهایی Final lecture

نمایش نظرات

آموزش گودو ۴: ساخت و انتشار کامل بازی Roguelike دو بعدی
جزییات دوره
23 hours
161
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
364
4.2 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Eincode by Filip Jerga Eincode by Filip Jerga

آموزش آنلاین Eincode تضمین می کند که بهترین تجربه یادگیری آنلاین را برای مخاطبان خود فراهم می کند. محتوای با کیفیت بالا و مفاهیم برنامه نویسی که در پروژه های واقعی توضیح داده شده اند، زمینه هایی هستند که Eincode در آنها می درخشد! Eincode عمدتا دوره هایی را پوشش می دهد که بر راهنمای برنامه نویسی برای توسعه وب و موبایل تمرکز دارند. اگر به دنبال راهنماهای کامل و جامع هستید، Eincode انتخاب مناسبی برای شماست. دوره ها نیز توسط مربی فیلیپ جرگا منتشر می شود. به سلامتی و به کدنویسی ادامه دهید!

Filip Jerga Filip Jerga

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