آموزش بازی شوتر چند نفره با Unreal Engine 5 و C++ - آخرین آپدیت

دانلود Unreal Engine 5 C++ Multiplayer Shooter

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

آموزش ساخت بازی شوتر چند نفره آنلاین با Unreal Engine 5 و C++

یاد بگیرید چگونه یک بازی شوتر رقابتی و سریع چند نفره را با Unreal Engine 5 و C++ بسازید!

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

آنچه در این دوره خواهید آموخت:

  • اتصال بازیکنان از طریق اینترنت با جلسات Matchmaking
  • ایجاد یک پلاگین برای تبدیل هر پروژه Unreal Engine به چند نفره
  • برنامه‌نویسی Multiplayer Matchmaking در Unreal Engine
  • تکنیک‌های Replication برای بازی‌های شوتر سریع و رقابتی
  • بهینه‌سازی کد شبکه با کم کردن پهنای باند و افزایش عملکرد
  • تکنیک‌های Lag Compensation برای چند نفره شامل Client-Side Prediction و Server-Side Rewind
  • انواع سلاح‌ها از جمله تپانچه، SMG، تفنگ تهاجمی، شات گان، تفنگ تک تیرانداز، موشک انداز، نارنجک انداز و پرتاب نارنجک
  • Pickup ها از جمله سپر، Health، Speed Buffs، Jump Buffs و Ammo Pickups
  • Crouching، Aiming، Jumping، Strafing، Reloading و پرتاب، همه در چند نفره
  • HUD کاربردی با Health و Shield Bars، تعداد Ammo، Score و Defeats و Game Timers
  • حالت‌های بازی سفارشی، حالت‌های مسابقه سفارشی و استفاده از کلاس‌های اصلی مورد استفاده در چند نفره
  • یادگیری نحوه عملکرد کلاس‌های Game Mode، Game State، Player State، Player Controller، Pawn، Character و Actor در چند نفره
  • ایجاد Subsystem سفارشی خود برای مدیریت Online Sessions
  • یادگیری در مورد Unreal Engine Online Subsystem و استفاده از آن برای برنامه‌نویسی بازی‌های چند نفره با استفاده از هر سرویس آنلاین مانند Steam
  • نمایش اطلاعیه‌ها از جمله: چه کسی چه کسی را حذف کرد، چه کسی برنده بازی شد، تیم‌های برنده، تایمرهای شمارش معکوس
  • حالت‌های مسابقه سفارشی: پرواز در مرحله گرم کردن، نمایش برندگان در مرحله خنک کردن

پیش‌نیازها:

  • دانش پایه C++ (متغیرها، توابع، اشاره گرها، کلاس‌ها)
  • حداقل تجربه در Unreal Engine - ایجاد Components، Functions و Blueprints (یکی از دوره‌های دیگر من را بگذرانید!)

بیش از 64 ساعت محتوا!

در این دوره جامع C++ همه چیز را در مورد Unreal Engine Multiplayer بیاموزید. ما یک پلاگین سفارشی ایجاد خواهیم کرد که می تواند به هر پروژه Unreal Engine اضافه شود تا به راحتی آن را به یک بازی چند نفره تبدیل کند.

ما یاد می گیریم که چگونه بازی خود را برای بهترین عملکرد بهینه کنیم، زیرا شوترهای رقابتی به بالاترین عملکرد ممکن نیاز دارند. ما تکنیک‌های جبران Lag مانند Client-Side Prediction و Server-Side Rewind را پیاده‌سازی می‌کنیم، بنابراین بازی حتی در حضور Lag بالا روان اجرا می‌شود!

ما یاد می گیریم که چگونه از کلاس های بازی مناسب برای هر مکانیک چند نفره استفاده کنیم. حالت‌های مسابقه سفارشی، تایمرهای مسابقه گرم کردن/خنک کردن، اطلاعیه‌های حذف، HUD با Health، Shields، Ammo و نارنجک و موارد دیگر! ما تمام عملکردهای مهم را روی سرور نگه می داریم تا از تقلب جلوگیری کنیم و روش صحیح استفاده از کلاس های Player Controller، Game Mode، Game State، Player State، Character و Game Instance را یاد می گیریم.

ما تفنگ های تهاجمی، تپانچه، مسلسل دستی، موشک انداز، نارنجک انداز، تفنگ های تک تیرانداز و پرتاب نارنجک می سازیم! همه به صورت چند نفره کاربردی، بهینه شده برای بهترین عملکرد.

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

این دوره فرض می کند که شما دانش برنامه نویسی C++ را دارید. دانش متغیرها، کلاس ها، وراثت و برنامه نویسی شی گرا توصیه می شود تا بهترین تجربه را در این دوره داشته باشید.


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

Introduction

  • مقدمه Introduction

  • رایدر (Rider) اکنون برای استفاده غیرتجاری رایگان است Rider is now free for non-commercial use

  • درباره این دوره About this Course

ایجاد یک پلاگین چندنفره Creating a Multiplayer Plugin

  • مفاهیم چند نفره Multiplayer Concepts

  • تست چند نفره Testing Multiplayer

  • اتصال LAN LAN Connection

  • زیرسیستم آنلاین (Online Subsystem) Online Subsystem

  • جلسات آنلاین (Online Sessions) Online Sessions

  • پیکربندی برای Steam Configure For Steam

  • دسترسی به زیرسیستم آنلاین Accessing the Online Subsystem

  • ایجاد یک جلسه Creating a Session

  • تنظیمات برای پیوستن به جلسات بازی Setup for Joining Game Sessions

  • مناطق Steam Steam Regions

  • پیوستن به جلسه Joining the Session

  • ایجاد یک پلاگین Creating a Plugin

  • ایجاد زیرسیستم خودمان Creating our Own Subsystem

  • نمایندگان رابط جلسه (Session Interface Delegates) Session Interface Delegates

  • کلاس منو The Menu Class

  • دسترسی به زیرسیستم ما Accessing our Subsystem

  • یادداشت‌هایی در مورد OnLevelRemovedFromWorld Notes on OnLevelRemovedFromWorld

  • ایجاد جلسه Create Session

  • تماس‌های برگشتی به توابع زیرسیستم ما Callbacks to our Subsystem Functions

  • نمایندگان زیرسیستم بیشتر More Subsystem Delegates

  • تنظیمات جلسه Session Settings

  • پیوستن به جلسات از منو Join Sessions from the Menu

  • پیگیری بازیکنان ورودی Tracking Incoming Players

  • چالش اختیاری: پیاده‌سازی StartSession Optional Challenge: Implement StartSession

  • مسیر به لابی Path to Lobby

  • صیقل دادن زیرسیستم منو Polishing the Menu Subsystem

  • آزمون در مورد زیرسیستم جلسات چند نفره Quiz on the Multiplayer Sessions Subsystem

ایجاد پروژه Project Creation

  • در مورد نسخه‌های Unreal Engine On Unreal Engine Versions

  • ایجاد پروژه Project Creation

  • چه چیزی باید به DefaultEngine.ini اضافه شود What to Add to DefaultEngine.ini

  • تست یک جلسه آنلاین Testing an Online Session

  • دارایی‌ها Assets

  • تغییر هدف انیمیشن‌ها در 5.4 آسان‌تر است Retargeting Animations is Easier in 5.4

  • تغییر هدف انیمیشن‌ها Retargeting Animations

  • شخصیت Blaster Blaster Character

  • دوربین و بازوی فنری Camera and Spring Arm

  • حرکت شخصیت Character Movement

  • طرح اولیه انیمیشن (Animation Blueprint) Animation Blueprint

  • سفر بدون وقفه و لابی Seamless Travel and Lobby

  • نقش شبکه Network Role

  • چالش اختیاری: نمایش نام بازیکن Optional Challenge: Show the Player Name

  • آزمون در مورد نقش شبکه و سفر بدون وقفه Quiz on Network Role and Seamless Travel

