آموزش مقدماتی توسعه بازی با C# و MonoGame - آخرین آپدیت

دانلود A Gentle Intro To Game Development Using C# and MonoGame

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

این دوره منحصر به فرد با تمرکز بر ساخت بازی‌های دو بعدی (2D Games)، یک تجربه کدنویسی کامل و بدون ترس را برای مبتدیان فراهم می‌کند. شما در این دوره خواهید آموخت که چگونه:

  • بازی‌های دو بعدی ویندوز فرم (Winform) را در C# بسازید.
  • بازی‌های دو بعدی را با استفاده از MonoGame توسعه دهید.
  • یک برنامه گرافیکی شبیه‌ساز برنامه نقاشی "اچ-ا-اسکچ" (Etch-A-Sketch) ایجاد کنید.
  • برنامه‌های گرافیکی را بسازید که شامل رویدادهای کشیدن و رها کردن (Drag and Drop) باشند.
  • یک انیمیشن ساده از اشیاء بسازید و سپس از آن به عنوان پایه برای یک بازی مسابقه ماشین استفاده کنید.
  • یک بازی ماشین اسلات (Slot Machine) بسازید.
  • بازی‌های اشیاء در حال سقوط را بسازید... که در آن شما یک شیء را با کیبورد حرکت می‌دهید و اشیاء در حال سقوط از آسمان را برای کسب امتیاز می‌گیرید.
  • یک بازی تیراندازی فضایی (Space Shooter) بسازید.
  • چندین برنامه بازی دو بعدی (2D) را ایجاد کنید که شامل انیمیشن بدون پرش (Flicker-Free) باشند و به کاربر اجازه دهند برای کنترل حرکت از کیبورد و ماوس استفاده کند.
  • یک بازی تیراندازی با توپ (Cannon Shooting) بسازید.
  • یک بازی اسکرول عمودی (Vertical Scroller) بسازید.

پیش‌نیازهای دوره

برای شرکت در این دوره، شما باید درک مقدماتی از برنامه‌نویسی C# داشته باشید. مفاهیم پایه مانند حلقه‌ها (loops)، دستورات شرطی (if statements)، متدها (methods)، آرایه‌ها (arrays) و برخی مفاهیم ساده برنامه‌نویسی شی‌ءگرا (Object Oriented Programming) ضروری است.

تمرکز ما بر کار با Visual Studio Community Edition بر روی سیستم‌عامل‌های ویندوز خواهد بود.

اگر مطمئن نیستید که پیش‌زمینه کافی برای گذراندن این دوره را دارید، توصیه می‌کنم ابتدا دوره اول من با عنوان "برنامه‌نویسی C# برای مبتدیان: رویکرد کاربردهای عملی" را بگذرانید و سپس وارد این دوره شوید.

بازی‌های ویدیویی در کامپیوترها، کنسول‌ها و گوشی‌های ما حضور دارند! افراد زیادی آن‌ها را بازی می‌کنند و هر سال تعداد بیشتری به ساخت آن‌ها مشغول می‌شوند. اگر تا به حال یک بازی کامپیوتری انجام داده‌اید و با خود فکر کرده‌اید: "چگونه این کار را انجام می‌دهند؟" یا بهتر از آن، "من می‌خواهم چیزی شبیه به این بسازم"، پس این دوره نقطه آغاز شما خواهد بود. توسعه بازی (Game Development) همان چیزی است که بسیاری از توسعه‌دهندگان را وارد دنیای برنامه‌نویسی کرده است. اما واقعاً چند نفر از ما یاد گرفته‌ایم که چگونه بازی بسازیم؟ ساخت بازی می‌تواند چالش‌برانگیز باشد، اما لازم نیست همیشه اینطور باشد!

MonoGame یک فریم‌ورک بازی‌سازی چند پلتفرمی (Cross-Platform Gaming Framework) است که بر پایه فریم‌ورک XNA مایکروسافت بنا شده و یادگیری آن فوق‌العاده آسان است. مونوگیم (MonoGame) یک فریم‌ورک ساده و قدرتمند برای ساخت بازی برای کامپیوترهای رومیزی، کنسول‌های بازی و دستگاه‌های موبایل با استفاده از زبان برنامه‌نویسی C# است. بهترین نکته این است که بازی‌هایی که با MonoGame می‌سازید، بر روی iOS، اندروید، مک او اس ایکس، tvOS، ویندوز، لینوکس، پلی استیشن 4 و بسیاری پلتفرم‌های دیگر اجرا خواهند شد— "یک بار بنویسید، همه‌جا اجرا کنید". از MonoGame با موفقیت برای ساخت بازی‌هایی مانند Streets of Rage 4، Carrion، Celeste، Stardew Valley و بسیاری بازی‌های دیگر استفاده شده است.

