آموزش 50 روز تا تبدیل شدن به یک برنامه‌نویس حرفه‌ای بازی با C++ و SDL2 - آخرین آپدیت

دانلود 50 Days of Becoming a Pro Game Programmer in C++ using SDL2

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

آموزش ساخت بازی با C++: از مبتدی تا حرفه‌ای در 50 روز با SDL2

آیا می‌خواهید با استفاده از C++، سریع‌ترین و قدرتمندترین زبان برنامه‌نویسی، بازی‌های حرفه‌ای بسازید؟

به دوره "50 روز آموزش حرفه‌ای ساخت بازی با SDL2" خوش آمدید. یک راهنمای گام به گام که مبتدیان را به توسعه‌دهندگان بازی C++ ماهر و با اعتماد به نفس تبدیل می‌کند. در این دوره از SDL2 (Simple DirectMedia Layer)، یکی از قدرتمندترین و پرکاربردترین کتابخانه‌های توسعه بازی استفاده خواهیم کرد.

در این دوره، با معرفی SDL2 شروع می‌کنیم و با گذر هر روز، موضوعات پیشرفته‌تری از SDL2 را پوشش می‌دهیم. پس از پوشش هر مفهوم، یک تمرین متناسب با آن موضوع به شما داده می‌شود تا بتوانید تجربه عملی بیشتری کسب کنید.

در عرض فقط 50 روز، از درک گرافیک پایه و ایجاد پنجره، به ساخت بازی‌های حرفه‌ای تمام عیار خواهید رسید.

SDL2 یک کتابخانه C++ استاندارد صنعتی است که در موارد زیر استفاده می‌شود:

  • توسعه بازی‌های مستقل (Indie)
  • موتورهای بازی (مانند Unity و Unreal در پس زمینه)
  • شبیه‌سازها (Emulators)
  • سیستم‌های دسکتاپ و جاسازی شده با کارایی بالا

این فقط تئوری نیست. هر روز از این دوره بر توسعه عملی و کاربردی با پروژه‌های کوچک، تکالیف و پیاده‌سازی‌های دنیای واقعی تمرکز دارد.

برای تقویت درک شما، موارد زیر را در نظر گرفته‌ایم:

  • چالش‌ها برای آزمایش یادگیری شما
  • تکالیف هفتگی با تمرکز بر ساخت اجزا از ابتدا (به عنوان مثال، تشخیص برخورد، انیمیشن متن)
  • پروژه‌های کوچک که چندین ویژگی SDL2 را ترکیب می‌کنند
  • تکالیف بازی نهایی – جایی که بازی اختصاصی خود را می‌سازید و به نمایش می‌گذارید!

همچنین راهنمایی‌ها، راه حل‌ها و پشتیبانی انجمن را در طول مسیر دریافت خواهید کرد.

چه چیزی به دست خواهید آورد؟

تا پایان این دوره 50 روزه، شما:

  • درک خواهید کرد که SDL2 چگونه کار می‌کند
  • قادر خواهید بود بازی‌ها را به طور کامل در C++ ایجاد کنید
  • صدا، فونت، ورودی‌ها، رندر و انیمیشن‌ها را مدیریت خواهید کرد
  • نحوه مدیریت تشخیص برخورد و فیزیک را خواهید دانست
  • در مدیریت وضعیت اشیاء، سطوح، امتیازدهی و منوها اعتماد به نفس خواهید داشت
  • مجموعه ای از بازی‌های قابل بازی خواهید داشت
  • آماده خواهید بود که بازی مستقل (Indie) خود را شروع کنید یا به یک تیم توسعه بپیوندید

پیش نیازها: آشنایی با مبانی یک زبان برنامه نویسی ضروری است.

شروع کنیم!

اقدام کنید، 50 روز ثابت قدم بمانید و با استفاده از SDL2 و C++ به یک توسعه دهنده بازی حرفه‌ای تبدیل شوید.

بیایید کدنویسی کنیم، خلق کنیم و بازی کنیم!


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

روز 1 : راه اندازی ++C و SDL2 Day 1 : Setting up C++ and SDL2

  • مقدمه Introduction

روز 2 : مقداردهی اولیه SDL و پنجره بازی Day 2 : SDL Initialization and Gaming Window

  • مقداردهی اولیه SDL SDL Initialization

  • ایجاد پنجره Window Creation

  • به تاخیر انداختن نمایش پنجره Delaying Window Display

  • اطمینان از نمایش پنجره: بررسی خطای ایجاد پنجره Ensuring Window Display : Window Creation Error Checking

  • از بین بردن پنجره Destroying Window

  • ویژگی های مختلف پنجره ها Different Windows Properties

روز 3 : رندر کننده SDL - رندر کردن در SDL2 Day 3 : SDL Renderer - Rendering in SDL2

  • ایجاد یک رندر کننده Creating a Renderer

  • تغییر رنگ پس زمینه از طریق رندر کننده Changing Background Color via Renderer

  • پاک کردن رندر SDL و ارائه رندر SDL SDL Render Clear and SDL Render Present

  • از بین بردن رندر کننده Destroying Renderer

روز 4 : رندر کردن محتوای گرافیکی Day 4 : Rendering Graphical Content

  • رسم اشکال مختلف از طریق رندر کننده قسمت - 1 Drawing Different Shapes via Renderer Part - 1

  • رسم اشکال مختلف از طریق رندر کننده قسمت - 2 Drawing Different Shapes via Renderer Part - 2

روز 5 : تکالیف Day 5 : Assignments

  • تکلیف - 1 Assignment - 1

  • تکلیف - 2 Assignment - 2

روز 6 : بافت های SDL قسمت - 1 Day 6 : SDL Textures Part - 1

  • اضافه کردن کتابخانه تصویر SDL Adding the SDL Image Library

  • معرفی بافت های SDL Introduction to SDL Textures

  • نمایش بافت ها روی صفحه Displaying Textures onto the Screen

  • محل مقصد بافت Distination Location of Texture

  • پشتیبانی از فایل های تصویری با فرمت های مختلف Supporting Different Format Image Files

  • از بین بردن بافت ها Destroying Textures

  • پشتیبانی از فایل های تصویری بیت مپ Supporting Bit Map Image Files

روز 7 : بافت های SDL قسمت - 2 Day 7 : SDL Textures Part - 2

  • رویداد بستن پنجره SDL Poll SDL Poll Close Window Event

  • رسم بافت های مختلف روی پنجره SDL Drawing Different Textures on SDL Window

  • تنظیم یا تغییر تصویر پس زمینه Setting or Changing Background Image

  • استفاده از آرایه ها برای قرار دادن تصاویر روی پنجره SDL Using Arrays to Put Images on SDL Window

روز 8 : تکلیف Day 8 : Assignment

  • تکلیف Assignment

روز 9 : حرکت اشیاء Day 9 : Objects Movement

  • درک سیستم مختصات Understanding the Coordinate System

  • حلقه بازی Game Loop

  • حرکت مستطیل روی پنجره SDL Moving Rectangle on SDL Window

  • حرکت توپ در همه جهات Ball Movement in all Directions

روز 10 : تکالیف Day 10 : Assignments

  • تکلیف Assignment

روز 11 : تکالیف Day 11 : Assignments

  • تکلیف Assignment

روز 12 : رویدادهای SDL - رویدادهای مختلف ماوس Day 12 : SDL Events - Different Mouse Events

  • رویدادهای ماوس قسمت - 1 Mouse Events Part - 1

  • رویدادهای ماوس قسمت - 2 Mouse Events Part - 2

  • رویدادهای ماوس قسمت - 3 Mouse Events Part - 3

  • رویدادهای ماوس قسمت - 4 Mouse Events Part - 4

روز 13 : رویدادهای SDL - رویدادهای مختلف صفحه کلید Day 13 : SDL Events - Different Keyboard Events

  • دریافت کد کلید صفحه کلید Getting Keyboard Key Code

  • حرکت مستطیل ها با کلیدهای جهت دار Moving Rectangles with Arrow Keys

  • کد کلید حروف الفبا و اعداد Alphabet and Number Key Code

  • تمام کدهای کلید صفحه کلید باقیمانده All Remaining Keyboard Key Code

  • کلید رها شده Key Up

روز 14 : تکلیف Day 14 : Assignment

  • تکلیف Assignment

روز 15 : تکلیف Day 15 : Assignment

  • تکلیف Assignment

روز 16 : کار با صدا در SDL2 Day 16 : Working With Audio in SDL2

  • مقداردهی اولیه زیر سیستم صوتی Initializing Audio Sub-System

  • باز کردن یک دستگاه صوتی Opening up an Audio Device

  • پخش صدا با فرمت طولانی Playing Long Format Audio

  • پخش صدا با فرمت کوتاه Playing Short Format Audio

  • بستن صدا و پخش هر دو نوع صدا Closing Audio and Playing Both Type of Audio

  • پخش، مکث و از سرگیری صدا Play Pause and Resume Audio

روز 17 : تکالیف Day 17 : Assignments

  • تکلیف Assignment

روز 18 : کار با متن - SDL_ttf Day 18 : Working with Text - SDL_ttf

  • شامل کردن کتابخانه فونت SDL Including the SDL Font Library

  • مقداردهی اولیه فونت متن Text Font Initialization

  • بارگیری و نمایش متن روی پنجره SDL Loading and Displaying Text on SDL Window

روز 19 : انیمیشن ها در SDL2 Day 19 : Animations in SDL2

  • نمایش متن به صورت متحرک Displaying Text in Animated Form

  • انیمیشن متن: تغییر رنگ متن سرخ شده Text Animation : Changing Color Blushing Text

  • متن چشمک زن Blinking Text

روز 20 : تکالیف Day 20 : Assignments

  • تکلیف Assignment

روز 21 : تکلیف Day 21 : Assignment

  • تکلیف Assignment

روز 22 : ناپدید شدن شیء Day 22 : Object Disappearance

  • ناپدید کردن اشیاء Making Objects Disappear

  • خوردن غذا توسط مار: ناپدید شدن غذا Snake Eating Food : Food Disappear

روز 23 : حرکات پیشرفته در SDL2 Day 23 : Advance Movements in SDL2

  • حرکت زمین Ground Movement

  • حرکت جاده Road Movement

  • حرکت درختان و چمن Trees and Grass Movement

روز 24 : تشخیص برخورد Day 24 : Collision Detection

  • تشخیص برخورد بین 2 شیء Detecting Collision between 2 Objects

  • برخورد توپ با دیوارها Ball Collision with Walls

  • برخورد توپ با آجرها Ball Collision with Bricks

روز 25 : تکالیف Day 25 : Assignments

  • تکلیف Assignment

روز 26 : تکالیف Day 26 : Assignments

  • تکلیف Assignment

روز 27 : کار با امتیازها در SDL2 Day 27 : Working with Scores in SDL2

  • رندر کردن امتیاز Score Rendering

  • تابع رندر کردن امتیاز Score Rendering Function

  • رندر کردن امتیاز با کشتن دشمن Rendering Score on Enemy Kill

روز 28 : نمایش سیستم منو برای بازی Day 28 : Displaying Menu System for the Game

  • تابع سیستم منو Menu System Function

  • به کار انداختن سیستم منو قسمت - 1 Making Menu System Work Part - 1

  • به کار انداختن سیستم منو قسمت - 2 Making Menu System Work Part - 2

روز 29 : تکالیف Day 29 : Assignments

  • تکلیف Assignment

روز 30 : تکالیف Day 30 : Assignments

  • تکلیف Assignment

روز 31 : بازی شکستن آجر در SDL2 قسمت - 1 Day 31 : Brick Breaker Game in SDL2 Part - 1

  • پنجره بازی برای بازی Gaming Window for the Game

  • نمایش توپ روی پنجره بازی Displaying Ball on Gaming Window

  • تابع کنترل کننده رویداد Event Handler Function

  • تنظیم یک تصویر پس زمینه خوب Setting up a nice background Image

  • حرکت دادن توپ Moving the Ball

روز 32 : بازی شکستن آجر در SDL2 قسمت - 2 Day 32 : Brick Breaker Game in SDL2 Part - 2

  • تشخیص برخورد توپ با دیوارها و معکوس کردن سرعت آن Detecting Ball Collision with Walls and Reversing its Velocity

  • حرکت خفاش Bat Movement

  • برخورد توپ با خفاش Bat Ball Collision

  • مقداردهی اولیه آجرها Bricks Initialization

  • برخورد توپ با آجر Ball Brick Collision

روز 33 : بازی شکستن آجر در SDL2 قسمت - 3 Day 33 : Brick Breaker Game in SDL2 Part - 3

  • شرط برنده شدن Winning Condition

  • تابع نابود کردن Destroy Function

  • شرط اتمام بازی Game Over Condition

  • توضیح نهایی Final Explanation

روز 34 : بازی مهاجمان فضایی در SDL2 قسمت - 1 Day 34 : Space Invader Game in SDL2 Part - 1

  • نمایش پنجره بازی Displaying the Gaming Window

  • رویداد خروج SDL SDL Quit Event

  • نمایش سفینه فضایی Displaying the Spaceship

  • حرکت سفینه فضایی Spaceship Movement

  • شلیک گلوله توسط سفینه فضایی Spaceship fires the bullet

روز 35 : بازی مهاجمان فضایی در SDL2 قسمت - 2 Day 35 : Space Invader Game in SDL2 Part - 2

  • حرکت دشمنان Enemies Movement

  • تابع تشخیص برخورد Collision Detection Function

  • کشتن دشمنان با شلیک گلوله Killing Enemies on Bullet Fire

  • اتمام بازی Game Over

  • بازی مجدد - وظیفه چالشی Replay the Game - Challenge Task

روز 36 : تکلیف: ساخت یک بازی کوچک Day 36 : Assignment : Make a Mini Game

  • تکلیف Assignment

روز 37 : تکلیف: ساخت یک بازی کوچک Day 37 : Assignment : Make a Mini Game

  • تکلیف Assignment

روز 38 : بازی دینو در SDL2 قسمت - 1 Day 38 : Dino Game in SDL2 Part - 1

  • نمایش پنجره SDL2 Displaying the SDL2 Window

  • تابع کنترل کننده رویداد خروج SDL SDL Quit Event Handler Function

  • قرار دادن دینو روی پنجره SDL2 Putting Dino on SDL2 Window

  • پرش دینو و اعمال اثر گرانش Dino Jump and Applying Gravity Effect

روز 39 : بازی دینو در SDL2 قسمت - 2 Day 39 : Dino Game in SDL2 Part - 2

  • پیمایش زمین Ground Scrolling

  • حرکت موانع Obstacles Movement

  • قرار دادن پتراس در ارتفاعات مختلف Putting Pteras at different Altitudes

روز 40 : بازی دینو در SDL2 قسمت - 3 Day 40 : Dino Game in SDL2 Part - 3

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

  • منطق اتمام بازی Game Over Logic

  • بازی مجدد Replay the Game

  • توضیح نهایی Final Explanation

روز 41 : تکالیف Day 41 : Assignments

  • تکلیف Assignment

روز 42 : تکالیف Day 42 : Assignments

  • تکلیف Assignment

روز 43 : تکلیف پروژه بزرگ شماره 1 قسمت - 1 Day 43 : Mega Project#1 Assignment Part - 1

  • تکلیف پروژه بزرگ Mega Project Assignment

روز 44 : تکلیف پروژه بزرگ شماره 1 قسمت - 2 Day 44 : Mega Project #1 Assignment Part - 2

  • تکلیف پروژه بزرگ Mega Project Assignment

روز 44 : تکلیف پروژه بزرگ شماره 1 قسمت - 3 Day 44 : Mega Project#1 Assignment Part - 3

  • تکلیف پروژه بزرگ Mega Project Assignment

روز 45 : تکلیف پروژه بزرگ شماره 1 قسمت - 4 Day 45 : Mega Project#1 Assignment Part - 4

  • تکلیف پروژه بزرگ Mega Project Assignment

روز 46 : تکلیف پروژه بزرگ شماره 2 قسمت - 1 Day 46 : Mega Project#2 Assignment Part - 1

  • تکلیف پروژه بزرگ Mega Project Assignment

روز 47 : تکلیف پروژه بزرگ شماره 2 قسمت - 2 Day 47 : Mega Project#2 Assignment Part - 2

  • تکلیف پروژه بزرگ Mega Project Assignment

روز 48 : تکلیف پروژه بزرگ شماره 2 قسمت - 3 Day 48 : Mega Project#2 Assignment Part - 3

  • تکلیف پروژه بزرگ Mega Project Assignment

روز 49 : هر سوالی دارید بپرسید Day 49 : Ask me anything

  • سوالات متداول FAQs

دوره فشرده ++C C++ Crash Course

  • دوره فشرده ++C C++ Crash Course

نمایش نظرات

آموزش 50 روز تا تبدیل شدن به یک برنامه‌نویس حرفه‌ای بازی با C++ و SDL2
جزییات دوره
23.5 hours
100
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
158
4.9 از 5
ندارد
دارد
دارد
Umair Khan
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Umair Khan Umair Khan

مربی