آموزش چند نفره در آنریل با GAS و سرورهای اختصاصی AWS - آخرین آپدیت

دانلود Multiplayer in Unreal with GAS and AWS Dedicated Servers

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

ساخت بازی MOBA با آنریل انجین و سیستم قابلیت‌های گیم‌پلی (GAS)؛ پیاده‌سازی سرورهای اختصاصی با AWS

ساخت بازی چندنفره در آنریل انجین

استفاده از سیستم قابلیت‌های گیم‌پلی (GAS)

ساخت و استقرار سرورهای اختصاصی آنریل انجین

میزبانی سرورهای اختصاصی آنریل انجین روی AWS

ایجاد سیستم جامع اینونتوری و فروشگاه

ادراک و رفتار هوش مصنوعی در آنریل انجین

سرویس‌های آنلاین اپیک (Epic Online Services)

پیش نیازها:

  • درک اولیه از آنریل انجین
  • درک اولیه از C++

این دوره شما را در فرآیند کامل ساخت یک بازی چندنفره رقابتی 5v5 با استفاده از آنریل انجین، سیستم قابلیت‌های گیم‌پلی (GAS) و AWS برای استقرار ابری راهنمایی می‌کند. شما یاد خواهید گرفت که مکانیک‌های اصلی گیم‌پلی را با C++ پیاده‌سازی کنید، سیستم‌های مقیاس‌پذیر را با معماری ماژولار طراحی کنید و سرورهای اختصاصی را با استفاده از داکر و AWS مستقر کنید تا بازیکنان بتوانند از هر کجای دنیا متصل شده و بازی کنند.

در پایان این دوره، شما یک بازی سبک MOBA کاملاً کاربردی خواهید داشت که شامل:

  • سیستم ورود و حساب کاربری
  • ایجاد لابی و مچ‌میکینگ (Matchmaking)
  • انتخاب کاراکتر
  • یک چرخه کامل بازی
  • استقرار سرور اختصاصی روی AWS

دوره با پیاده‌سازی کامپوننت‌های پایه کاراکتر، سیستم ورودی پیشرفته و کنترل حرکت آغاز می‌شود. همچنین یک سیستم پای IK (Inverse Kinematics) مناسب با Control Rig پیاده‌سازی خواهد شد. سپس از سیستم قابلیت‌های گیم‌پلی (GAS) برای پیاده‌سازی صفات و قابلیت‌های کاراکتر استفاده می‌شود، که از همان ابتدا پشتیبانی از حالت چندنفره را تضمین کرده و در طول دوره آزمایش می‌شود. قابلیت‌ها می‌توانند آموخته، ارتقا یافته و اثرات آن‌ها سطح‌محور باشند. سیستم قابلیت‌ها همچنین از الگوریتم‌های مبتنی بر صفات برای تعیین سلامتی، بازسازی (Regeneration) و بسیاری دیگر از ویژگی‌های کاراکتر، مطابق با پیاده‌سازی‌های استاندارد صنعت استفاده می‌کند.

دو کاراکتر بازیکن قابل بازی با مجموع دوازده قابلیت در بازی پیاده‌سازی خواهند شد: یک حمله ترکیبی نزدیک (Melee Combo)، یک حمله از راه دور (Ranged Attack)، چهار قابلیت برای هر یک از کاراکترهای بازیکن و دو قابلیت پسیو (Passive) مشترک. با GAS و رویکرد شی‌گرا (OOP) انعطاف‌پذیر، بازی به راحتی می‌تواند برای تعداد بازیکنان بیشتر مقیاس‌پذیر شود.

همچنین یک سیستم جامع مینیون‌های مبتنی بر هوش مصنوعی با ماژول هوش مصنوعی آنریل انجین پیاده‌سازی می‌شود. این هوش مصنوعی دارای پیکربندی شناسه تیم (Team ID) مناسب، روال ادراک و فراموشی است و می‌تواند برای انواع دیگر بازی‌ها نیز مورد استفاده مجدد قرار گیرد.

یک سیستم کامل اینونتوری و فروشگاه که کاملاً با سیستم قابلیت‌های گیم‌پلی (GAS) سازگار است نیز پیاده‌سازی شده است. این سیستم‌ها از حالت چندنفره پشتیبانی می‌کنند، از رویکرد سرور-معتبر (Server Authoritative) استفاده می‌کنند و از انباشت آیتم‌ها (Item Stacking)، مصرف، اعطای قابلیت‌ها و ترکیب آیتم‌ها پشتیبانی می‌کنند. یک ویجت ترکیبی برای نمایش درخت کامل ترکیب هر آیتم انتخابی در فروشگاه پیاده‌سازی خواهد شد.

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

سیستم‌های دیگری نیز در این دوره ایجاد می‌شوند؛ برای مشاهده جزئیات کامل هر یک از سیستم‌های پوشش داده شده، سرفصل‌های دوره را بررسی کنید.

این دوره عمدتاً از C++ برای پیاده‌سازی مکانیک‌های گیم‌پلی استفاده می‌کند. با یک رویکرد ماژولار، بسیاری از سیستم‌ها مستقل هستند و می‌توانند برای انواع مختلف بازی‌ها مورد استفاده مجدد قرار گیرند.


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

Introduction

  • ۰۱ مقدمه 01 Introduction

کنترل حرکت و انیمیشن‌های پایه شخصیت Basic Character Movement Control and Animations

  • ۰۲ نصب آنریل انجین و ویژوال استودیو 02 Install Unreal Engine and Visual Studio

  • ۰۳ ایجاد پروژه و پیکربندی ویژوال استودیو 03 Create the Project and Configure Visual Studio

  • ۰۴ راه‌اندازی سورس کنترل با گیت و گیت‌هاب 04 Setup Source Control with Git and GitHub

  • ۰۵ راه‌اندازی کلاس پایه 05 Setup the Base Class

  • ۰۶ افزودن کامپوننت‌های پایه شخصیت بازیکن 06 Add the Basic Components of the Player Character

  • ۰۷ افزودن اکشن ورودی پرش 07 Add the Jump Input Action

  • ۰۸ افزودن اکشن ورودی نگاه کردن 08 Add the Look Input Action

  • ۰۹ افزودن اکشن ورودی حرکت 09 Add the Move Input Action

  • ۱۰ ایجاد نمونه انیمیشن 10 Create the Animation Instance

  • ۱۱ افزودن ویژگی سرعت برای هدایت حرکت روی زمین 11 Add the Speed Attribute to Drive Ground Locomotion

  • ۱۲ افزودن توقف دویدن و خم شدن 12 Add Jog Stop and Leaning

  • ۱۳ افزودن انیمیشن‌های پرش 13 Add the Jumping Animations

  • ۱۴ افزودن آفست نگاه 14 Add Look Offset

  • ۱۵ افزودن ردیابی پا 15 Add Foot Tracing

  • ۱۶ آفست کردن مفاصل 16 Offset the Joints

  • ۱۷ افزودن Foot IK 17 Add Foot IK

ادغام سیستم قابلیت‌های گیم‌پلی در شخصیت Integrate Gameplay Ability System to the Character

  • ۱۸ افزودن کامپوننت سیستم قابلیت 18 Add the Ability System Component

  • ۱۹ افزودن ویژگی‌های سلامتی و مانا به مجموعه ویژگی‌ها 19 Add the Health and Mana Attribute to the Attribute Set

  • ۲۰ اثر گیم‌پلی چیست و چگونه آن‌ها را اعمال کنیم؟ 20 What is a Gameplay Effect and How to Apply Them

  • ۲۱ راه‌اندازی زنجیره فراخوانی کلاینت-سرور 21 Setup the Server Client Call Chain

  • ۲۲ اعمال اثرات گیم‌پلی و تکرار ویژگی‌ها 22 Apply the Gameplay Effects and Replicate the Attributes

راه‌اندازی ویجت‌های UI پایه Setup Basic UI Widgets

  • ۲۳ افزودن کلاس ویجت نمایش‌گر مقدار 23 Add the Value Gauge Widget Class

  • ۲۴ افزودن بلوپرینت ویجت نمایش‌گر مقدار 24 Add the Value Gauge Widget Blueprint

  • ۲۵ افزودن بلوپرینت ویجت گیم‌پلی 25 Add the Gameplay Widget Blueprint

  • ۲۶ به‌روزرسانی سلامتی و مانا در ویجت گیم‌پلی 26 Update the Health and Mana In the Gameplay Widget

  • ۲۷ افزودن نمایش‌گر وضعیت بالای سر 27 Add the Over Head Status Gauge

  • ۲۸ مخفی کردن نمایش ویجت بالای سر برای شخصیت بازیکن محلی 28 Make the Over Head Widget Display Hidden for Local Player Character

  • ۲۹ راه‌اندازی کنترل دیداری نمایش‌گر آمار بالای سر 29 Setup the Visibility Control of the Overhead Stat Gauge

پیاده‌سازی قابلیت گیم‌پلی ترکیبی (Combo) Implement the Combo Gameplay Ability

  • ۳۰ افزودن کلاس قابلیت پایه و قابلیت Combo 30 Add the Base Ability Class and the Combo Ability

  • ۳۱ افزودن پخش انیمیشن مونتاژ برای قابلیت Combo 31 Add the Animation Montage Play for the Combo Ability

  • ۳۲ جلوگیری از فعال شدن Combo با استفاده از تگ‌های گیم‌پلی 32 Prevent the Combo From Firing By Using Gameplay Tags

  • ۳۳ پخش Combo Montage روی بالاتنه 33 Play the Combo Montage on the Upper Body

  • ۳۴ استفاده از Enum برای نمایش شناسه ورودی برای قابلیت‌های مشخص 34 Use an Enum to Represent the Input ID for Given Abilities

  • ۳۵ افزودن اتصال اکشن ورودی برای قابلیت‌ها در کلاس شخصیت بازیکن 35 Add Input Action Binding for Abilities in the Player Character Class

  • ۳۶ ایجاد اعلان انیمیشن رویداد گیم‌پلی ارسال 36 Create the Send Gameplay Event Animation Notify

  • ۳۷ مدیریت رویداد تغییر Combo در قابلیت Combo 37 Handle the Combo Change Event in the Combo Ability

  • ۳۸ مدیریت انتقال Combo در کلاس قابلیت Combo 38 Handle the Combo Transition in the Combo Ability Class

  • ۳۹ ایده اولیه جهت هدف نبرد نزدیک 39 Basic Idea of the Melee Target Direction

  • ۴۰ ایجاد اعلان انیمیشن برای ارسال داده مکان Sweep در یک رویداد گیم‌پلی 40 Create the Animation Notify to Send Sweep Location Data in a Gameplay Event

  • ۴۱ تعریف سوکت‌های هدف و پیکربندی اعلان‌های هدف 41 Define the Target Sockets and Configure the Target Notifies

  • ۴۲ پیاده‌سازی Sweep در کلاس CGameplay Ability 42 Implement the Sweep in the CGameplay Ability Class

  • ۴۳ افزودن و اعمال اثرات آسیب 43 Add and Apply the Damage Effects

  • ۴۴ محدود کردن ویژگی‌ها 44 Clamp the Attributes

  • ۴۵ افزودن VFX ضربه و Gameplay Cue 45 Add Punch VFX and Gameplay Cue

  • ۴۶ تولید VFX ضربه با Gameplay Cue 46 Spawn Hit VFX with Gameplay Cue

  • ۴۷ افزودن لرزش دوربین و انیمیشن واکنش به ضربه 47 Add Camera Shake and Hit Reaction Animation

راه‌اندازی مرگ، بازگشت به بازی و تیم‌ها Setup Death, Respawn and Teams

  • ۴۸ افزودن سیگنال مرگ با اثر گیم‌پلی مدت‌دار و تگ مرگ 48 Add Death Signal With durational Gameplay Effect and Death Tag

  • ۴۹ پیاده‌سازی دنباله مرگ 49 Implement the Death Sequence

  • ۵۰ پیاده‌سازی بازگشت به بازی 50 Implement the Respawn

  • ۵۱ فعال کردن Ragdoll هنگام مرگ 51 Enable Ragdoll When Dead

  • ۵۲ بهبود فیزیک Ragdoll 52 Refine the Ragdoll Physics

  • ۵۳ وارد کردن سطح بازی ما 53 Import Our Game Level

  • ۵۴ افزودن TeamID به کنترلر بازیکن و شخصیت بازیکن 54 Add the TeamID to the Player Controller and Player Character

  • ۵۵ مقداردهی اولیه Team ID و نقطه شروع برای بازیکنان 55 Initialize Team ID and Start Spot for Players

  • ۵۶ بازگشت شخصیت بازیکن در نقطه شروع خود 56 Respawn Player Character At Their Start Spot

  • ۵۷ جلوگیری از آسیب رساندن بازیکن به شخصیت‌های دوستانه 57 Prevent Player From Damaging Firendly Characters

ایجاد مینیون‌ها با درک و رفتار هوش مصنوعی Create the Minions with AI Perception and Behavior

  • ۵۸ افزودن هوش مصنوعی و پیکربندی TeamID و درک بصری هوش مصنوعی 58 Add AI and Configure the AI TeamID and Sight Perception

  • ۵۹ افزودن درخت رفتار و بلک‌بورد به هوش مصنوعی و به‌روزرسانی هدف 59 Add the Behavior Tree and Blackboard to the AI and Update the Target

  • ۶۰ پیاده‌سازی فراموش کردن هوش مصنوعی برای به‌روزرسانی هدف بلک‌بورد 60 Implement the AI Forgetting to Update the Blackboard Target

  • ۶۱ استفاده از منبع محرک هوش مصنوعی برای کنترل درک هوش مصنوعی 61 Use the AI Stimuli Source to Control AI Perception

  • ۶۲ وادار کردن هوش مصنوعی به فراموش کردن اهداف مرده بلافاصله 62 Make The AI Forget Dead Targets Immediately

  • ۶۳ مفهوم پایه یک رفتار هوش مصنوعی 63 Basic Concept of an AI Behavior

  • ۶۴ پیاده‌سازی رفتار تعقیب هوش مصنوعی 64 Implement the Chasing AI Behavior

  • ۶۵ وادار کردن هوش مصنوعی به حمله 65 Make the AI Attack

  • ۶۶ افزودن دارایی‌های Minion و پیکربندی بلوپرینت انیمیشن 66 Add the Minion Assets and Configure the Animation Blueprint

  • ۶۷ ایجاد قابلیت Combo نزدیک و مونتاژ برای Minion 67 Create the Melee Combo Ability and Montage for the Minion

  • ۶۸ بهبود سلامتی Minion و افزودن Damage VFX 68 Refine the Minion Health and add Damage VFX

  • ۶۹ پیاده‌سازی مرگ و بازگشت به بازی رفتار و درک هوش مصنوعی 69 Implement the Death and Respawn of the AI Behavior and Perception

  • ۷۰ تغییر ظاهر بر اساس TeamID 70 Change the Skin Based on the TeamID

  • ۷۱ ایجاد کلاس پادگان Minion و پیاده‌سازی تولید Minion پایه 71 Create the Minion Barrack Class and Implement Basic Minion Spawning

  • ۷۲ ایجاد تولید دوره‌ای Minionها 72 Create the Peoridic Spawning of Minions

  • ۷۳ دادن هدف به Minionها 73 Give a Goal to the Minions

  • ۷۴ بهبود رفتار Minionها 74 Improve the Behavior of the Minions

  • ۷۵ بهبود منطق Ragdoll و بازسازی کلاس Minion 75 Rfine the Ragdoll Logic and Refactor the Minion Class

  • ۷۶ تنظیم نمایش نوار سلامتی Minion 76 Adjust the Heath Bar Display of the Minion

قابلیت Upper Cut The Upper Cut Ability

  • ۷۷ افزودن قابلیت Upper Cut و اتصال کلید 77 Add the Upper Cut Ability and Key Binding

  • ۷۸ افزودن هدف‌گیری Upper Cut 78 Add the Upper Cut Targetting

  • ۷۹ افزودن و فعال کردن قابلیت پرتاب غیرفعال 79 Add and Trigger the Passive Launch Ability

  • ۸۰ افزودن هزینه Cooldown آسیب و اثر Stun به Upper Cut 80 Add Damage Cooldown Cost and Stun Effect to Upper Cut

  • ۸۱ افزودن رفتار Stun 81 Add the Stun Behavior

  • ۸۲ افزودن انیمیشن‌های Stun 82 Add the Stun Animations

  • ۸۳ افزودن Combo Montages 83 Add the Combo Montages

  • ۸۴ گوش دادن به ورودی حمله پایه در Upper Cut 84 Listen for Basic Attack Input in Upper Cut

  • ۸۵ افزودن آسیب Combo Upper Cut و نگه داشتن در هوا 85 Add the Upper Cut Combo Damage and Air Hold

  • ۸۶ بهبود آسیب Combo Upper Cut و اثر Push 86 Refine the Upper Cut Combo Damage and Push Effect

  • ۸۷ افزودن Upper Cut VFX 87 Add Upper Cut VFX