این فریم‌ورک باز پیاده‌سازی فریم‌ورک XNA مایکروسافت است که دیگر پشتیبانی نمی‌شود، و ویژگی‌های زیر را ارائه می‌دهد:

  • فریم‌ورک جامع بازی
  • قابلیت رندرینگ 2D و 3D
  • پخش جلوه‌های صوتی و موسیقی
  • پشتیبانی از ورودی‌های کیبورد، ماوس، لمسی و کنترلر
  • ابزارهای ساخت و بهینه‌سازی محتوا
  • کتابخانه ریاضی بهینه‌سازی شده برای بازی‌ها

در زمینه محیط‌های توسعه بازی، گزینه‌های زیادی وجود دارد. از موتورهای بازی تمام‌عیار مانند Unity گرفته تا APIهای چندرسانه‌ای جامع و پیچیده مثل DirectX، ممکن است دانستن اینکه از کجا شروع کنیم، دشوار باشد. MonoGame مجموعه‌ای از ابزارهاست که سطح پیچیدگی آن جایی بین یک موتور بازی و یک API سطح پایین‌تر مانند DirectX قرار می‌گیرد. این فریم‌ورک یک پایپ‌لاین محتوای آسان برای استفاده و تمام قابلیت‌های لازم برای ساخت بازی‌های سبک را فراهم می‌کند که بر روی طیف وسیعی از پلتفرم‌ها اجرا می‌شوند.

MonoGame یک فریم‌ورک با رویکرد "ابزارهای خود را بیاورید" است، به این معنی که بلوک‌های ساختاری لازم برای ساخت موتور بازی و ابزارهای خودتان را فراهم می‌کند، اما خودش یک موتور بازی کامل نیست.

اگر انتظار یک ویرایشگر صحنه (مانند Unity یا Unreal) را دارید، MonoGame آن چیزی نیست.

اگر عاشق کدنویسی و درک نحوه عملکرد چیزها در عمق هستید، MonoGame ممکن است همان چیزی باشد که به دنبالش هستید. و نگران نباشید، اجرای یک بازی با MonoGame تنها چند دقیقه طول می‌کشد.

بهتر از همه، برنامه‌های MonoGame به زبان C# خالص نوشته می‌شوند و شما می‌توانید آن‌ها را به سرعت از طریق Microsoft Store یا سایر پلتفرم‌های توزیع مشابه منتشر کنید.

تمرکز دوره و به‌روزرسانی‌ها

تمرکز ما بر کار با Visual Studio Community (سازگار با نسخه‌های 2019/2022) بر روی سیستم‌عامل‌های ویندوز خواهد بود.

*** به‌روزرسانی 2023 ***
تمام دموهای MonoGame اکنون به نسخه 3.8 (منتشر شده در اواخر 2022) به‌روزرسانی شده‌اند.
قبلاً MonoGame از طریق یک نصب‌کننده بر روی سیستم شما نصب می‌شد، اما از نسخه 3.8 به بعد، همه چیز از طریق پکیج‌های NuGet و افزونه‌های Visual Studio نصب می‌شود. مهمترین تغییر برای کاربران فعلی این است که MonoGame از این پس فقط از .NET 6 و Visual Studio 2022 پشتیبانی خواهد کرد.

توجه:
قالب‌های پروژه MonoGame 3.8 با نسخه‌های قبلی MonoGame سازگار نیستند. اگر می‌خواهید بر روی پروژه‌های قدیمی‌تر MonoGame کار کنید یا آن‌ها را بسازید، همچنان باید MonoGame 3.7.1 یا نسخه‌های قدیمی‌تر را برای باز کردن آن‌ها نصب کنید. قالب‌های WindowsDX و DesktopGL اکنون در MonoGame 3.8 از پروژه‌های سبک SDK استفاده می‌کنند.
دموهای نسخه 3.7.1 همچنان در دوره حفظ شده‌اند.