اسلحه The Weapon

  • کلاس اسلحه Weapon Class

  • ویجت برداشتن (Pickup Widget) Pickup Widget

  • تکثیر متغیر (Variable Replication) Variable Replication

  • تجهیز سلاح‌ها Equipping Weapons

  • فراخوانی رویه از راه دور (Remote Procedure Calls) Remote Procedure Calls

  • حالت انیمیشن مجهز Equipped Animation Pose

  • خم شدن (Crouching) Crouching

  • هدف گیری (Aiming) Aiming

  • فضای ترکیبیِ دویدن (Running Blendspace) Running Blendspace

  • تکیه دادن و حرکت جانبی (Leaning and Strafing) Leaning and Strafing

  • ایستادن و پرش‌ها (Idle and Jumps) Idle and Jumps

  • راه رفتن در حالت خمیده (Crouch Walking) Crouch Walking

  • هدف گیری در حالت راه رفتن (Aim Walking) Aim Walking

  • آفست‌های هدف گیری (Aim Offsets) Aim Offsets

  • اعمال آفست‌های هدف گیری Applying Aim Offsets

  • Pitch در حالت چند نفره Pitch in Multiplayer

  • استفاده از آفست‌های هدف گیری ما Using our Aim Offsets

  • FABRIK IK FABRIK IK

  • چرخش درجا (Turning in Place) Turning in Place

  • چرخاندن استخوان ریشه (Rotate Root Bone) Rotate Root Bone

  • فرکانس آپدیت شبکه (Net Update Frequency) Net Update Frequency

  • خم شدن در حالت غیر مسلح (Crouch Unequipped) Crouch Unequipped

  • چرخاندن انیمیشن‌های دویدن Rotating Running Animations

  • صداهای قدم و پرش Footstep and Jump Sounds

  • آزمون در مورد بخش اسلحه Quiz on the Weapon Section

  • چالش اختیاری: صداهای قدم در حالت خمیده Optional Challenge: Crouch Footstep Sounds

شلیک سلاح‌ها Firing Weapons

  • کلاس سلاح پرتابی (Projectile Weapon Class) Projectile Weapon Class

  • مونتاژ شلیک (Fire Montage) Fire Montage

  • افکت‌های شلیک سلاح Fire Weapon Effects

  • افکت‌های شلیک در حالت چند نفره Fire Effects in Multiplayer

  • هدف ضربه (Hit Target) The Hit Target

  • ایجاد پرتابه (Spawning the Projectile) Spawning the Projectile

  • کامپوننت حرکت پرتابه (Projectile Movement Component) Projectile Movement Component

  • ردیاب پرتابه (Projectile Tracer) Projectile Tracer

  • تکثیر هدف ضربه Replicating the Hit Target

  • رویدادهای برخورد پرتابه (Projectile Hit Events) Projectile Hit Events

  • پوکه فشنگ‌ها (Bullet Shells) Bullet Shells

  • فیزیک پوکه (Shell Physics) Shell Physics

  • آزمون در مورد شلیک سلاح‌ها Quiz on Firing Weapons

مکانیک هدف گیری سلاح Weapon Aim Mechanics

  • چالش اختیاری: اضافه کردن چرخش تصادفی به پوکه فشنگ‌ها Optional Challenge: Add random rotation to the bullet shells

  • HUD اسلحه و کنترلر بازیکن (Player Controller) Blaster HUD and Player Controller

  • رسم کردن نشانه هدف (Crosshairs) Drawing the Crosshairs

  • گسترش نشانه هدف (Crosshair Spread) Crosshair Spread

  • تصحیح چرخش سلاح Correcting the Weapon Rotation

  • بزرگنمایی در هنگام هدف گیری Zoom While Aiming

  • کوچک کردن نشانه هدف در هنگام هدف گیری Shrink Crosshairs when Aiming

  • تغییر رنگ نشانه هدف Change Crosshairs Color

  • گسترش شروع Trace Extending the Trace Start

  • ضربه زدن به شخصیت Hitting the Character

  • چرخش نرم برای Proxyها Smooth Rotation for Proxies

  • چالش اختیاری: کوچک کردن نشانه هدف هنگام هدف گیری به سمت بازیکن دیگر Optional Challenge: Shrink crosshairs when aiming at another player

  • شلیک خودکار Automatic Fire

  • تست بازی Testing the Game

  • آزمون در مورد مکانیک هدف گیری سلاح Quiz on Weapon Aim Mechanics

  • چالش اختیاری: ذرات ضربه متفاوت Optional Challenge: Different Hit Particles

