آموزش دوره متوسط Unity 6: اتصال مکانیک‌های پیچیده بازی - آخرین آپدیت

دانلود Intermediate Unity 6 : Connect Complex Game Mechanics

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: مهارت‌های خود در یونیتی را با اتصال مفاهیمی مانند هوش مصنوعی (AI)، الگوهای طراحی (Design Patterns)، سیستم حرکت مبتنی بر گرید و بسیاری موارد دیگر ارتقا دهید. اتصال مفاهیم و سیستم‌های یونیتی برای ساخت یک بازی کامل یادگیری نحوه ادغام یک ماشین وضعیت (State Machine) پیچیده در بازی تجربه رویکردهای مختلف معماری برای برقراری ارتباط بین اسکریپت‌ها یادگیری نحوه ساخت ده‌ها مرحله پیچیده تنها در چند دقیقه آشنایی با مزایای سیستم گرید سفارشی (Custom Grid-System) ساخت چندین سیستم مستقل و قابل استفاده مجدد در بازی‌های دیگر پیش نیازها: دانش پایه یونیتی

به دوره متوسط Unity 6 خوش آمدید.

این دوره سعی دارد پاسخی برای این سوال باشد که: «اگر مفاهیم پایه یونیتی را یاد گرفته‌ام، حالا باید چه چیزی یاد بگیرم؟».

احتمالاً شما در حال حاضر می‌دانید چگونه مشکلات مختلف را در یونیتی به صورت تک‌به‌تک حل کنید. گام ایده‌آل بعدی، اتصال این مفاهیم به یک پروژه کامل و جامع (End-To-End) است. پس از گذراندن این دوره، شما یک قالب آماده برای ساخت بازی‌های جدی در ابعاد متوسط خواهید داشت.

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

ما بازی‌ای را می‌سازیم که تا حدودی بر اساس بازی معروف Maze-Runner Pacman است. دلیل انتخاب این بازی این است که ترکیبی گسترده از مفاهیم را در بر می‌گیرد و می‌توان آن را بدون استفاده از ابزارهای شخص ثالث به طور کامل پیاده‌سازی کرد.

مفاهیم زیر پوشش داده شده و در قالب یک بازی نهایی متصل می‌شوند:

هوش مصنوعی (AI):

  • ناوبری (Navigation)

  • عیب‌یابی مسیر (Path Debugging)

  • کنترل رفتار (Behavior Control)

  • مفاهیم ماشین وضعیت (State Machine)

  • ماشین‌های وضعیت قابل پیکربندی با کمترین تنظیمات


معماری تمیز (Clean Architecture):


  • سینگلتون (Singleton) - آیا باید از آن استفاده کرد؟

  • اینترفیس‌ها (Interfaces)

  • دلیگت‌ها (Delegates)

  • ساخت اسکریپت API شخصی

  • گسترش Monobehaviours

  • کلاس‌های استاتیک (Static Classes)

  • ارتباطات مبتنی بر رویداد (Event-based)


حرکت بازیکن:


  • سیستم ورودی جدید (New Input System)

  • حرکت مبتنی بر Raycast

  • حرکت مبتنی بر گرید (Grid-based)

  • حرکت نرم بدون برش گوشه‌ها (Corner-Cutting)

گرید سفارشی:


  • بصری‌سازی گرید

  • تشخیص خودکار مرحله

  • انواع سلول برای ناوبری، حرکت و جایگذاری اشیاء

  • استقلال موقعیتی گرید

  • دسترسی API-like به محاسبات گرید


  • ساخت خودکار مراحل:

  • Ruletiles

  • Tile Palettes

  • اسکریپت‌های Tile

  • ساخت ده‌ها مرحله در چند دقیقه

  • سیستم Tilemap


و بسیاری از موضوعات دیگر مانند:


  • ریست کردن مرحله

  • انیمیشن‌ها

  • تله‌پورت (Teleportation)

  • سیستم اسپاون (Spawning)

  • تشخیص برخورد (Collision Detection)

  • اسکریپت‌های ادیتور

  • آماده‌سازی دارایی‌های تصویری

در دوره می‌بینمتان.


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

مقدمه Introduction

  • تریلر دوره Course Trailer

  • مرور کلی دوره Course Overview

  • پیش‌نیازها Prerequisites

  • چگونه از این دوره استفاده کنیم؟ How to take this course?

  • نسخه‌های یونیتی و ادیتور کد Unity Versions and Code Editor

  • منابع دوره Course Resources

کار با دارایی‌ها (Assets) Working with Assets

  • منابع بخش Section Resources

  • راه‌اندازی پروژه Project Setup

  • (اختیاری) کنترل نسخه یونیتی (optional) Unity Version Control

  • آشنایی با CookieMan (تنظیمات Sprite) Meet CookieMan (Sprite Settings)

  • ساخت Sprite Sheets Creating the Sprite Sheets

  • برش برای گرید (Slicing) Slicing for a Grid

تولید نقشه Map Generation

  • منابع بخش Section Resources

  • چه انتظاری داشته باشیم؟ What to Expect ?

  • مقدمه‌ای بر Ruletiles Intro to Ruletiles

  • نحوه کارکرد Ruletiles How Ruletiles work

  • به چه ابزارهایی نیاز داریم؟ What tools do we need?

  • ساخت یک Ruletile Create a Ruletile

  • پالت تایل و تایل‌مپ Tilepalette and Tilemap

  • تعریف قوانین Defining the Rules

  • ساده‌سازی‌ها و محدودیت‌ها Simplifications and Limitations

  • فراتر از Ruletiles ساده Beyond simple Ruletiles

  • Ruletiles سفارشی بخش اول Custom Ruletiles Part 1

  • Ruletiles سفارشی بخش دوم Custom Ruletiles Part2

  • (اختیاری) کارهای دیگر با Ruletiles (optional) What else can you do with Ruletiles?

  • (اختیاری) ترسیم با Gameobjects (optional) Draw with Gameobjects

پروژه: بیایید یک مرحله بسازیم Project - Let's create a Level

  • منابع بخش Section Resources

  • کدام نقشه را بسازیم؟ Which Map should we build?

  • مشکل Texture Bleeding Texture Bleeding

  • Ruletiles مسیر و دیوار Path and Wall Ruletiles

  • ساخت مرحله اصلی Create the Main Level

گرید (Grid) Grid

  • منابع بخش Section Resources

  • چه انتظاری داشته باشیم؟ What to Expect ?

  • چرا از گرید استفاده کنیم؟ Why use a Grid?

  • ساده نگه داشتن سیستم Keep it simple!

  • پیکربندی و بصری‌سازی Configure & Visualize

  • اتصال گرید به مرحله Connect the Grid to the Level

  • اسکریپت ادیتور ساده برای گرید Simple Editor-Script for the Grid

  • گرید مستقل از موقعیت Position-Independant Grid

  • (اختیاری) استفاده واقعی از Tilesize (optional) Actually using the Tilesize

پروژه: اتصال گرید Project - Connect the Grid

  • منابع بخش Section Resources

  • وارد کردن گرید Import Grid

  • بازنویسی کد (Refactor) ۱ Refactor 1

  • اتصال گرید به مرحله Connect the Grid to the Level

حرکت Movement

  • منابع بخش Section Resources

  • چه انتظاری داشته باشیم؟ What to Expect ?

  • مقدمه Introduction

  • اتصال یک سیستم ورودی ساده Connect a simple Input-System

  • افزودن ادراک مبتنی بر Raycast Add Raycast Perception

  • نقاط ضعف Raycasting The Dark Side of Raycasting

  • بازبینی سیستم گرید Revisiting the Grid-System

  • ترکیب Raycast و گرید Combining Raycasts and the Grid

  • یافتن همسایه‌ها Finding Neighbors

  • حذف Raycastها Get rid of Raycasts

  • مشکل برش گوشه‌ها Cutting Corners Issue

  • راه حل برش گوشه‌ها Cutting Corners Solution

  • پرداخت نهایی (Polishing) Polishing

پروژه: پیاده‌سازی حرکت Project - Movement

  • منابع بخش Section Resources

  • انتخاب شما Your Choice

  • ادغام سریع و ساده (نسخه کوتاه) Quick and Dirty Integration (Short Version)

  • بازنویسی سلول گرید (نسخه بلند) Grid Cell Refactoring (Long Version)

  • ادغام حرکت بخش اول (نسخه بلند) Movement Integration Part 1 (Long Version)

  • ادغام حرکت بخش دوم (نسخه بلند) Movement Integration Part 2 (Long Version)

  • ادغام حرکت بخش سوم (نسخه بلند) Movement Integration Part 3 (Long Version)

  • حرکت مداوم (هر دو نسخه) Continuous Movement (both Versions)

انیمیشن‌ها Animations

  • منابع بخش Section Resources

  • چه انتظاری داشته باشیم؟ What to Expect ?

  • کنترلر انیمیشن و کلیپ‌ها Animation Controller and Clips

  • چگونه تصمیم بگیریم کدام انیمیشن اجرا شود؟ How to decide when to play which Animation?

  • انیمیشن‌های Sprite sheet Sprite(sheet) Animations

  • وضعیت AnyState و شرایط ترکیبی Anystate and Compund Conditions

  • اتصال انیمیشن‌ها به حرکت Connect Animations and Movement

  • انیمیشن‌های لایه بندی شده Layered Animations

  • (اختیاری) جداسازی اسکریپت بازیکن از انیمیشن‌ها (optional) Decoupling Player Script and Animations

پروژه: پیاده‌سازی انیمیشن‌ها Project - Animations

  • منابع بخش Section Resources

  • انیمیشن CookieMan CookieMan Animation

  • اتصال انیمیشن و حرکت Connect Animation and Movement

  • انیمیشن‌های هیولا Monster Animations

  • Animation Override Controller Animation Override Controller

  • انتقالات (Transitions) هیولا Monster Transitions

  • کپسوله‌سازی دسترسی به اسکریپت Encapsulate Script Access

هوش مصنوعی: ناوبری AI - Navigation

  • منابع بخش Section Resources

  • چه انتظاری داشته باشیم؟ What to Expect ?

  • راه‌اندازی محیط تست (Playground) Playground Setup

  • ناوبری ساده دنبال‌کننده Simple Follow Navigation

  • طراحی الگوریتم ناوبری Designing the Navigation Algorithm

  • پیاده‌سازی الگوریتم بخش اول Algorithm Implementation Part 1

  • پیاده‌سازی الگوریتم بخش دوم Algorithm Implementation Part 2

  • منطق دیباگر ناوبری Navigation Debugger - Logic

  • بصری‌سازی دیباگر ناوبری Navigation Debugger - Visualization

  • اصلاح الگوریتم بخش اول Fixing the Algorithm Part 1

  • اصلاح الگوریتم بخش دوم Fixing the Algorithm Part 2

هوش مصنوعی: کنترل رفتار AI - Behavior Control

  • منابع بخش Section Resources

  • چه انتظاری داشته باشیم؟ What to Expect ?

  • ماشین‌های وضعیت محدود (FSM) Finite State Machines

  • ساخت یک ماشین وضعیت در یونیتی Build a State Machine in Unity

  • بازنویسی کد Refactoring

  • ماشین وضعیت با Scriptable Objects State Machine with Scriptable Objects

  • ساخت دارایی‌ها (Assets) Creating the Assets

  • محدودیت‌های Scriptable Object Scriptable Object Restrictions

  • ساخت اولین وضعیت (State) Create a First State

  • اصلاح موقعیت اولیه Initial Position Fix

  • افزودن Context به وضعیت Adding State Context

  • انتقالات (Transitions) Transitions

  • (اختیاری) بصری‌سازی FSM (optional) FSM Visualization

پروژه: ناوبری هوش مصنوعی Project - AI Navigation

  • منابع بخش Section Resources

  • استفاده مجدد از اسکریپت‌های ناوبری Reuse Navigation Scripts

  • بهبود بصری‌سازی مسیر Enhance Path Visualization

  • پریفب‌های سلسله‌مراتبی (Hierarchical Prefabs) Hierarchical Prefabs

  • اسکریپت‌های پیکربندی برای هیولاها Configuration Scripts for Monsters

  • جمع‌بندی بصری‌سازی مسیر Path Visualization Wrap Up

پروژه: رفتار هوش مصنوعی Project - AI Behavior

  • منابع بخش Section Resources

  • چه انتظاری داشته باشیم؟ What to Expect ?

  • طراحی هوش مصنوعی AI Design

  • وضعیت پراکندگی (Scatter State) Scatter State

  • درک وضعیت تعقیب (Chase State) Understanding the Chase State

  • وضعیت تعقیب برای Rozy Chase State for Rozy

  • به تله انداختن CookieMan با Pochy و Archie Trapping Cookieman with Pochy and Archie

  • وضعیت تعقیب برای Freezy Chase State for Freezy

  • وضعیت ترسیده بخش اول Frightened State Part 1

  • وضعیت ترسیده بخش دوم Frightened State Part 2

  • انیمیشن‌های وضعیت State Animations

  • احتیاط در مورد انتقالات Any State Be Careful with "Any State" Transitions

  • وضعیت خورده شدن (Eaten State) Eaten State

  • ساخت اتاق (Chamber) Create the Chamber

  • آیین بازیابی هیولا Monster Recovery Ritual

  • پیکربندی آیین هیولا Monster Ritual Configuration

  • مدیریت مرحله (LevelManager) LevelManager

  • انتقالات ScatterToChase و ChaseToScatter ScatterToChase and ChaseToScatter Transitions

  • اصلاح سلول‌های نامعتبر Invalid Cells Fix

  • اصلاح تله اتاق Chamber Trap Fix

  • قدرت دلیگت‌ها The Power of Delegates

  • دلیگت برای GetNextTarget() Delegate for GetNextTarget()

  • انتقال به وضعیت ترسیده Transitions into Frightened State

  • ترسیده به پراکندگی/تعقیب بخش اول Frightened to Scatter/Chase Part 1

  • ترسیده به پراکندگی/تعقیب بخش دوم Frightened to Scatter/Chase Part 2

  • «خوردن» هیولاها "Eating" the Monsters

  • انتقال از وضعیت ترسیده به خورده شدن Frightened To Eaten Transition

  • خروج از وضعیت خورده شدن Transitioning out of Eaten State

پروژه: تکمیل جزئیات Project - Loose Ends

  • منابع بخش Section Resources

  • ساخت پورتال‌ها Create the Portals

  • اینترفیس IPortable The IPortable Interface

  • تله‌پورت کردن هیولاها Teleporting the Monsters

  • اسپاون کوکی‌ها بخش اول Spawning Cookies Part 1

  • اسپاون کوکی‌ها بخش دوم Spawning Cookies Part 2

  • خوردن کوکی‌ها Eating Cookies

پروژه: معماری پیام‌رسانی Project - Messaging Architecture

  • منابع بخش Section Resources

  • چه انتظاری داشته باشیم؟ What to Expect ?

  • (اختیاری) اسکریپت‌ها در یونیتی چگونه ارتباط برقرار می‌کنند؟ (optional) How can Scripts communicate in Unity?

  • یک معماری ساده Messaging/Event Bus A simple Messaging/Event Bus Architecture

  • فعال کردن وضعیت ترسیده Trigger the Frightened State

  • پاتک هیولاها! The Monsters Strike Back!

  • رویداد مرگ بازیکن: انیمیشن Player Dead Event - Animation

  • رویداد مرگ بازیکن: از دست دادن جان‌ها Player Dead Event - Loosing Lives

پروژه: الگوی ریست Project - Reset Pattern

  • منابع بخش Section Resources

  • چه انتظاری داشته باشیم؟ What to Expect ?

  • جریان کامل بازی (Game Flow) The Full Game Flow

  • اسکریپت ادیتور شبیه‌ساز جریان بازی Gameflow Simulator Editor Script

  • مدیریت ریست (Resetmanager) The Resetmanager

  • پیاده‌سازی شروع بازی با تاخیر Implement a delayed Game Start

  • متوقف کردن بازی Making the Game stop

  • ریست کردن بازیکن Resetting the Player

  • اصلاحات ریست Resetting Fixes

  • پایان بازی (Game Over) Game Over

  • شرایط رقابتی رویدادها (Race Conditions) Event Race Conditions

  • برنده شدن در بازی Winning the Game

  • قابلیت شروع مجدد بازی Make the Game Restartable

  • اصلاح بخش اول: ترتیب ریست Fix Part 1 - Reset Order

  • اصلاح بخش دوم: حلقه‌های غیرمجاز Fix Part 2 - Illegal Loops

پروژه: رابط کاربری (UI) Project - UI

  • منابع بخش Section Resources

  • صفحات رابط کاربری (Screens) The Screens

  • اتصال صفحات UI به جریان بازی Connect UI Screens to Gameflow

  • رابط کاربری داخل بازی In Game UI

  • نمایش امتیاز Display the Score

  • نمایش تعداد جان‌ها Display the Lives

خروجی نهایی و خداحافظی Build and Goodbye

  • اصلاحات کوچک قبل از خروجی Small Fix before Building

  • بیلد نهایی و خداحافظی Build and Goodbye

  • سورس‌های دوره Course Sources

نمایش نظرات

آموزش دوره متوسط Unity 6: اتصال مکانیک‌های پیچیده بازی
جزییات دوره
25 hours
178
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
554
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

David Makowski David Makowski

مهندس نرم‌افزار با علاقه شدید به هوش مصنوعی و Unity 3D

Rutuparn Dalvi Rutuparn Dalvi

مهندس و کارآفرین