آنچه یاد خواهید گرفت:
ساخت یک موتور بازی سهبعدی کامل با سی پلاس پلاس و OpenGL از ابتدا
پیادهسازی سیستمهای رندرینگ، شیدرها و نورپردازی بلادرنگ
ایجاد سیستمهای فرعی فیزیک، صدا و انیمیشن با کتابخانههای مدرن
طراحی یک سیستم صحنه مبتنی بر داده با بارگذاری مبتنی بر JSON
ساخت یک معماری ماژولار و مبتنی بر کامپوننت برای GameObjectها
توسعه یک چارچوب کامل رابط کاربری با دکمهها، متن و طرحبندیهای واکنشگرا
یکپارچهسازی مدیریت ورودی برای کنترل بازیکن و گیمپلی تعاملی
ترکیب همه سیستمها در یک نمونه اولیه بازی سهبعدی قابل اجرا داخل موتور خودتان
پیشنیازهای دوره
دانش اولیه تا متوسط سی پلاس پلاس (برنامهنویسی شیگرا، اشارهگرها و STL)
درک مفاهیم ریاضی سهبعدی مانند بردارها و ماتریسها
آشنایی با یک محیط توسعه یکپارچه مانند ویژوال استودیو یا CLion
یک کامپیوتر که بتواند اپلیکیشنهای OpenGL را اجرا کند.
کنجکاوی و انگیزه برای ساخت سیستمهای پیچیده از ابتدا
نیازی به تجربه قبلی در موتور بازی نیست، همهچیز را به صورت گامبهگام توضیح میدهیم.
توضیحات دوره
آیا تا به حال آرزو کردهاید که موتور بازی خودتان را بسازید، نه فقط از یونیتی یا آنریل استفاده کنید، بلکه واقعاً خودتان آن را بسازید؟
این دوره شما را در یک مسیر کامل از یک پروژه خالی سی پلاس پلاس تا یک موتور بازی سهبعدی کاملاً کاربردی همراهی میکند؛ موتوری که میتواند گرافیک بلادرنگ رندر کند و فیزیک، صدا، انیمیشن و رابط کاربری را مدیریت کند، همه از ابتدا طراحی و کدنویسی شده باشند.
ابتدا با ساخت پایه، ایجاد پنجره، مقداردهی اولیه OpenGL و رندر اولین مثلثها شروع میکنیم. سپس، به صورت گامبهگام، چارچوب خود را به یک موتور کامل همراه با مدیریت صحنه، متریالها و شیدرها، سیستمهای کامپوننت و سلسلهمراتب اشیا تبدیل میکنیم.
با پیشرفت دوره، قابلیتهای واقعی گیمپلی، از جمله نورپردازی، تکسچرها، کنترل دوربین، شبیهسازی فیزیک، پخش صدا، دکمههای رابط کاربری، منوها و حتی انیمیشن مدلهای سهبعدی با فرمت glTF را پیادهسازی میکنیم. در پایان، یک موتور کارآمد خواهید داشت که از رندرینگ دوبعدی و سهبعدی، منطق تعاملی گیمپلی و بارگذاری محتوای مبتنی بر داده از فایلهای JSON پشتیبانی میکند.
این موتور یک نمونه «اسباببازی» نیست، بلکه یک معماری حرفهای و مدرن سی پلاس پلاس است که از ساختار یونیتی و آنریل الهام گرفته، اما برای یادگیری و درک کامل، سادهسازی شده و از پایه ساخته شده است.
چه توسعهدهنده بازی باشید، چه برنامهنویس گرافیک یا علاقهمند به موتورهای بازی، این دوره به شما یاد میدهد موتورهای بازی در لایههای زیرین واقعاً چگونه کار میکنند.
این دوره برای چه کسانی مناسب است؟
توسعهدهندگان سی پلاس پلاس که میخواهند معماری واقعی موتور بازی را یاد بگیرند.
توسعهدهندگان بازی که میخواهند فراتر از یونیتی یا آنریل بروند.
برنامهنویسان گرافیک که رندرینگ، شیدرها و OpenGL را بررسی میکنند.
دانشجویان علوم کامپیوتر که طراحی موتورهای بلادرنگ را مطالعه میکنند.
توسعهدهندگان مستقل که برای پروژههای شخصی موتورهای سفارشی میسازند.
هر کسی که کنجکاو است بداند بازیهای مدرن در لایههای زیرین چگونه کار میکنند.