پیاده‌سازی ویجت نمایش‌گر قابلیت Implement the Ability Gauge Widget

  • ۸۸ ایجاد کلاس نمایش‌گر قابلیت 88 Create the Ability Gauge Class

  • ۸۹ ارسال قابلیت‌ها از ASC به GameplayWidget 89 Pass The Abilities from the ASC To The GameplayWidget

  • ۹۰ افزودن نمای لیست قابلیت‌ها 90 Add the Ability List View

  • ۹۱ استفاده از جدول داده برای ذخیره آیکون قابلیت 91 Use Data Table to Store Ability Icon

  • ۹۲ دریافت و نمایش مقادیر Cooldown و Cost 92 Get and Display the Cooldown and Cost Values

  • ۹۳ پیاده‌سازی منطق شمارش معکوس 93 Implement the Countdown Logic

  • ۹۴ افزودن سایه‌زنی شعاعی شمارش معکوس 94 Add the Count Down Radial Shading

قابلیت Ground Blast The Ground Blast Ability

  • ۹۵ افزودن قابلیت Ground Blast 95 Add the Ground Blast Ability

  • ۹۶ استفاده از تگ هدف‌گیری برای تغییر کنترل چرخش بدن 96 Using an Aimming Tag to Alter the Body Rotation Control

  • ۹۷ افزودن انیمیشن‌های هدف‌گیری 97 Add the Aimming Animations

  • ۹۸ افزودن Aim Camera Lerp 98 Add the Aim Camera Lerp

  • ۹۹ افزودن و تولید Ground Pick Target Actor 99 Add and Spawn the Ground Pick Target Actor

  • ۱۰۰ به‌روزرسانی مکان هدف‌گیری به نمای بازیکن و افزودن Trace Channels 100 Update the Targeting Location to the Player View and Add Trace Channels

  • ۱۰۱ یافتن اهداف با Target Actor ما 101 Find Targets With our Target Actor

  • ۱۰۲ اعمال آسیب به اهداف 102 Apply Damge to Targets

  • ۱۰۳ افزودن VFX به Ground Blast 103 Add VFX to Ground Blast

  • ۱۰۴ افزودن Decal به Ground Pick Actor 104 Add the Decal to Ground Pick Actor

  • ۱۰۵ جمع‌بندی قابلیت Ground Blast 105 Wrap up the Ground Blast Ability

سطح شخصیت، آمار و ویژگی‌های مبتنی بر آمار Character Level, Stats and Stats Driven Attributes

  • ۱۰۶ افزودن ویژگی‌های گیم‌پلی اضافی 106 Add Addtional Gameplay Attributes

  • ۱۰۷ ایجاد کلاس نمایش‌گر آمار 107 Create the Stats Gauge Class

  • ۱۰۸ پر کردن نمایش‌گر وضعیت 108 Populate the Status Gauge

  • ۱۰۹ ایجاد جدول داده برای آمار قهرمان 109 Create the Data Table for Hero Stats

  • ۱۱۰ استفاده از جدول داده برای مقداردهی اولیه ویژگی‌ها 110 Use the Data Table to Initialize the Attributes

  • ۱۱۱ تغییر سرعت حرکت و آسیب بر اساس ویژگی‌ها 111 Change the Move Speed and Damage Based on the Attributes

  • ۱۱۲ افزودن اثرات بازسازی سلامتی و مانا 112 Add the Health and Mana Regenaration Effects

  • ۱۱۳ افزودن تگ‌های پر و خالی سلامتی و مانا 113 Add the Health and Mana Full and Empty Tags

  • ۱۱۴ افزودن و فعال کردن قابلیت غیرفعال مرده 114 Add and Trigger the Dead Passive Ability

  • ۱۱۵ یافتن اهداف پاداش 115 Find the Reward Targets

  • ۱۱۶ محاسبه کل پاداش‌ها 116 Calcuate The Total Rewards

  • ۱۱۷ اعمال پاداش‌ها 117 Apply The Rewards

  • ۱۱۸ بازسازی قابلیت‌ها و اثرات عمومی به یک Primary Data Asset 118 Refactor the Generic Abilities and Effects to a Primary Data Asset

  • ۱۱۹ ایجاد و خواندن جدول منحنی تجربه 119 Create and Read the Experience Curve Table

  • ۱۲۰ به‌روزرسانی سطح و امتیاز ارتقا بر اساس تجربه 120 Update Level and Upgrade Point Based on Experience

  • ۱۲۱ استفاده از سطح برای هدایت سایر ویژگی‌ها 121 Use Level to Drive Other Attributes

  • ۱۲۲ تغییر مقیاس سلامتی و مانا 122 Rescale Health and Mana

  • ۱۲۳ ایجاد ویجت ارتقاء سطح 123 Create the Level Up Widget

  • ۱۲۴ پیاده‌سازی نمایش‌گر ارتقاء سطح 124 Implement the Level Up Gauge

ارتقاء قابلیت Ability Updgrading

  • ۱۲۵ پیاده‌سازی مکانیک‌های ارتقاء قابلیت 125 Implement the Ability Upgrading Mechanics

  • ۱۲۶ ایجاد عنصر بصری سطح قابلیت و قابلیت ارتقا در Material 126 Create Visual Element of the Ability Level and Upgradability in the Material

  • ۱۲۷ به‌روزرسانی نمایش‌گر قابلیت بر اساس امتیاز ارتقا و سطح قابلیت 127 Update the Ability Gauge Based on Upgrade Point and Abilty Level

  • ۱۲۸ ایجاد توابع کمکی برای یافتن Cooldown و Cost قابلیت در زمان واقعی 128 Create Helper Functions to Find Realtime Ability Cooldown and Cost

  • ۱۲۹ تعریف اثرات Cooldown و Cost قابلیت در هر سطح با Curve Table 129 Define the Ability Cooldown and Cost Effects on each Level With Curve Table

بهینه‌سازی GAS GAS Optimization

  • ۱۳۰ بازسازی AN_SendTargetGroup برای ارسال Damage GameplayCue به صورت محلی 130 Refactor AN_SendTargetGroup to Send Damage GameplayCue Locally

  • ۱۳۱ بازسازی قابلیت و Game Play Cue برای اطمینان از فعال شدن Cueها به صورت محلی 131 Refactor the Ability and Game Play Cue to Ensure Cues are Triggered Locally

  • ۱۳۲ رفع مشکلات مقداردهی اولیه متغیر و لرزش دوربین هنگام تغییر حالت هدف‌گیری 132 Fix Variable Initialization and Camera Shake Issues When Switching Aim Mode

سیستم فروشگاه The Shop System

  • ۱۳۳ ایجاد Primary Data Asset آیتم فروشگاه 133 Create the Shop Item Primary Data Asset

  • ۱۳۴ ایجاد Asset Manager و توابع بارگذاری ShopItem 134 Create the Asset Manager and ShopItem Loading Functions

  • ۱۳۵ ایجاد و تست کلاس ویجت آیتم 135 Create and Test the Item Widget Class

  • ۱۳۶ پیاده‌سازی ShopItemWidget و ShopWidget 136 Implement the ShopItemWidget and the ShopWidget

  • ۱۳۷ افزودن بلوپرینت ویجت فروشگاه و تست با چند آیتم فروشگاه 137 Add the Shop Widget Blueprint and Test with Some Shop Items

  • ۱۳۸ افزودن انیمیشن پاپ‌آپ ویجت فروشگاه و اتصال کلید 138 Add the Shop Widget Popup Animation and Key Binding

  • ۱۳۹ تغییر وضعیت نشانگر ماوس و حالت ورودی بازیکن هنگام تغییر وضعیت فروشگاه 139 Toggle Mouse Cursor and Player Input Mode when Toggling the Shop

  • ۱۴۰ افزودن Tool Tip به آیتم‌های فروشگاه 140 Add Tool TIps to the Shop Items

  • ۱۴۱ راه‌اندازی منطق خرید 141 Setup Purchasing Logic

سیستم موجودی (Inventory) The Inventory System

  • ۱۴۲ ایجاد Handle آیتم موجودی 142 Create The Inventory Item Handle

  • ۱۴۳ ایجاد و ذخیره آیتم جدید هم روی کلاینت و هم روی سرور 143 Create and Store the New Item on Both the Client and the Server

  • ۱۴۴ اعمال اثر تجهیز و اعطای قابلیت با آیتم موجودی 144 Apply Equip Effect and Grant Ability WIth Inventory Item

  • ۱۴۵ پیاده‌سازی ویجت آیتم موجودی 145 Implement the Inventory Item Widget

  • ۱۴۶ پیاده‌سازی ویجت موجودی 146 Implement the Inventory Widget

  • ۱۴۷ ایجاد بلوپرینت ویجت موجودی 147 Create the Inventory Widget Blueprint

  • ۱۴۸ افزودن توابع بررسی پشته 148 Add Stack Checking Functions

  • ۱۴۹ پیاده‌سازی قابلیت پشته‌بندی در سیستم موجودی 149 Implement the Stacking Capability to the Inventory System

  • ۱۵۰ پیاده‌سازی اپراتور کشیدن و رها کردن موجودی و نمایش بصری کشیدن و رها کردن 150 Implement the Inventory Drag and Drop Operator and Drag Drop Visual

  • ۱۵۱ افزودن منطق کشیدن و رها کردن به کلاس ویجت آیتم موجودی 151 Add Drag and Drop Logic to the Inventory Item Widget Class

  • ۱۵۲ پیاده‌سازی مدیریت کشیدن و رها کردن در ویجت موجودی 152 Implement the Drag and Drop Handling in the Inventory Widget

  • ۱۵۳ افزودن توابع پشتیبانی برای فعال‌سازی و حذف آیتم 153 Add Supporting Functions for Item Activation and Removal

  • ۱۵۴ افزودن توابع فعال‌سازی و مصرف آیتم 154 Add Item Activation and Cosumption Functions

  • ۱۵۵ ایجاد کلاس منوی زمینه و پیاده‌سازی منطق تولید 155 Create The Context Menu class and Implement the Spawning Logic

  • ۱۵۶ پیاده‌سازی تغییر وضعیت منوی زمینه 156 Implement Toggle Context Menu

  • ۱۵۷ پیاده‌سازی رویدادهای دکمه زمینه موجودی و ایجاد آیتم‌های فروشگاه 157 Implement the Inventory Context Button Events and Create the Shop Items

  • ۱۵۸ پیاده‌سازی منطق ترکیب 158 Implement the Combination Logic

  • ۱۵۹ ایجاد ویجت Spline 159 Create the Spline Widget

  • ۱۶۰ ایجاد TreeNodeInterface و پیاده‌سازی آن با ShopItemWidget 160 Make the TreeNodeInterface and Implement it with ShopItemWidget

  • ۱۶۱ ایجاد پارامترها و توابع کمکی ویجت درخت آیتم 161 Create the Parameters and Utility Functions of the Item Tree Widget

  • ۱۶۲ الگوریتم ترسیم درخت 162 The Tree Drawing Algorithm

  • ۱۶۳ پیاده‌سازی تابع Recursive Draw Stream 163 Implement the Recursive Draw Stream Function

  • ۱۶۴ اتمام و تست مکانیک ترسیم درخت 164 Finsh and test the Drawing Mechanic of the Tree

  • ۱۶۵ بهبود و تست مکانیک‌های ترکیب 165 Improve and Testing the Combination Mechanics

  • ۱۶۶ فعال کردن رویداد Cooldown روی ویجت آیتم موجودی 166 Trigger the Cooldown Event On the Inventory Item Widget

  • ۱۶۷ پیاده‌سازی توابع Cooldown 167 Implement the Cooldown Functions

  • ۱۶۸ بازسازی آیتم موجودی برای نگهداری Ability System Component 168 Refactor the Inventory Item to Hold the Ability System Component

  • ۱۶۹ بررسی و شروع Cooldown هنگام به‌روزرسانی آیتم موجودی در ویجت 169 Check and Start the Cooldown when Updating the Inventory Item in the Widget

  • ۱۷۰ به‌روزرسانی Can Cast در زمان واقعی 170 Update the Can Cast in Realtime

  • ۱۷۱ راه‌اندازی اتصال کلیدهای آیتم موجودی 171 Setup Inventory Item Key Bindings

ایجاد رندر هدشات Create a Headshot Render

  • ۱۷۲ ایجاد کلاس Render Actor 172 Create the Render Actor Class

  • ۱۷۳ ایجاد کلاس ویجت Render Actor 173 Create the Render Actor Widget Class

  • ۱۷۴ پیاده‌سازی رندرکننده Skeletal Mesh 174 Implement the Skeletal Mesh Renderer

  • ۱۷۵ راه‌اندازی رندر هدشات 175 Setup the Headshot Render

  • ۱۷۶ راه‌اندازی نورپردازی رندر هدشات 176 Setup the Lighting of the Headshot Render

هسته طوفان Storm Core

  • ۱۷۷ وارد کردن و پیکربندی کلاس Storm Core 177 Import and Configure the Storm Core Class

  • ۱۷۸ به‌روزرسانی تعداد تیم و وزن تیم 178 Update the Team Count and Team Weight

  • ۱۷۹ حرکت دادن هسته طوفان بر اساس وزن 179 Move the Storm Core Based on Weight

  • ۱۸۰ افزودن Decal زمینی برای نمایش محدوده نفوذ 180 Add the Ground Decal to Display the Influence Range

  • ۱۸۱ پیاده‌سازی مکانیک‌های تصرف هسته 181 Implement the Core Capture Mechanics

  • ۱۸۲ پیکربندی و تست مکانیک‌های تصرف هسته 182 Configure and Test the Core Captureing Mechanics

  • ۱۸۳ ایجاد ویجت آمار مسابقه 183 Create the Match Stat Widget

  • ۱۸۴ به‌روزرسانی نوار پیشرفت آمار مسابقه 184 Update the Progress Bar of the Match Stat

  • ۱۸۵ ایجاد کلاس ویجت منوی گیم‌پلی 185 Create a Gameplay Menu Widget Class

  • ۱۸۶ افزودن تغییر وضعیت منوی گیم‌پلی 186 Add the Gameplay Menu Toggle

  • ۱۸۷ فعال کردن رویدادهای اتمام مسابقه 187 Trigger the Match Finished Events

شخصیت دیگری با حمله برد بلند Another Character with Ranged Attack

  • ۱۸۸ وارد کردن شخصیت دیگر 188 Import Another Character

  • ۱۸۹ ایجاد بلوپرینت انیمیشن برای شخصیت جدید 189 Create the Animation Blueprint for the New Character

  • ۱۹۰ ایجاد قابلیت شلیک و رویدادهای اولیه 190 Create the Shoot Ability and Initial Events

  • ۱۹۱ افزودن اتصال ورودی قابلیت شلیک 191 Add the Input Bindings of the Shoot Ability

  • ۱۹۲ ایجاد و پخش Animation Montage 192 Create and Play the Animation Montage

  • ۱۹۳ ایجاد کلاس Projectile Actor 193 Create the Projectile Actor Class

  • ۱۹۴ تولید و شلیک Projectile در قابلیت شلیک 194 Spawn and Shoot the Projectile in the Shoot Ability

  • ۱۹۵ ایجاد کلاس ویجت Crosshair 195 Create the Crosshair Widget Class

  • ۱۹۶ ساخت بلوپرینت ویجت Crosshair 196 Make the Crosshair Widget Blueprint

  • ۱۹۷ پیاده‌سازی و تست تابع Get Aim Target 197 Implement and Test the Get Aim Target Function

  • ۱۹۸ اعمال اثر ضربه و فعال کردن Hit Effect Cue 198 Apply the Hit Effect and Fire the Hit Effect Cue

  • ۱۹۹ پیاده‌سازی سیستم قفل هدف 199 Implement the Lock on System

  • ۲۰۰ به‌روزرسانی Crosshair به مکان هدف‌گیری روی صفحه 200 Update the Crosshair to the Aim Target Location On Screen

  • ۲۰۱ تعریف موقعیت و چرخش محلی Headshot Capture 201 Define the Headshot Capture Local Position and Rotation

  • ۲۰۲ بهبود کیفیت رندر هدشات 202 Improve the Render Quality of the Headshot

قابلیت لیزر Lazer Ability

  • ۲۰۳ راه‌اندازی منطق پخش مونتاژ و مصرف مانا قابلیت لیزر 203 Setup the Montage Play and Mana Consuption Logic of the Lazer Ability

  • ۲۰۴ ایجاد بلوپرینت قابلیت لیزر و تست عملکرد 204 Create the Lazer Ability Blueprint and Test the Functionality

  • ۲۰۵ ایجاد Lazer Target Actor 205 Create the Lazer Target Actor

  • ۲۰۶ تولید Lazer Target Actor 206 Spawn the Lazer Target Actor

  • ۲۰۷ ایجاد ویژگی‌های هدف‌گیری و پیکربندی Replication 207 Create the Targetting Properties and Configure the Replication

  • ۲۰۸ به‌روزرسانی طول لیزر 208 Update the Lazer Length

  • ۲۰۹ گزارش اهداف لیزر و اعمال آسیب 209 Report Lazer Targets and Apply Damage

  • ۲۱۰ رفع مشکل اشاره‌گر Dangling در Ability Spec در نمایش‌گر قابلیت 210 Adress the Ability Spec Dangling Pointer Issue in the Ability Gauge

  • ۲۱۱ رفع سایر مشکلات جزئی 211 Fix Other Minor Issues

قابلیت سیاهچاله Black Hole Ability

  • ۲۱۲ ایجاد قابلیت سیاهچاله و راه‌اندازی هدف‌گیری 212 Create the Blackhole Ability and Setup the Targetting

  • ۲۱۳ پیکربندی و تست قابلیت سیاهچاله‌ای که تاکنون پیاده‌سازی شده است 213 Configure and Test the Blackhole Ability Implemented so Far

  • ۲۱۴ ایجاد و راه‌اندازی کامپوننت و رویدادهای پایه Blackhole Target Actor 214 Create and Setup the Component and Basic Events of the Blackhole Target Acto

  • ۲۱۵ افزودن منطق تولید Blackhole Target Actor 215 Add the Spawning Logic of the Blackhole Target Actor

  • ۲۱۶ پیاده‌سازی مکانیک کشش Blackhole Target Actor 216 Implement the Pulling Mechanic of the Blackhole Target Actor

  • ۲۱۷ پیاده‌سازی اثر ضربه نهایی قابلیت سیاهچاله 217 Implement the Final Blow Effect of the Blackhole Ability

  • ۲۱۸ افزودن وضعیت تمرکز برای شخصیت بازیکن و نهایی کردن قابلیت سیاهچاله 218 Add the Focus State for the Player Character and Finalize the Blackhole Abil

  • ۲۱۹ همه قابلیت‌های دیگر 219 All Other Abilities

ایجاد لابی Create the Lobby

  • ۲۲۰ ایجاد کلاس‌های لابی 220 Create The Lobby Classes

  • ۲۲۱ ایجاد سطح لابی و تولید ویجت لابی 221 Create the Lobby Level and Spawn the Lobby Widget

  • ۲۲۲ ایجاد ویجت اسلات انتخاب تیم 222 Create the Team Selection Slot Widget

  • ۲۲۳ ایجاد و گوش دادن به رویداد کلیک اسلات انتخاب تیم 223 Create and Listen for Team Selection Slot Click Event

  • ۲۲۴ ایجاد ساختار انتخاب بازیکن 224 Create the Player Selection Structure

  • ۲۲۵ ساخت کلاس CGameState برای نگهداری انتخاب‌های بازیکن 225 Make the CGameState class to Keep the Player Selections

  • ۲۲۶ اتصال ویجت لابی به سیستم انتخاب اسلات بازیکن 226 Connect the Lobby Widget with The Player Slot Selection System

انتخاب قهرمان Hero Selection

  • ۲۲۷ تغییر به انتخاب قهرمان 227 Switch To Hero Selection

  • ۲۲۸ افزودن Primary Asset تعریف شخصیت 228 Add the Character Defination Primary Asset

  • ۲۲۹ ایجاد و بارگذاری تعریف‌های شخصیت با Asset Manager 229 Create and Load the Character Definations with the Asset Manager

  • ۲۳۰ پیاده‌سازی ویجت ورود شخصیت 230 Implement the Character Entry Widget

  • ۲۳۱ پیکربندی نمای Tile انتخاب شخصیت و WBP ورود شخصیت 231 Configure the Character Selection Tile View and Character Entry WBP

  • ۲۳۲ پیاده‌سازی منطق انتخاب شخصیت در Game State 232 Implement the Character Selection Logic in the Game State

  • ۲۳۳ افزودن توابع سرور انتخاب بازیکن و انتخاب شخصیت 233 Add the Player Selection and Character Selection Server Functions

  • ۲۳۴ صدور و به‌روزرسانی انتخاب شخصیت بازیکن در ویجت لابی 234 Issue and Update Player Character Selection on the Lobby Widget

  • ۲۳۵ ایجاد کلاس نمایش شخصیت 235 Create the Character Display Class

  • ۲۳۶ مدیریت منطق تولید و به‌روزرسانی نمایش شخصیت 236 Handle the Spawning and Updating Logic of the Character Display

  • ۲۳۷ راه‌اندازی جلوه‌های بصری سطح لابی 237 Setup the Visuals of the Lobby Level

  • ۲۳۸ نمایش قابلیت‌ها در ویجت لابی 238 Display The Abilities in the Lobby Widget

  • ۲۳۹ بهبود نمایش قابلیت 239 Refine The Ability Display

  • ۲۴۰ ایجاد و پیکربندی Ability Tool Tip 240 Create And Configure the Ability Tool Tip

  • ۲۴۱ تولید Tooltip در کلاس نمایش‌گر قابلیت 241 Spawn the Tooltip in the Ability Gauge Class

  • ۲۴۲ پیاده‌سازی ویجت اسلات تیم بازیکن 242 Implement the Player Team Slot Widget

  • ۲۴۳ ساخت بلوپرینت ویجت اسلات تیم بازیکن 243 Construct the Player Team Slot Widget Blueprint

  • ۲۴۴ پیاده‌سازی ویجت طرح‌بندی تیم بازیکن 244 Implement the Player Team Layout Widget

  • ۲۴۵ ترکیب بلوپرینت ویجت طرح‌بندی تیم بازیکن 245 Compose the Payer Team Layout Widget Blueprint

  • ۲۴۶ پیاده‌سازی بارگذاری نقشه در کلاس CGame Instance 246 Implement the Map Loading in the CGame Instance Class

  • ۲۴۷ افزودن دکمه شروع مسابقه 247 Add the Start Match Button

  • ۲۴۸ کپی کردن انتخاب بازیکن از طریق تابع CopyProperties 248 Copy The Player Selection Through the CopyProperties Function

  • ۲۴۹ پیکربندی شخصیت و TeamID بر اساس انتخاب بازیکن 249 Configure the Character and TeamID Based on Player Selection

تست بسته‌بندی و اتصال سرور اختصاصی Test Dedicated Server Packaging and Connecting

  • ۲۵۰ دریافت و ساخت انجین از سورس 250 Get and Build the Engine from Source

  • ۲۵۱ تبدیل پروژه بازی ما برای استفاده از سورس بیل و افزودن انیمیشن ورودی 251 Convert Our Game Project to Use the Source Build and Add Entry Animation

  • ۲۵۲ ساخت سرور و کلاینت‌ها و تست اتصالات دستی 252 Build the Server and Clients and Try Out Manual Connections

  • ۲۵۳ ایجاد و پیکربندی محصول EOS 253 Create and Configure the EOS Product

  • ۲۵۴ پیکربندی EOS در پروژه ما 254 Configure EOS in Our Project

  • ۲۵۵ خواندن آرگومان‌های خط فرمان هنگام ایجاد Session 255 Read Command Line Arguments When Creating Session

  • ۲۵۶ ایجاد اسکریپت‌های راه‌اندازی 256 Create the Launch Scripts

  • ۲۵۷ پیاده‌سازی ایجاد Session سمت سرور 257 Implement Server Side Session Creation

  • ۲۵۸ بارگذاری سطح پس از موفقیت‌آمیز بودن ایجاد Session یا اتمام در غیر این صورت 258 Load Level After Session Creation Successful or Terminate if Not

  • ۲۵۹ پیاده‌سازی کلاس Game Session و واکنش به پیوستن و خروج بازیکن 259 Implement the Game Session Class and React to Player Join and Left

  • ۲۶۰ فعال‌سازی و تست EOS 260 Enable and Test EOS

ورود کاربر و درخواست ایجاد Session User Login and Session Creation Request

  • ۲۶۱ ایجاد سطح و کلاس‌های منوی اصلی 261 Create the Main Menu Level and Classes

  • ۲۶۲ ایجاد ویجت‌های ورود 262 Create the Login Widgets

  • ۲۶۳ پیاده‌سازی ورود در Game Instance 263 Implement the Login In Game Instance

  • ۲۶۴ افزودن ویجت انتظار و نمایش آن هنگام ورود 264 Add the Waiting Widget and Show It During Logging In

  • ۲۶۵ افزودن ویجت‌های ایجاد لابی 265 Add the Create Lobby Widgets

  • ۲۶۶ پیکربندی و دریافت URL Coordinator 266 Configure and Get the Coordinator URL

  • ۲۶۷ ترکیب و ارسال درخواست ایجاد Session 267 Compose and Send Session Creation Request

هماهنگ‌کننده سرور و ارکستراسیون Session Server Coordinator and Session Orchestration

  • ۲۶۸ راه‌اندازی پایتون و VS Code 268 Setup Python and VS Code

  • ۲۶۹ ایجاد و تست سرور HTTP هماهنگ‌کننده 269 Create and Test the Coordinator HTTP Server

  • ۲۷۰ استفاده از سرور HTTP برای راه‌اندازی یک نمونه از سرور بنا به درخواست 270 Using the HTTP server to Launch and Instance of the Server Upon Request

  • ۲۷۱ راه‌اندازی تایمرهای یافتن Session ایجاد شده 271 Setup Find Created Session Timers

  • ۲۷۲ جستجو برای Session ایجاد شده 272 Search for Created Session

  • ۲۷۳ توقف جستجوی Session و بازیابی نام و پورت Session 273 Stop Session Search and Retrieve Session Name and Port

  • ۲۷۴ اتصال به سرور Session از طریق نتیجه جستجو 274 Connect to the Session Server Through the Search Result

  • ۲۷۵ پیاده‌سازی جستجوی سراسری Session 275 Implement the Global Session Search

  • ۲۷۶ ایجاد و ترکیب کلاس ویجت ورودی Session 276 Create and Compose the Session Entry Widget Class

  • ۲۷۷ پر کردن لیست Session در ویجت منوی اصلی 277 Populate the Session List in the Main Menu Widget

  • ۲۷۸ پیوستن به Session با شناسه Session 278 Join Session with The Session Id

  • ۲۷۹ تست با چندین حساب کاربری بازیکن 279 Test with Multiple Player Accounts

  • ۲۸۰ افزودن آیکون پروژه و صفحه Splash 280 Add Project Icon and Splash Screen

  • ۲۸۱ افزودن شخصیت‌های تست بیشتر 281 Add More Testing Characters

بسته‌بندی و کانتینری‌سازی سرور و کلاینت Server and Client Packaging and Containerization

  • ۲۸۲ آماده‌سازی برای ساخت سرور لینوکس 282 Prep for Linux Server Build

  • ۲۸۳ ساخت سرور لینوکس و کلاینت بازی ویندوز 283 Build Linux Server and Windows Game Client

  • ۲۸۴ نصب Docker و Docker Compose از طریق WSL 284 Install Docker and Docker Compose Through WSL

  • ۲۸۵ کانتینری‌سازی Coordinator و تست اتصالات 285 Containerize the Coordinator and Test Connections

  • ۲۸۶ کانتینری‌سازی سرور و تست اتصالات 286 Containerize the Server and Test Connections

  • ۲۸۷ پرس و جوی پورت‌های اشغال شده از طریق Docker 287 Query Occupied Ports Through Docker

  • ۲۸۸ پردازش نتیجه پرس و جوی پورت برای دریافت پورت‌های اشغال شده 288 Process the Port Query Result to Get the Occupied Ports

  • ۲۸۹ اتمام و تست کانتینر Coordinator 289 Finish and Test the Coordinator Container

  • ۲۹۰ استفاده از Docker Compose برای تعریف و ساخت Imageهای ما 290 Use Docker Compose to Define and Build Our Images

استقرار سرور در AWS Server Deployment on AWS

  • ۲۹۱ ایجاد حساب AWS 291 Create the AWS Account

  • ۲۹۲ ایجاد و ورود به نمونه EC2 292 Create and Login to the EC2 Instance

  • ۲۹۳ راه‌اندازی Docker و Docker Compose روی EC2 ما و کپی کردن سرور 293 Setup Docker and Docker Compose on Our EC2 and Copy The Server Over

  • ۲۹۴ استقرار و تست سرور ما روی EC2 294 Deploy and Test Our Server on EC2

نتیجه‌گیری Conclusion

  • ۲۹۵ نتیجه‌گیری و خداحافظی 295 Conclusion and Goodbye

نمایش نظرات

آموزش چند نفره در آنریل با GAS و سرورهای اختصاصی AWS
جزییات دوره
62.5 hours
295
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,181
4.7 از 5
دارد
دارد
دارد
Jingtian Li
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Jingtian Li Jingtian Li

بازی جادوگر