سلامتی و آمار بازیکن Health and Player Stats

  • چارچوب بازی (Game Framework) Game Framework

  • سلامتی (Health) Health

  • به روز رسانی سلامتی در HUD Update Health in the HUD

  • آسیب (Damage) Damage

  • حالت بازی Blaster (Blaster Game Mode) Blaster Game Mode

  • انیمیشن حذف (Elim Animation) Elim Animation

  • دوباره زنده شدن (Respawning) Respawning

  • ماده حل شونده (Dissolve Material) Dissolve Material

  • حل کردن شخصیت Dissolving the Character

  • حل کردن با منحنی‌ها (Curves) Dissolving with Curves

  • غیرفعال کردن حرکت هنگام حذف شدن Disable Movement when Elimmed

  • ربات حذف (Elim Bot) Elim Bot

  • On Possess On Possess

  • وضعیت بازیکن Blaster (Blaster Player State) Blaster Player State

  • شکست‌ها (Defeats) Defeats

  • چالش اختیاری: نمایش یک پیام در HUD هنگام شکست خوردن Optional Challenge: Display a Message in the HUD when Defeated

  • آزمون در مورد سلامتی و آمار بازیکن Quiz on Health and Player Stats

مهمات Ammo

  • مهمات سلاح Weapon Ammo

  • امکان شلیک (Can Fire) Can Fire

  • مهمات حمل شده (Carried Ammo) Carried Ammo

  • نمایش مهمات حمل شده Displaying Carried Ammo

  • بارگیری مجدد (Reloading) Reloading

  • وضعیت مبارزه بارگیری مجدد (Reloading Combat State) Reloading Combat State

  • اجازه شلیک سلاح Allowing Weapon Fire

  • به روز رسانی مهمات Updating Ammo

  • افکت‌های بارگیری مجدد Reload Effects

  • بارگیری مجدد خودکار Auto Reload

  • چالش اختیاری: نمایش نوع سلاح در HUD برای سلاح مجهز شده Optional Challenge: Show the Weapon Type in the HUD for the Equipped Weapon

  • آزمون در مورد مهمات Quiz on Ammo

حالت‌های مسابقه Match States

  • تایمر بازی Game Timer

  • همگام سازی زمان کلاینت و سرور Syncing Client and Server Time

  • حالت مسابقه (Match State) Match State

  • On Match State Set On Match State Set

  • تایمر گرم کردن (Warmup Timer) Warmup Timer

  • به روز رسانی زمان گرم کردن Updating Warmup Time

  • حالت‌های مسابقه سفارشی Custom Match States

  • اعلان Cooldown Cooldown Announcement

  • شروع مجدد بازی Restart Game

  • وضعیت بازی Blaster (Blaster Game State) Blaster Game State

  • چالش اختیاری: متن شمارش معکوس چشمک زن Optional Challenge: Blinking Countdown Text

  • آزمون در مورد حالت‌های مسابقه Quiz on Match States

