قدرت C++20 مدرن، OpenGL و SDL2 را مستقیماً با WebAssembly به مرورگر بیاورید و موتور بازیسازی دو-بعدی خود را از صفر بسازید. در این دوره، یاد میگیرید چگونه عملکرد Native زبان C++ را با دسترسیپذیری وب ترکیب کنید و با استفاده از Emscripten، موتور خود را به WASM کامپایل کنید تا در هر مرورگر مدرنی اجرا شود.
شما فراتر از رسم ساده اسپرایتها خواهید رفت — ما یک موتور واقعی با معماریهای زیر طراحی میکنیم:
سیستم موجودیت-مؤلفه (ECS) با استفاده از EnTT
فیزیک و برخوردها با قدرت Box2D
اسکریپتنویسی Lua برای منطق بازی منعطف و پویا
رندرینگ OpenGL برای گرافیک بهینه
SDL2 برای مدیریت ورودیها، پنجره و صدا
منابع با قابلیت Hot-reload و معماری ماژولار آماده برای توسعه
در پایان دوره، شما یک فریمورک کامل بازی مبتنی بر مرورگر خواهید داشت که قادر به اجرای بازیهای پیچیده دو-بعدی است — تماماً کدنویسی شده با C++20 مدرن و پاک، و قابل گسترش آسان از طریق اسکریپتهای Lua.
ما با یک بازی ساده به سبک تتریس شروع میکنیم و سپس به سمت یک بازی پلتفرمر با استفاده از فیزیک، Tilemapها و کنترلهای اسکریپتی پیش میرویم. در این مسیر، الگوهای طراحی هسته موتور، تکنیکهای مدرن C++ و روشهای واقعی برای کامپایل متقاطع (Cross-compiling) و بهینهسازی بازیها برای وب را خواهید آموخت.
آنچه خواهید آموخت:
نحوه کامپایل C++20 مدرن به WebAssembly با استفاده از Emscripten
استفاده از SDL2 و OpenGL برای رندرینگ چندپلتفرمی در مرورگر
ساخت سیستم Entity Component System (ECS) با EnTT
افزودن سیستم فیزیک با استفاده از Box2D
نحوه جاسازی و استفاده از Lua برای اسکریپتنویسی گیمپلی
سازماندهی معماری موتور بازیسازی به صورت تمیز و بهینه
ساخت بازیهای دو-بعدی واقعی در مرورگر با عملکرد بالای C++
تکنولوژیهای مورد استفاده:
C++20
WebAssembly (WASM)
Emscripten
SDL2
OpenGL
Box2D
Lua
EnTT (ECS)
این دوره برای چه کسانی است:
توسعهدهندگان C++ که میخواهند بازیهای خود را به وب بیاورند
توسعهدهندگان بازی علاقهمند به ساخت موتور دو-بعدی اختصاصی
برنامهنویسانی که میخواهند Emscripten و WebAssembly را در یک پروژه واقعی بیاموزند
هر کسی که میخواهد عملکرد Native را با استقرار در وب ترکیب کند
چرا این دوره را بگذرانید:
بسیاری از آموزشهای WebAssembly در حد «Hello World» متوقف میشوند. در این دوره، شما چیزی واقعی میسازید — یک موتور بازیسازی دو-بعدی کاملاً کاربردی. شما تمام لایهها را درک خواهید کرد: از کامپایل C++20، معماری ECS و ادغام فیزیک، تا اسکریپتنویسی، رندرینگ و استقرار نهایی.
این یک آموزش طراحی مدرن موتور بازی برای وب است که گامبهگام، با C++ تمیز و قابل نگهداری و تکنیکهای سطح صنعتی تدریس شده است.
Dustin Clark
توسعهدهنده نرمافزار
نمایش نظرات