در این دوره آموزشی، شما یاد خواهید گرفت که چگونه یک سیستم مبارزه تن به تن سوم شخص پیشرفته در یونیتی (Unity) با استفاده از C# ایجاد کنید. این سیستم شامل ویژگیهایی مانند کمبوها، ضدحملهها و هوش مصنوعی (AI) هوشمند برای دشمنان خواهد بود. ما این سیستم را به صورت ماژولار، داده محور و مقیاسپذیر با استفاده از روشهای برنامهنویسی تمیز طراحی خواهیم کرد. بنابراین، در این دوره، شما نه تنها ساخت این سیستم را یاد میگیرید، بلکه بسیاری از مفاهیم ارزشمند برنامهنویسی بازی را نیز فرا خواهید گرفت که میتوانید در طول حرفه خود از آنها استفاده کنید.
سیستم مبارزهای که ما قصد داریم ایجاد کنیم، یک سیستم مبارزه آزاد (Free-Flow Combat) خواهد بود. این بدان معناست که دشمنان به طور کورکورانه به بازیکن حمله نخواهند کرد؛ بلکه به طور هماهنگ با دور زدن بازیکن و حمله یک به یک به او حمله میکنند. این نوع مبارزه در بازیهای مدرن امروزی مانند Assassin's Creed، Batman Arkham series، Marvel’s Spider-Man و غیره استفاده میشود. این سیستم مبارزه همچنین به راحتی قابل تنظیم خواهد بود، بنابراین اگر میخواهید به جای حملات شمشیر از حملات مشت و لگد استفاده کنید، میتوانید به راحتی این کار را بدون تغییر حتی یک خط کد انجام دهید.
ما تمام این موارد را به صورت گام به گام از ابتدا ایجاد خواهیم کرد. ما با ساخت یک کنترلر سوم شخص پایه شروع خواهیم کرد. ما از هیچ دارایی (Asset) برای آن استفاده نخواهیم کرد؛ ما آن را از ابتدا خواهیم ساخت زیرا این یک روش خوب برای یادگیری اصول برنامهنویسی گیم پلی است. و سپس به شخصیت خود توانایی حمله را خواهیم داد. ما حملات را با استفاده از Scriptable Objectها در یونیتی طراحی خواهیم کرد تا طراح بتواند کمبوهای مختلف حمله را بدون تغییر کد ایجاد و ویرایش کند. سپس شروع به ساخت هوش مصنوعی دشمن (Enemy AI) خواهیم کرد. ما هوش مصنوعی دشمن را با استفاده از یک ماشین حالت محدود (Finite-State Machine) طراحی خواهیم کرد. این تکنیکی است که برای ساخت هوش مصنوعی در بازیها در 25 سال گذشته استفاده شده است. این تکنیک در بازیهای محبوبی مانند Last of Us، مجموعه Batman Arkham و بسیاری دیگر استفاده شده است. بنابراین، ما یک ماشین حالت محدود را از ابتدا خواهیم ساخت و دشمنان خود را با استفاده از آن ایجاد خواهیم کرد. ما با ایجاد رفتارهای ساده دشمن مانند بیکار ایستادن و تعقیب بازیکن شروع میکنیم، سپس رفتارهای پیشرفتهتری مانند دور زدن بازیکن و حمله هماهنگ به او را پیادهسازی خواهیم کرد. هنگامی که کار ما با هوش مصنوعی دشمن تمام شد، ضدحملهها را پیادهسازی خواهیم کرد.
در طول این دوره، شما مهارتهای زیادی در زمینه برنامهنویسی بازی یاد خواهید گرفت. شما بسیاری از مفاهیم C# سطح متوسط مانند کلاسهای Generic، Dictionary، LINQ، وراثت و غیره را یاد خواهید گرفت. همچنین استفاده از مفاهیم ریاضی مانند مثلثات، ضرب داخلی (Dot Product)، ضرب خارجی (Cross Product) و غیره را خواهید آموخت. بنابراین مهارتها و تکنیکهایی که از این دوره یاد میگیرید، اگر میخواهید به عنوان یک برنامه نویس بازی فعالیت کنید، واقعاً برای شما مفید خواهد بود.
Fantacode Studios
شرکت توسعه بازی و اپلیکیشن
نمایش نظرات