انواع مختلف سلاح Different Weapon Types

  • پرتابه‌های موشکی Rocket Projectiles

  • رد موشک Rocket Trails

  • ایجاد رد موشک Spawning Rocket Trails

  • کامپوننت حرکت موشک (Rocket Movement Component) Rocket Movement Component

  • سلاح‌های Hit Scan Hit Scan Weapons

  • ذرات پرتو (Beam Particles) Beam Particles

  • مسلسل دستی (Submachine Gun) Submachine Gun

  • فیزیک تسمه (Strap Physics) Strap Physics

  • شاتگان (Shotgun) Shotgun

  • پراکندگی سلاح (Weapon Scatter) Weapon Scatter

  • تفنگ تک تیرانداز (Sniper Rifle) Sniper Rifle

  • دوربین تفنگ تک تیرانداز (Sniper Scope) Sniper Scope

  • نارنجک انداز (Grenade Launcher) Grenade Launcher

  • نارنجک‌های پرتابی Projectile Grenades

  • انیمیشن‌های بارگیری مجدد Reload Animations

  • بارگیری مجدد شاتگان Shotgun Reload

  • افکت Outline سلاح Weapon Outline Effect

  • مونتاژ پرتاب نارنجک (Grenade Throw Montage) Grenade Throw Montage

  • پیوست سلاح در هنگام پرتاب نارنجک Weapon Attachment while Throwing Grenades

  • دارایی‌های نارنجک Grenade Assets

  • نمایش نارنجک متصل شده Showing the Attached Grenade

  • ایجاد نارنجک Spawning Grenades

  • نارنجک‌ها در حالت چند نفره Grenades in Multiplayer

  • نارنجک‌ها در HUD Grenades in the HUD

  • چالش اختیاری: یک سلاح جدید ایجاد کنید! Optional Challenge: Create a new Weapon!

  • آزمون در مورد انواع مختلف سلاح Quiz on Different Weapon Types

Pickups Pickups

  • کلاس Pickup Pickup Class

  • Pickups مهمات Ammo Pickups

  • کامپوننت Buff Buff Component

  • Pickup سلامتی Health Pickup

  • درمان شخصیت Healing the Character

  • Buff سرعت Speed Buffs

  • Buff پرش Jump Buffs

  • نوار سپر (Shield Bar) Shield Bar

  • به روز رسانی سپر Updating the Shield

  • Buff سپر Shield Buffs

  • نقطه ایجاد Pickup Pickup Spawn Point

  • اضافه کردن نقاط ایجاد به Level Adding Spawn Points to the Level

  • ایجاد سلاح پیش فرض (Spawn Default Weapon) Spawn Default Weapon

  • سلاح ثانویه (Secondary Weapon) Secondary Weapon

  • تعویض سلاح‌ها Swap Weapons

  • انداختن سلاح ثانویه Drop the Secondary Weapon

  • چالش اختیاری: Pickup سفارشی! Optional Challenge: Custom Pickup!

  • آزمون در مورد Pickups Quiz on Pickups

جبران تاخیر (Lag Compensation) Lag Compensation

  • مفاهیم جبران تاخیر Lag Compensation Concepts

  • هشدار پینگ بالا High Ping Warning

  • افکت‌های شلیک محلی Local Fire Effects

  • نمایش ویجت به صورت محلی Show the Widget Locally

  • تکثیر Scatter Replicating Scatter

  • تکثیر Scatter شاتگان Replicating Shotgun Scatter

  • RPCهای شلیک شاتگان Shotgun Fire RPCs

  • پیش بینی سمت کلاینت (Client-Side Prediction) Client-Side Prediction

  • پیش بینی سمت کلاینت مهمات Client-Side Predicting Ammo

  • پیش بینی سمت کلاینت هدف گیری Client-Side Predicting Aiming

  • پیش بینی سمت کلاینت بارگیری مجدد Client-Side Predicting Reloading

  • Rewind سمت سرور (Server-Side Rewind) Server-Side Rewind

  • کامپوننت جبران تاخیر Lag Compensation Component

  • Hit Boxها Hit Boxes

  • بسته فریم (Frame Package) Frame Package

  • ذخیره یک بسته فریم Saving a Frame Package

  • تاریخچه فریم (Frame History) Frame History

  • Rewinding زمان Rewinding Time

  • Interp بین فریم‌ها Interp Between Frames

  • تأیید ضربه Confirming the Hit

  • درخواست امتیاز (Score Request) Score Request

  • Rewind سمت سرور برای شاتگان‌ها Server-Side Rewind for Shotguns

  • تأیید ضربات شاتگان Confirming Shotgun Hits

  • درخواست امتیاز شاتگان Shotgun Score Request

  • درخواست یک ضربه شاتگان Requesting a Shotgun Hit

  • پیش بینی مسیر پرتابه (Predict Projectile Path) Predict Projectile Path

  • Post Edit Change Property Post Edit Change Property

  • ایجاد پرتابه‌ها به صورت محلی Spawning Projectiles Locally

  • نوع برخورد Hit Box Hit Box Collision Type

  • Rewind سمت سرور پرتابه Projectile Server-Side Rewind

  • درخواست امتیاز پرتابه Projectile Score Request

  • محدود کردن Rewind سمت سرور Limiting Server-Side Rewind

  • انیمیشن تعویض سلاح Swap Weapon Animation

  • جمع بندی جبران تاخیر Wrapping up Lag Compensation

  • تقلب و اعتبار سنجی Cheating and Validation

  • چالش اختیاری: استفاده از تاریخچه فریم به روشی خلاقانه! Optional Challenge: Use the Frame History in a Creative Way!

  • آزمون در مورد جبران تاخیر Quiz on Lag Compensation

ویژگی‌های بیشتر چند نفره More Multiplayer Features

  • بازگشت به منوی اصلی Return to Main Menu

  • ترک بازی Leaving the Game

  • نگهداری حساب بازیکن (Player Bookkeeping) Player Bookkeeping

  • به دست آوردن رهبری Gaining The Lead

  • ایجاد تاج Spawning the Crown

  • اعلان حذف (Elim Announcements) Elim Announcements

  • اعلان حذف پویا Dynamic Elim Announcements

  • شلیک به سر (Head Shots) Head Shots

  • شلیک به سر پرتابه Projectile Head Shots

  • شلیک به سر برای Rewind سمت سرور Head Shots for Server-Side Rewind

  • چالش اختیاری: چت بازیکن! Optional Challenge: Player Chat!

  • آزمون در مورد ویژگی‌های بیشتر چند نفره Quiz on More Multiplayer Features

تیم‌ها Teams

  • تیم‌ها Teams

  • حالت بازی تیم‌ها (Teams Game Mode) Teams Game Mode

  • رنگ‌های تیم Team Colors

  • تنظیم رنگ‌های تیم Setting Team Colors

  • جلوگیری از آتش خودی (Friendly Fire) Preventing Friendly Fire

  • امتیازات تیم Team Scores

  • به روز رسانی امتیازات تیم Updating Team Scores

  • اعلان Cooldown تیم‌ها Teams Cooldown Announcement

  • چالش اختیاری: تیم‌های بیشتر! Optional Challenge: More Teams!

  • آزمون در مورد تیم‌ها Quiz on Teams

Capture the Flag Capture the Flag

  • Capture the Flag Capture the Flag

  • نگه داشتن پرچم Holding the Flag

  • برداشتن پرچم Picking up the Flag

  • سنگین کردن حامل پرچم (Burdening the Flag Bearer) Burdening the Flag Bearer

  • انداختن پرچم Dropping the Flag

  • پرچم‌های تیم Team Flags

  • شروع بازیکن تیم (Team Player Starts) Team Player Starts

  • حالت بازی Capture the Flag Capture the Flag Game Mode

  • انتخاب نوع مسابقه Select Match Type

  • دسترسی به زیرسیستم ما Accessing our Subsystem

  • تیم‌ها و نقشه‌های Capture the Flag Teams and Capture the Flag Maps

  • چالش اختیاری: نوع مسابقه سفارشی! Optional Challenge: Custom Match Type!

  • آزمون در مورد Capture the Flag Quiz on Capture the Flag

تبریک Congratulations

  • تبریک Congratulations

  • سخنرانی جایزه (Bonus Lecture) Bonus Lecture

نمایش نظرات

آموزش بازی شوتر چند نفره با Unreal Engine 5 و C++
جزییات دوره
65 hours
245
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
33,619
4.8 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Stephen Ulibarri Stephen Ulibarri

مهندس، برنامه نویس، توسعه دهنده بازی، نویسنده