رویکرد دوره و پشتیبانی مدرس

این دوره فرض می‌کند که شما کمی برنامه‌نویسی با C# انجام داده‌اید، اما تمام مطالب از ابتدایی‌ترین سطح شروع می‌شوند. این بدان معناست که هر کسی باید بتواند به دوره بپیوندد و مطالب را دنبال کند. این خبر خوب است.

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

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

در اینجا توضیح می‌دهم چگونه به شما در موفقیت کمک خواهم کرد:

  • هر درس با لیستی از اهداف/یادداشت‌های سخنرانی آغاز می‌شود.
  • هر مثال پوشش داده شده در درس برای دانلود در بخش منابع موجود است... شامل اهداف/یادداشت‌های سخنرانی.
  • تقریباً هر درس مجموعه‌ای از مسائل تمرینی با راه‌حل‌های کامل را ارائه می‌دهد.
  • سبک نوشتن و تدریس من از اصل KISS پیروی می‌کند: "آن را فوق‌العاده ساده نگه دار" (Keep It Super Simple). سعی می‌کنم از اصطلاحات پیچیده کامپیوتری دوری کنم و طوری تدریس کنم که گویی با یک کاربر کاملاً جدید با دانش قبلی کم یا بدون دانش در مورد موضوع صحبت می‌کنم... و من همیشه برای کمک در دسترس هستم... و در بیشتر مواقع ظرف یک روز پاسخ می‌دهم.

.... و در نهایت، لطفاً یک کتاب را از روی جلدش قضاوت نکنید... این دوره را بر اساس عنوان یا این بخش توضیحات کوچک قضاوت نکنید؛ اگر می‌خواهید دقیقاً تمام موضوعات پوشش داده شده را بدانید، لطفاً به بخش زیر مراجعه کنید:

محتوای دوره (COURSE CONTENT)
بخش‌ها (Sections)
درس‌ها (Lectures) (فلش پایین را فشار دهید)... این بخش هزاران خط توضیحات بسیار دقیق درباره درس‌ها را باز می‌کند و هیچ شکی درباره موضوعات پوشش داده شده یا نشده باقی نمی‌گذارد.

... پس، آیا آماده‌اید اولین بازی‌های خود را بسازید؟ بیایید شروع کنیم!


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

فصل ۱-اطلاعات دوره Course Information

  • ویدئو ۱-۱-خوش آمدید Welcome

  • ویدئو ۱-۲-چرا MonoGame؟... کمی پیشینه Why MonoGame? ... Some Background

  • ویدئو ۱-۳-آنچه نیاز دارید What You Need

  • ویدئو ۱-۴-آنچه خواهید آموخت What You are Going to Learn

فصل ۲-مبانی گرافیک Graphics Basics

  • ویدئو ۲-۱-کلاس گرافیک... استفاده از متد Form Paint The Graphics Class ... Using the Form Paint Method

  • ویدئو ۲-۲-استفاده از کنترل پنل Using The Panel Control

  • ویدئو ۲-۳-چالش شطرنجی... نوبت شما The Checkerboard Challenge ... Your Turn

  • ویدئو ۲-۴-رویدادهای ماوس... قسمت ۱: مقدمه Mouse Events ... Part 1 Introduction

  • ویدئو ۲-۵-رویدادهای ماوس... قسمت ۲: استفاده از کلاس‌ها و ساختارهای داده Mouse Events ... Part 2 Using Classes and Data Structures

  • ویدئو ۲-۶-رویدادهای کشیدن و رها کردن... و یک چالش... نوبت شما Drag and Drop Events ... And A Challenge ... Your Turn

  • ویدئو ۲-۷-آزمون مبانی گرافیک Graphics Basics Quiz

فصل ۳-مبانی انیمیشن Animation Basics

  • ویدئو ۳-۱-آرایه‌های تصویر و تایمرها Image Arrays and Timers

  • ویدئو ۳-۲-ایجاد انیمیشن‌های خودتان Creating Your Own Animations

  • ویدئو ۳-۳-برنامه نمونه... بازی ماشین اسلات Sample Application... The Slot Machine Game

  • ویدئو ۳-۴-حرکت اشیا با استفاده از .Left و .Top Moving Objects using .Left and .Top

  • ویدئو ۳-۵-چالش مسابقه اتومبیل‌رانی... نوبت شما The Car Race Challenge ... Your Turn

  • ویدئو ۳-۶-حرکت اشیا با استفاده از DrawImage Moving Objects using DrawImage

  • ویدئو ۳-۷-شفافیت تصویر Image Transparency

  • ویدئو ۳-۸-تشخیص برخورد و رویدادهای صفحه کلید Collision Detection and Keyboard Events

  • ویدئو ۳-۹-جلوه‌های صوتی Sound Effects

  • ویدئو ۳-۱۰-چالش بازی اشیاء در حال سقوط... نوبت شما The Falling Objects Game Challenge ... Your Turn

فصل ۴-انیمیشن پیشرفته Advanced Animation

  • ویدئو ۴-۱-بافرینگ دوگانه Double Buffering

  • ویدئو ۴-۲-پنل‌های ماوس و بافرینگ دوگانه Mouse Panels and Double Buffering

  • ویدئو ۴-۳-اسکرولینگ (پیمایش) Scrolling

  • ویدئو ۴-۴-توسعه بازی قسمت ۱ Game Development Part 1

  • ویدئو ۴-۵-توسعه بازی قسمت ۲... چالش نهایی در C# خالص... نوبت شما Game Development Part 2 ... The Final Challenge in Plain C# ... Your Turn

  • ویدئو ۴-۶-آزمون خلاصه انیمیشن گرافیک Graphics Animation Summary Quiz

فصل ۵-مقدمه‌ای بر MonoGame Introduction To Monogame

  • ویدئو ۵-۱-ایجاد اولین پروژه MonoGame خود Creating Your First Monogame Project

  • ویدئو ۵-۲-مدیریت محتوا Managing Content

  • ویدئو ۵-۳-نمایش محتوا... اسپریت‌ها Displaying The Content ... The Sprites

  • ویدئو ۵-۴-حرکت دادن اسپریت‌ها Moving The Sprites

  • ویدئو ۵-۵-بردار سرعت The Velocity Vector

  • ویدئو ۵-۶-برخورد با دیوار! Hitting the Wall !

  • ویدئو ۵-۷-رسم متن Drawing Text

  • ویدئو ۵-۸-افزودن موسیقی پس‌زمینه و جلوه‌های صوتی Adding Background Music and Sound Effects

  • ویدئو ۵-۹-آزمون مقدمه‌ای بر MonoGame Introduction To MonoGame Quiz

فصل ۶-مقدمه‌ای بر MonoGame... نوبت شما (با من بسازید: سبک شیءگرا) Introduction to MonoGame ... Your Turn (Build It With Me Object Oriented Style)

  • ویدئو ۶-۱-مسئله ۱... تصاویر ثابت Problem 1 ... Static Images

  • ویدئو ۶-۲-مسئله ۲... تصاویر متحرک Problem 2 ... Moving Images

  • ویدئو ۶-۳-مسئله ۳... پرش از دیوار Problem 3 ... Bounce off a Wall

  • ویدئو ۶-۴-مسئله ۴... گنجاندن یک کلاس Problem 4 ... Incorporating a Class

  • ویدئو ۶-۵-مسئله ۵... افزودن Update و Draw به کلاس Problem 5 ... Adding Update and Draw To The Class

  • ویدئو ۶-۶-مسئله ۶... متدهای دسترسی و تغییر Problem 6 ... Accessors and Mutators

  • ویدئو ۶-۷-مسئله ۷... ویژگی رنگ Problem 7 ... The Color Property

  • ویدئو ۶-۸-مسئله ۸... افزودن پس‌زمینه Problem 8 ... Adding A Background

  • ویدئو ۶-۹-مسئله ۹... موسیقی پس‌زمینه Problem 9 ... Background Music

  • ویدئو ۶-۱۰-مسئله ۱۰... آرایه‌ای از سرهای جهنده Problem 10 ... An Array of Bouncing Heads

  • ویدئو ۶-۱۱-درس جایزه... یک اسپریت چرخان Bonus Lecture ... A Rotating Sprite

فصل ۷-تکنیک‌های انیمیشن کاراکتر MonoGame MonoGame Character Animation Techniques

  • ویدئو ۷-۱-انیمیشن کودک لگدزن... آرایه‌ای از Texture2D The Kicking Baby Animation ... An Array of Texture2D

  • ویدئو ۷-۲-ایجاد یک اسپریت متحرک با استفاده از اسپریت استریپ Creating an Animated Sprite Using A Sprite Strip

فصل ۸-توسعه بازی با استفاده از MonoGame... اصول اولیه Game Development Using MonoGame ... The Essentials

  • ویدئو ۸-۱-مدیریت ورودی صفحه کلید برای کنترل حرکت Handling Keyboard Input To Control Movement

  • ویدئو ۸-۲-ورودی بیشتر صفحه کلید... حرکت و یک اسپریت استریپ More Keyboard Input ... Movement and a Sprite Strip

  • ویدئو ۸-۳-تشخیص برخورد... هنگام حرکت اشیا با صفحه کلید (با من بسازید) Collision Detection ... When Moving Objects with the Keyboard (Build It With Me)

  • ویدئو ۸-۴-بازی ساده قسمت ۱... نوبت شما (با من بسازید) Simple Game Part 1... Your Turn (Build It With Me)

  • ویدئو ۸-۵-بازی ساده قسمت ۲... نوبت شما (با من بسازید) Simple Game Part 2 ... Your Turn (Build It With Me)

  • ویدئو ۸-۶-خلاصه بازی ساده... تشخیص برخورد و حرکت با صفحه کلید Simple Game RECAP ... Collision Detection and Keyboard Movement

  • ویدئو ۸-۷-مدیریت ورودی ماوس در MonoGame Handling Mouse Input in MonoGame

  • ویدئو ۸-۸-ایجاد اولین بازی MonoGame خود... نوبت شما Creating Your First MonoGame Game ... Your Turn

  • ویدئو ۸-۹-توسعه بازی... آزمون اصول اولیه Game Development ... The Essentials Quiz

فصل ۹-توسعه بازی در MonoGame... گام بعدی Game Development in MonoGame ... The Next Step

  • ویدئو ۹-۱-مدیریت وضعیت بازی Game State Management

  • ویدئو ۹-۲-بازی توپ‌انداز قسمت ۱ (با من بسازید) The Cannon Shooter Game Part 1 (Build It With Me)

  • ویدئو ۹-۳-بازی توپ‌انداز قسمت ۲ (با من بسازید) The Cannon Shooter Game Part 2 (Build It With Me)

  • ویدئو ۹-۴-بازی توپ‌انداز قسمت ۳ (با من بسازید)... به علاوه دوباره نوبت شما The Cannon Shooter Game Part 3 (Build It With Me) ... Plus Your Turn Again

  • ویدئو ۹-۵-توسعه بازی... آزمون گام بعدی Game Development ... The Next Step Quiz

فصل ۱۰-ایجاد یک بازی اسکرولینگ با استفاده از MonoGame Creating A Scrolling Game Using MonoGame

  • ویدئو ۱۰-۱-مقدمه‌ای بر اسکرولینگ Introduction to Scrolling

  • ویدئو ۱۰-۲-اسکرولینگ کنترل‌شده توسط کاربر User Controlled Scrolling

  • ویدئو ۱۰-۳-اسکرولینگ، چرخش و تیراندازی قسمت ۱ Scrolling Rotating and Shooting Part 1

  • ویدئو ۱۰-۴-اسکرولینگ، چرخش و تیراندازی قسمت ۲ Scrolling Rotating and Shooting Part 2

  • ویدئو ۱۰-۵-یک بازی اسکرولینگ... نوبت شما A Scrolling Game ... Your Turn

فصل ۱۱-جمع‌بندی... از اینجا به کجا می‌روید؟ The Wrap Up ... Where Do You Go From Here ?

  • ویدئو ۱۱-۱-بازی‌های نمونه دانشجویان Student Sample Games

  • ویدئو ۱۱-۲-گام بعدی چیست؟ What's The Next Step?

فصل ۱۲-گام بعدی The Next Step

  • ویدئو ۱۲-۱-درس جایزه Bonus Lecture

نمایش نظرات

آموزش مقدماتی توسعه بازی با C# و MonoGame
جزییات دوره
14 hours
66
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
948
4.4 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Charlie Chiarelli Charlie Chiarelli

مدرس آنلاین با تجربه