الزامات توسعه بازی - معماریهای کد برای توسعهدهندگان مستقل
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- یادگیری 2 معماری بازی که میتوانید در بازیهای خود به کار ببرید
- ایجاد کد قابل نگهداری و مقیاسپذیر
- چگونه یک معماری کد قدرتمند پیادهسازی کنیم که میتوانیم در پروژههای مختلف از آن دوباره استفاده کنیم؟
- چگونه منطق، بخش بصری و داده را در کد خود از هم جدا کنیم، بهگونهای که وابستگی کمتری به کلاس Monobehaviour داشته باشند؟
- مفاهیم اولیه تزریق وابستگی
- چگونه رابط کاربری گرافیکی را با Audio Mixer، تعاملات کاربر و کنترل جریان یکپارچه کنیم؟
پیشنیازهای دوره
دانش پیشرفته موتور بازی یونیتی
توضیحات دوره
مقیاسپذیری یکی از بزرگترین مشکلات در پروژههای یونیتی است. آزادی بسیار زیاد و نبود راهنماییهای روشن میتواند ما را به سمت سیستمهای پیچیدهای ببرد که آنقدر با هم در تعاملاند که هیچ ذهن انسانی از پس مدیریت آنها برنمیآید. در پروژهای با بیش از 10000 خط کد، هر تغییر کوچکی میتواند ریسک بالایی برای خراب کردن یک بخش دیگر داشته باشد و با هر ویژگی جدید، موارد لبهای بیپایانی بهوجود بیاید.
بهخصوص اگر یک استودیوی کوچک یا یک توسعهدهنده مستقل باشید، این دوره میتواند کلید جلوگیری از این مشکل و رسیدن به اطمینان در ساخت پروژههای پیچیده و قدرتمند یونیتی باشد. در این دوره، یک بازی بقای ساده را با 2 معماری مقیاسپذیر متفاوت توسعه میدهیم.
مقدمه:
در این بخش، به مشکلات معماری عمیقتر میپردازیم، راهحلهای پیشنهادی این دوره را بررسی میکنیم و درک میکنیم هرکدام در چه سناریوهایی از دیگری بهتر است. اینکه کنترل جریان چیست و glue چیست را در اینجا معرفی میشوند.
ساخت و درک پروژه:
بهسرعت همه چیزهایی را که برای ورود به کد نیاز داریم، آماده میکنیم. پروژه را میسازیم، داراییهای بصری را اضافه میکنیم و صحنه را آماده میکنیم.
مدیریت قابلیتهای ویژگیهای - حرکت:
در این مرحله، اولین برخورد خود را با هر 2 معماری خواهیم داشت. یک کنترلر اول شخص را با هم بررسی و پیادهسازی میکنیم، حرکت را مدیریت میکنیم، ورودیها را میخوانیم، مسئله را به بخشهای کوچک تقسیم میکنیم و هر بخش را حل میکنیم. همچنین یاد میگیریم چگونه داده را از منطق جدا کنیم.
مدیریت ویژگیهای گیمپلی - سلامت:
در اینجا سیستم سلامت را بررسی و پیادهسازی میکنیم. چرا؟ چون این قابلیت شامل تریگرها و تعاملات بین بازیکن و محیط است و خواهیم دید این تعاملات در معماریهای مختلف چگونه به شکل متفاوتی مدیریت میشوند.
مدیریت ویژگیهای گیمپلی - چرخه روز و شب:
Skybox، زمان و مه اجزای متفاوتی هستند که آنها را در قالب سیستمی ترکیب میکنیم که چرخه روز و شب بازی را میسازد. در این بخش چند شباهت بین Glue و UD پیدا میکنیم، ایده تزریق وابستگی را بررسی میکنیم و خیلی چیزهای دیگر را یاد میگیریم.
مدیریت رابط کاربری گرافیکی:
در نهایت، در اینجا قدرت کامل معماری UD را درک خواهید کرد. یک منوی ساده مکث و تنظیمات میسازیم که به بازیکن اجازه میدهد میکسر (حجم صدا) بازی را کنترل کند. در پایان، به پرسشهایی مانند چگونه تعاملات کاربر را مدیریت کنیم و چگونه view را از logic جدا کنیم میپردازیم.
آیا انعطافپذیری و سرعت را ترجیح میدهید؟ یا میخواهید کنترل کامل پروژهتان را در دست داشته باشید؟
در این دوره شرکت کنید، هر 2 را یاد بگیرید و خودتان تصمیم بگیرید.
این دوره برای چه کسانی مناسب است؟
توسعهدهندگان بازی
الزامات توسعه بازی - معماریهای کد برای توسعهدهندگان مستقل
-
چرا اینجا هستیم؟ 10:12
-
برای یادگیری چه چیزی خواهیم ساخت؟ 06:29
-
2 مشکل بزرگ معماری 11:30
-
نمونهای از مشکل ترتیب اجرا 04:34
-
معماری Glue چیست؟ 14:13
-
معماری Unit Design (Identity) چیست؟ 11:38
-
ساخت پروژه 02:00
-
پاکسازی پروژه 03:19
-
ایمپورت دارایی: Free Low Poly - Raft on the desert 03:00
-
تبدیل متریالها به URP 01:14
-
ایمپورت دارایی: Fantasy Skybox Free (و تغییر Skybox) 03:36
-
ساخت کاراکتر در صحنه 05:39
-
[Glue] کد پایه - اول شخص 05:04
-
[Glue] اول شخص - هدف ما چیست؟ 05:25
-
[Glue] حرکت - افزودن اسکریپت اول شخص به صحنه 01:10
-
[UD] کد پایه - کاراکتر و CharacterMovement 20:38
-
[Both] آمادهسازی سیستم ورودی 01:29
-
[Glue] Action Reader - پایه 07:25
-
[UD] Action Reader - پایه 07:36
-
[Glue] Action Reader - خواندن ورودی 13:00
-
[UD] Action Reader - خواندن ورودی 12:45
-
[Both] چرخش بدن - هدف ما چیست؟ 04:56
-
[Glue] چرخش بدن - چرخش خام 05:00
-
[Glue] چرخش بدن - افزودن حساسیت افقی 02:37
-
[Glue] سیستم اول شخص - Glue (اول شخص و Action Reader) 07:03
-
[Glue] سیستم اول شخص - جداسازی داده از منطق 11:27
-
[UD] چرخش بدن - چرخش خام 09:01
-
[UD] چرخش بدن - افزودن حساسیت افقی 02:03
-
[UD] جداسازی داده از منطق 14:18
-
[Both] حرکت سر - هدف ما چیست؟ 09:52
-
[Glue] حرکت سر - حرکت خام (و راهاندازی صحنه سر) 04:16
-
[Glue] حرکت سر - حساسیت عمودی (و جداسازی داده از منطق) 01:55
-
[UD] حرکت سر - حرکت خام (و راهاندازی صحنه سر) 06:18
-
[UD] حرکت سر - حساسیت عمودی (و جداسازی داده از منطق) 01:42
-
[Both] حرکت بدن - هدف ما چیست؟ 08:09
-
[Glue] حرکت بدن - حرکت خام 05:06
-
[Glue] حرکت بدن - مدیریت جاذبه 03:24
-
[UD] حرکت بدن - حرکت خام 06:11
-
[UD] حرکت بدن - مدیریت جاذبه 05:14
-
[Both] هدف ما در این بخش چیست؟ 02:25
-
[Glue] پایه 05:39
-
[UD] پایه 06:48
-
[Glue] قابل تخریب 04:12
-
[UD] آسیبپذیر (سادهسازیشده) 05:36
-
[UD] آسیبپذیر (متمرکز) 11:01
-
[Glue] آسیب دیدن 03:12
-
[Glue] رویدادها 02:17
-
[UD] آسیب دیدن 03:36
-
[UD] رویدادها 02:14
-
[Glue] جداسازی داده از منطق 05:49
-
[UD] جداسازی داده از منطق 08:33
-
[Both] View - آمادهسازی صحنه 04:47
-
[Glue] View - بررسی HealthView 05:24
-
[UD] View - بررسی HealthView (سادهسازیشده) 06:09
-
[UD] View - بررسی HealthView (متمرکز) 04:55
-
[Glue] پایه روز و شب و زمان روز 05:49
-
[UD] روز و شب و پایه زمان روز 10:23
-
[Glue] روز و شب - زمان روز - رویدادها (طلوع، ظهر، غروب و نیمهشب) 06:25
-
[UD] روز و شب - زمان روز - رویدادها (طلوع، ظهر، غروب و نیمهشب) 05:08
-
[Glue] روز و شب - زمان روز - رویدادها (هر ساعت) 13:06
-
[UD] روز و شب - زمان روز - رویدادها (هر ساعت) 13:06
-
[Both] افزودن شیدر برای Skybox 03:32
-
[Glue] Skybox پویا - پایه 03:13
-
[UD] Skybox پویا - پایه (درک تزریق وابستگی) 16:40
-
[Glue] Glue روز و شب 06:37
-
[UD] کنترلر روز و شب (متمرکز) 10:05
-
[Both] روز و شب - ترنزیشن نرم 06:23
-
[Glue] مه پویا 12:39
-
[UD] مه پویا 11:31
-
[Both] افزودن پکیج - رابط کاربری بازی مزرعه 05:45
-
[Both] راهاندازی منوی اصلی و منوی تنظیمات 09:57
-
[Glue] رابط کاربری گرافیکی - ActionReader - خواندن اکشن مکث 04:07
-
[UD] رابط کاربری گرافیکی - ActionReader - خواندن اکشن مکث 04:42
-
[Glue] رابط کاربری گرافیکی - Scene Manager - انتقال Action Reader به SceneManager 14:57
-
[UD] رابط کاربری گرافیکی - Scene Manager - انتقال Action Reader به SceneController 10:58
-
[Glue] رابط کاربری گرافیکی - View و منوی مکث (پایه) 05:42
-
[UD] رابط کاربری گرافیکی - View ،Prefab و منوی مکث (پایه) 06:04
-
[Glue] رابط کاربری گرافیکی - منوی مکث - نمایش، پنهانسازی و ورودی 10:36
-
[UD] رابط کاربری گرافیکی - منوی مکث - نمایش، پنهانسازی و ورودی 17:43
-
[Glue] رابط کاربری گرافیکی - منوی مکث - مدیریت رویدادهای View (دکمهها) 11:58
-
[UD] رابط کاربری گرافیکی - منوی مکث - مدیریت رویدادهای View (دکمهها) 24:22
-
[Glue] رابط کاربری گرافیکی - View و منوی تنظیمات (پایه) 03:53
-
[UD] رابط کاربری گرافیکی - View ،Prefab و منوی تنظیمات (پایه) 03:09
-
[Glue] رابط کاربری گرافیکی - منوی تنظیمات - نمایش 04:59
-
[UD] رابط کاربری گرافیکی - منوی تنظیمات - نمایش 10:19
-
[Glue] رابط کاربری گرافیکی - منوی تنظیمات - مدیریت رویدادهای View (دکمهها) 12:16
-
[UD] رابط کاربری گرافیکی - منوی تنظیمات - مدیریت رویدادهای View (دکمهها) 10:48
-
[Both] Audio Mixer - ایجاد و در معرض قرار دادن متغیرهای حجم صدا و منابع صدا 10:34
-
[Glue] رابط کاربری گرافیکی - منوی تنظیمات - مدیریت حجم صدا 06:20
-
[UD] رابط کاربری گرافیکی - منوی تنظیمات - مدیریت حجم صدا 06:10
-
[UD] رابط کاربری گرافیکی - منوی تنظیمات - بازگرداندن داده به کنترل Upstream 13:43
-
[UD] رابط کاربری گرافیکی - منوی تنظیمات - مدیریت جریان بازگشتی 07:24
مشخصات آموزش
الزامات توسعه بازی - معماریهای کد برای توسعهدهندگان مستقل
- تاریخ به روز رسانی: 1405/04/02
- سطح دوره:متخصص
- تعداد درس:92
- مدت زمان :11:24:08
- حجم :6.58GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy