ساخت بازیهای دوبعدی با Ebitengine در زبان Go (Golang)
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- بیاموزید چگونه یک بازی دوبعدی ساده را در Go بسازید.
- بیاموزید چگونه در بازی خود اسپرایتها را انیمیت کنید.
- یک موتور برخورد در بازیتان پیادهسازی کنید.
- جلوههای صوتی به بازی خود اضافه کنید.
- بیاموزید چگونه بازی خود را بهصورت یک اپلیکیشن مستقل یا یک صفحه وب با استفاده از WASM منتشر کنید.
پیش نیازهای دوره
- آشنایی با زبان برنامهنویسی Go الزامی است.
توضیحات دوره
در این دوره عملی، خواهید آموخت چگونه با استفاده از کتابخانهٔ قدرتمند و سبک Ebitengine در زبان Golang یک بازی کلاسیک تیراندازی فضایی دوبعدی به نام Asteroids بسازید. چه در توسعه بازی تازهکار باشید و چه بخواهید مهارتهای خود را در یک زبان و چارچوب جدید گسترش دهید، این دوره شما را در تمام مراحل ساخت نسخه خودتان از این بازی آرکید نمادین راهنمایی میکند.
کتابخانه ساده و قابلفهم Ebitengine به شما اجازه میدهد بازیهای دوبعدی را بهسرعت و بهسادگی توسعه دهید. بازیها میتوانند روی چندین پلتفرم منتشر شوند؛ از جمله ویندوز، مک، لینوکس، FreeBSD، وب، iOS و اندروید. حتی میتوانید بازی خود را روی Steam نیز منتشر کنید!
زبان Go سریع است و Ebitengine نیز همینطور است. با وجود آنکه API رسم گرافیکی Ebitengine بسیار ساده است، بازیهایی که با آن ساخته میشوند با استفاده از توان GPU، بسیار سریع اجرا میشوند.
در این دوره خواهیم آموخت:
- مقدمهای بر Ebitengine: آشنایی با مبانی نصب Go و استفاده از Ebitengine برای توسعه بازیهای دوبعدی
- اصول طراحی بازی: درک مکانیکهای اصلی بازی مانند حرکت کاراکتر، برخورد اشیا، حالتهای بازی و رندرینگ
- ایجاد دنیای بازی: یادگیری طراحی میدان شهابسنگها، کنترلهای سفینه و فیزیک فضایی مانند چرخش، رانش و اینرسی
- رندر و انیمیشن: تسلط به چگونگی طراحی و انیمیت کردن سفینه، شهابسنگها، گلولهها و انفجارها با استفاده از توابع قدرتمند رسم Ebitengine
- منطق بازی: پیادهسازی حلقه بازی، سیستم امتیازدهی، سطحها و مکانیزمهای spawn شهابسنگها. یادگیری ساخت دشمنان و مدیریت سلامت بازیکن
- صدا و موسیقی: افزودن جلوههای صوتی برای شلیکها، انفجارها و موسیقی پسزمینه جهت ارتقای تجربه بازیکن
- ساخت یک بازی قابلبازی: یکپارچهسازی همه بخشها برای ساخت یک بازی کامل و تعاملی که روی مرورگر یا پلتفرم دسکتاپ اجرا میشود.
در پایان این دوره، شما نسخه قابلبازی خودتان از Asteroids را توسعه دادهاید و دانش و اعتمادبهنفس لازم برای ساخت بازیهای دوبعدی پیچیدهتر با Golang را به دست خواهید آورد. چه بخواهید قابلیتهای جدید اضافه کنید یا بازی خود را از ابتدا بسازید، این دوره مهارتهای اساسی لازم برای توسعه بازی در Go با استفاده از Ebitengine را در اختیار شما قرار میدهد.
پیشنیازها:
- دانش اولیه با زبان برنامهنویسی Go
ابزارهای مورد استفاده:
- Go
- Ebitengine (یک موتور بازیسازی دوبعدی برای Go)
- Visual Studio Code (یا هر IDE دلخواه)
اولین قدم خود را برای ورود به دنیای توسعه بازی با Golang بردارید!
این دوره برای چه کسانی مناسب است؟
- این دوره برای توسعهدهندگان Go است که میخواهند یاد بگیرند چگونه بازیهای دوبعدی بسازند.
ساخت بازیهای دوبعدی با Ebitengine در زبان Go (Golang)
-
مقدمه 04:11
-
کمی درباره من 01:01
-
نصب Go 01:31
-
نصب Visual Studio Code 03:14
-
اطمینان از آماده بودن محیط توسعه ما برای Ebiten 02:12
-
درخواست کمک 01:14
-
چه چیزی در این بخش میسازیم؟ 00:54
-
یادداشت مهم برای کاربران WSL ویندوز 01:03
-
شروع کار با بازی ما 05:30
-
شروع کار با اسپرایت ها 07:57
-
ایجاد یک آبجکت بازیکن با اسپرایت ما 06:22
-
ترسیم بازیکن بر روی صفحه 02:28
-
چرخش اسپرایت بازیکن 11:02
-
حرکت دادن بازیکن بر روی صفحه 13:30
-
نگه داشتن بازیکن بر روی صفحه 09:03
-
چه چیزی در این بخش میسازیم؟ 02:24
-
ساخت یک مدیر صحنه 15:47
-
تغییر نوع بازی برای استفاده از مدیر صحنه 06:18
-
راه اندازی یک صحنه بازی 04:37
-
بروزرسانی نوع بازیکن برای استفاده از مدیر صحنه 03:31
-
تلاش پروژه بروزرسانی شده ما 01:07
-
اضافه کردن یک صحنه عنوان ساده 16:18
-
بروزرسانی نمایش متن برای استفاده از text/v2 07:15
-
چه چیزی در این بخش میسازیم؟ 00:50
-
بارگذاری داراییهای شهابسنگ 04:39
-
شروع کار با meteor.go 18:40
-
اضافه کردن متدهای بروزرسانی، رسم و نگهداشتن روی صفحه به نوع شهابسنگ 07:25
-
ترسیم چند شهابسنگ بر روی صحنه عنوان 06:43
-
ترسیم شهابسنگها بر روی صحنه بازی 16:44
-
چه چیزی در این بخش میسازیم؟ 01:30
-
اضافه کردن solarlune/resolv به پروژه ما برای امکانپذیری تشخیص برخورد 01:41
-
بروزرسانی شهابسنگها برای ایجاد آبجکت های برخورد 11:29
-
بروزرسانی بازیکن برای ایجاد آبجکت برخورد 05:02
-
ایجاد فضایی برای برخوردها در صحنه بازی 03:47
-
تست تشخیص برخورد 04:27
-
چه چیزی در این بخش میسازیم؟ 01:15
-
شروع کار با اضافه کردن لیزرهای بازیکن 13:53
-
اضافه کردن لیزرها به بازیکن و صحنه بازی 05:54
-
واقعاً شلیک کردن لیزرها 10:51
-
نابود کردن شهابسنگها با لیزر 19:09
-
نابود کردن شهابسنگها با لیزر 2 06:21
-
نابود کردن بازیکن با شهابسنگها 17:27
-
چه چیزی در این بخش میسازیم؟ 01:16
-
بارگذاری دارایی صدای شتاب 03:53
-
اضافه کردن صدای شتاب 08:28
-
اضافه کردن دود خروجی هنگام شتاب گرفتن 23:08
-
اجازه دادن به بازیکن برای حرکت به عقب 08:14
-
اضافه کردن صداهای لیزر 06:55
-
اضافه کردن صداهای انفجار 04:52
-
اضافه کردن صداهای پسزمینه 09:58
-
اضافه کردن ستارههای پسزمینه 12:31
-
اضافه کردن ستارههای پسزمینه به صحنه بازی 04:13
-
چه چیزی در این بخش میسازیم؟ 01:22
-
اضافه کردن صحنه پایان بازی 12:45
-
اضافه کردن نشانگرهای تعداد زندگی باقیمانده 07:28
-
اضافه کردن نشانگرهای زندگی باقیمانده 2 09:28
-
نمایش امتیاز فعلی، بالاترین امتیاز و سطح 11:07
-
حفظ بالاترین امتیاز 22:56
-
حرکت به سطح بعدی 14:51
-
چه چیزی در این بخش میسازیم؟ 01:20
-
راه اندازی داراییهای سپر، نوع و ترسیم سپر 16:34
-
نمایش و بروزرسانی سپر 12:34
-
راه اندازی نشانگرهای سپر 15:00
-
پرتاب شهابسنگها به سمت سپر 05:32
-
راه اندازی هایپراسپیس و نشانگر هایپراسپیس 22:09
-
چه چیزی در این بخش میسازیم؟ 00:48
-
راه اندازی اینرسی اولیه 16:17
-
چه چیزی در این بخش میسازیم؟ 00:54
-
راه اندازی نوع بیگانه 21:58
-
راه اندازی نوع AlienLaser 15:54
-
بروزرسانی صحنه بازی برای spawn بیگانگان 14:59
-
اجازه دادن به بیگانگان برای شلیک لیزر 18:12
-
مدیریت برخوردها بین بیگانگان، لیزرهای بیگانه و بازیکن 14:18
-
چه چیزی در این بخش میسازیم؟ 00:55
-
ساخت فایل اجرایی با آیکون سفارشی برای مک 15:55
-
ساخت فایل اجرایی با آیکون سفارشی برای ویندوز 06:07
-
انتشار بازی ما به عنوان یک فایل WASM در وب 15:00
مشخصات آموزش
ساخت بازیهای دوبعدی با Ebitengine در زبان Go (Golang)
- تاریخ به روز رسانی: 1405/04/02
- سطح دوره:مقدماتی
- تعداد درس:77
- مدت زمان :11:04:07
- حجم :5.42GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy