چگونه بازیهای ویدئویی بسازیم؟ - کلاسیکهای تایل در JS برای HTML5 Canvas
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- ایجاد، نمایش و بازی در یک دنیای تایل دوبعدی که از برخورد بهینه پشتیبانی میکند (مفهوم مرکزی برای نسلهای مختلف بازیها در انواع ژانرها!)
- برنامهنویسی بازیها به زبان جاوااسکریپت برای HTML5 Canvas بدون استفاده از کتابخانهها یا پلاگینهای خارجی
- ساخت، بارگذاری، نمایش و چرخش گرافیکهای تصویری در بازیها
- تقسیم کد بازی به چند فایل برای مدیریت بهتر پروژههای بزرگ
- تعریف یک کلاس و استفاده از آن برای ایجاد چندین نمونه از اشیاء بازی در موقعیتهای منحصر به فرد (توجه: فقط با استفاده از ابتداییترین مفهوم برنامهنویسی شیءگرا، این دوره به عمق این موضوع نمیپردازد)
- مدیریت ورودی ماوس برای یک بازی یک نفره یا کنترلهای صفحهکلید برای بازیهای یک و دو نفره
- پیادهسازی جمعآوری اشیاء پایهای (کلیدها) و تحریک استفاده از آنها در هنگام برخورد (باز کردن درها)
- توسعه و تطبیق گیمپلی برای حرکات پایه پلتفرمر، بازیهای دیجیتال بورد/استراتژی، الگوهای ساده ماتریسی برای دشمنان به سبک آرتی قدیمی و دنیاهایی بزرگتر از صفحه که با دوربین مروادار میشوند
- اعمال فراخوانی های مثلثاتی ساده برای حرکت اشیاء بازی در زوایای دلخواه
- پیادهسازی عملکرد صفحه بارگذاری پایه در HTML5
پیش نیازهای دوره
- هر ویرایشگر متن سادهای مانند Notepad کافی است، اما یکی که از قابلیتهایی برای برنامهنویسان مانند زبانههایی با چندین فایل، هایلایت کد، شمارهگذاری خطوط و smart-indentation یا auto-indentation پشتیبانی کند میتواند برای مراحل بعدی که کد رشد میکند، مفید باشد (++Notepad برای ویندوز رایگان است، TextWrangler برای مک یا Sublime Text 2 که در دوره استفاده میشود دارای نسخه آزمایشی رایگان کاملاً کاربردی است).
- هر مرورگر وب متداولی باید به خوبی کار کند، اگرچه مدرس از Google Chrome (رایگان) استفاده میکند، بنابراین ممکن است شما گزینهای مشابه را ترجیح دهید تا دقیقاً ببینید چگونه در ویدئوها نمایش داده میشود.
- برای دنبال کردن چند مرحله برای کشیدن هنر، به برنامهای نیاز دارید که به شما امکان میدهد تصاویر را با شفافیت بکشید و ذخیره کنید. مدرس از نسخه کمی قدیمیتر Photoshop استفاده میکند، اگرچه گزینههای رایگان نیز وجود دارد و مراحل مشابه هستند. همچنین تمام فایلهای هنری که مدرس ایجاد میکند را پیوست میکند، بنابراین اگر تمایل دارید فقط روی مراحل برنامهنویسی تمرکز کنید میتوانید تصاویری را که در ویدئوها ایجاد میکند دانلود کنید.
توضیحات دوره
با شرکت در این دوره جدید، چند نوع بازی کلاسیک را که همه شامل دنیاهای تایل دوبعدی هستند، برنامهنویسی میکنید. شما در جاوااسکریپت برای HTML5 Canvas کدنویسی خواهید کرد، بنابراین به یک ویرایشگر متن و یک مرورگر وب معمولی نیاز خواهید داشت (یک برنامه هنری میتواند برای چند بخش مفید باشد اما ضروری نیست). مدرس کد هر مرحله را پیوست کرده تا هرگز به مشکل نخورید. در پایان یاد خواهید گرفت که راههای بیشتری برای استفاده از آنچه یاد گرفتهاید وجود دارند. همچنین با پایان دوره، یک PDF از کتاب کامل 500 صفحهای مدرس درباره توسعه بازی خواهید گرفت: Hands-On Intro to Game Programming. این کتاب شامل بیش از 100 تمرین، چند نوع بازی اضافی و محتوای اضافی با جزئیات بیشتر درباره پروژههایی است که در این دوره ایجاد کردید.
این دوره برای چه کسانی مناسب است؟
- هر کسی که میخواهد مهارتهای عملی برای برنامهنویسی بازیهای خود را در خانه یاد بگیرد.
- افرادی که ممکن است با مفاهیم برنامهنویسی آشنا باشند اما در یادگیری کاربرد این دانش برای ساخت بازیهای کامپیوتری زمان واقعی جدید هستند.
- خلقکنندگان که تنها یک بار از ابزارهای کشیدن و رها کردن استفاده کردهاند اما به یادگیری بیشتر درباره نحوه ساخت بازیها از طریق برنامهنویسی برای کنترل بیشتر بر جزئیات علاقهمند هستند.
- توسعهدهندگانی که علاقهمند به تمرین روش «فقط کد» برای برنامهنویسی گیمپلی اصلی هستند قبل از اینکه به موتورهای اصلی و ابزارهای عمده (که در این دوره پوشش داده نشدهاند) مانند Unity یا Unreal بروید.
- افرادی که به دنبال بنیان طراحی بازیهای تکنیکی مبتنی بر بازیهای اندی یا گیمپلی کلاسیک به عنوان نقطه شروع هستند.
- توسعهدهندگان جدید که به دنبال ساخت بیشتر مهارتهای توسعه بازی در جاوااسکریپت بر روی HTML5 Canvas هستند.
- لطفاً توجه داشته باشید که موضوعات پیشرفته مانند برنامهنویسی شیءگرا فقط به طور خیلی کوتاهی بیان شدهاند - الگوهای مهندسی نرمافزار به طور کلی خارج از دامنه این دوره هستند.
چگونه بازیهای ویدئویی بسازیم؟ - کلاسیکهای تایل در JS برای HTML5 Canvas
-
مقدمهای برای دوره و مدرس شما 07:17
-
مقدمه بخش 00:46
-
ایجاد فایل HTML 01:04
-
هدر مناسب HTML 02:44
-
جاوااسکریپت در HTML با استفاده از کنسول 00:56
-
HTML5 Canvas با تابع راهاندازی 01:45
-
رسم مستطیل و دایره Fill شده 02:11
-
بهروزرسانیهای متغیر و زمانبندیشده برای حرکت 02:04
-
تغییر سرعت، همچنین برای حرکت عمودی 02:09
-
دلیل وجود یک مستطیل بزرگ در هر فریم 01:30
-
تفکیک کد حرکت و رسم 01:02
-
ساخت توابع برای Fill Rect و Circle 02:37
-
پدال افقی کنترل شده با ماوس 05:00
-
تنظیم مجدد توپ زمانی که از پایین میرود 01:09
-
حرکت پدال از لبه، بازتاب توپ 03:51
-
هدفگیری بر اساس جایی که توپ به پد برخورد میکند 04:11
-
مرور بخش 1 None
-
مقدمه بخش 00:37
-
نمایش مختصات ماوس بر اساس نشانگر 03:39
-
نصب و نمایش اولین آجر 01:42
-
رسم چندین آجر با فاصله 01:50
-
ناپدید شدن آجرهای فردی 02:03
-
تغییر شماره آجرها برای شروع از صفر 01:46
-
استفاده از آرایه برای آجرها 02:40
-
چگونه ()For میتواند بر روی آرایه آجر لوپ کند؟ 03:48
-
پاکسازی آجرهای ایزوله در آرایه 01:38
-
برچسبگذاری براکتهای عمیق بسته 00:54
-
مرور بخش 2 None
-
مقدمه بخش 00:29
-
نمایش مختصات تایل نزدیک ماوس 03:08
-
پشتیبانی از چند ردیف آجر 03:03
-
تغییر 00:45
-
پشتیبانی از حذف هر موقعیت آجر 04:07
-
ساخت آجرهای بیشتر و کوچکتر 01:53
-
محاسبه Index از ردیف و ستون 02:19
-
حذف آجرها زیر ماوس 02:14
-
حذف آجرها در جایی که توپ میرود 01:32
-
فیک کردن باگ برخورد Edge-Wrap 01:55
-
بازتاب توپ زمانی که به آجرها برخورد میکند 01:16
-
چگونه توپ را از مرکز شروع کنیم؟ 01:08
-
مرور بخش 3 None
-
مقدمه بخش 00:25
-
تقسیم کد توپ به توابع 01:58
-
درک آزمون برخورد توپ-آجر 03:37
-
توپ را از کناره های آجری پرتاب کنید 03:53
-
اضافه کردن حقهای برای تغییر موقعیت توپ 01:46
-
فیکس کردن وضعیت لبه مرزی پوشانده شده 06:28
-
مرور بخش 4 None
-
مقدمه بخش 00:26
-
نگهداری شمارش آجرهای باقیمانده 02:14
-
شروع با شیار خالی در بالا 02:11
-
تنظیم مجدد توپ در شروع، آجرها پس از آخرین ضربه 01:32
-
تنظیم مجدد آجرها زمانی که بازیکن توپ را از دست میدهد 00:43
-
فیک کردن باگ با ضربه به آجرهای پایین 03:43
-
تست برای جستجوی اشکالات باقیمانده 00:33
-
فیک کردن باگ گیر کردن توپ در امتداد لبه 01:46
-
تست بازی برای پیدا کردن باگها دوباره 01:08
-
مرور بخش 5 None
-
مقدمه بخش 00:16
-
حالا بیایید این را خراب کنیم 00:42
-
حذف پدال 00:39
-
تغییر نام 01:16
-
کشیدن شبکه تایل برای پوششCanvas 00:59
-
طراحی یک طرح شبکه به صورت دستی 04:31
-
مثال سریع از طراحی نقشه شبکه 01:01
-
Fill کردن طرح اصلی مسیر 01:51
-
تنظیم موقعیت شروع توپ در آرایه 03:26
-
مرور بخش 6 None
-
مقدمه بخش 00:36
-
چگونه تصویر ماشین را بسازید؟ 04:09
-
روشن کردن نورهای جلو و عقب 02:43
-
وارد کردن و نمایش تصویر ماشین 03:14
-
مرور بخش 7 None
-
مقدمه بخش 00:21
-
جایگزینی 01:11
-
چرخاندن تصویر ماشین 02:21
-
رانندگی ماشین به سمتی که رو به جلو است 01:16
-
استفاده از سینوس و کسینوس در بازیها 01:31
-
درک دلیل استفاده از سینوس و کسینوس 00:48
-
حذف کد توپ قدیمی 00:58
-
مرور بخش 8 None
-
مقدمه بخش 00:56
-
توابع روی فشار و رهایی کلید 01:15
-
یافتن کد کلید برای هر کلید فلش 01:05
-
هدایت خام و گاز با فشار کلیدها 01:43
-
در نظر گرفتن کلیدها بیشتر به عنوان دکمهها 04:16
-
کاهش سرعت در اثر برخورد با دیوارها 00:45
-
کاهش سرعت به مرور زمان 01:18
-
رفع جهت شروع ماشین 01:09
-
مرور بخش 9 None
-
مقدمه بخش 00:15
-
برچسبگذاری مقادیر تیونینگ ماشین 01:17
-
ایجاد برچسب برای انواع تایل 01:51
-
جاوااسکریپت و HTML در فایلهای مختلف 01:55
-
دادن یک فایل به کد گرافیکهای رایج 01:06
-
تقسیم کد به فایلها بر اساس هدف 07:14
-
مرور بخش 10 None
-
مقدمه بخش 00:17
-
رسم تصویر تایل جاده 00:58
-
ایجاد هنر تایل دیواری 01:50
-
بارگذاری هنر تایل خود در کد 00:56
-
نمایش تصاویر تایل 02:26
-
متوقف کردن رسم مستطیل بزرگ در هر فریم 00:57
-
مرور بخش 11 None
-
مقدمه بخش 01:08
-
گردآوری تمامی کدهای تصویر 01:49
-
صبر کنید تا آخرین تصویر بارگذاری شود 03:13
-
بهطور خودکار متصل شدن در بارگذاری 01:43
-
شمارش خودکار تصاویر برای بارگذاری: یک راه نادرست 02:27
-
شمارش خودکار تصاویر برای بارگذاری: یک راه خوب 03:29
-
اضافه کردن یک صفحه بارگذاری پایه 01:48
-
مرور بخش 12 None
-
مقدمه بخش 00:22
-
تقسیم فایلهای پروژه به پوشهها 01:55
-
ایجاد تصاویر برای تایلهای مسیر جدید 06:21
-
بارگذاری تصاویر مسیر جدید در کد 01:45
-
قرار دادن انواع مسیر جدید در شبکه سطح 01:02
-
ایجاد انواع جدید تایل برای مسدود کردن ماشین 00:40
-
نمایش تصاویر برای انواع مسیر جدید 03:13
-
ایجاد طرحی با استفاده از تایلهای جدید 01:15
-
تیونینگ ماشین و جلوگیری از چرخش درجا 01:30
-
مرور بخش 13 None
-
مقدمه بخش 00:29
-
ذخیره تمام هنر تایل مسیر در یک آرایه 04:10
-
رسم تایل مسیر بر اساس اندیس 01:25
-
بهینهسازی حلقههای رسم مسیر 03:20
-
مرور بخش 14 None
-
مقدمه بخش 01:20
-
قرار دادن متغیرها و توابع ماشین در یک کلاس 03:11
-
بهروزرسانی استفاده از متغیرها در کلاس 01:17
-
ایجاد نمونه ماشین بازیکن اول 02:57
-
ساخت یک ماشین دوم برای بازیکن دوتا 02:20
-
کپی و تغییر رنگ ماشین آبی به سبز 01:37
-
وارد کردن و استفاده از تصویر ماشین سبز 02:05
-
استفاده از کلیدهای کنترل متفاوت برای هر ماشین 08:05
-
مرور بخش 15 None
-
مقدمه بخش 00:16
-
کاهش زمان برای تست خط پایان 00:33
-
تنوع عواقب به نوع تایل برخورد کرده 02:05
-
تعیین یک نام منحصر به فرد برای هر ماشین 00:57
-
اعلام برنده هنگامی که هدف به دست آمد 00:41
-
درک مشکل با تنظیم مجدد 01:35
-
تفکیک نقشه فعال از طرح ذخیره شده 03:14
-
تنظیم مجدد زمانی که خط پایان به دست آمد 00:48
-
تنظیم مجدد سرعت ماشین هنگام بارگذاری مجدد نقشه 00:54
-
چگونه از نقشههای چند سطحی پشتیبانی کنیم؟ 00:45
-
خاتمه بازی مسابقه 00:46
-
مرور بخش 16 None
-
مقدمه بخش 00:54
-
شروع با منبع مسابقه بدون بازیکن 2 00:33
-
تغییر نام فایلها و متغیرها 00:26
-
تبدیل حرکت رانندگی به راه رفتن 00:38
-
بزرگنمایی تایلها برای نزدیکتر شدن دوربین 00:23
-
جایگزینی هنر مسابقه با هنر سیاهچال 00:37
-
پشتیبانی از تایلهای نیمه شفاف 00:57
-
طرح بندی و کد جدید برای کلیدها و درها 02:16
-
جمع بندی اصل ماجراجویی 00:18
-
مرور بخش 17 None
-
مقدمه بخش 01:26
-
توپهای متعدد در شبکه 01:50
-
دوربین قابل اسکرول 03:13
-
پرش پلتفرم از نمای جانبی 02:18
-
حرکت شبکه با شکافهای برخورد 01:50
-
بازی تختهای با کنترل ماوس 02:58
-
خاتمه دوره 00:29
-
مرور بخش 18 None
-
کتاب درسی PDF کامل شامل: Hands-On Intro to Game Programming None
مشخصات آموزش
چگونه بازیهای ویدئویی بسازیم؟ - کلاسیکهای تایل در JS برای HTML5 Canvas
- تاریخ به روز رسانی: 1404/06/14
- سطح دوره:متوسط
- تعداد درس:167
- مدت زمان :14:16:23
- حجم :2.69GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy