آموزش توسعه بازی در JS - راهنمای کامل (به همراه فاز 3)

Game Development in JS - The Complete Guide (w/ Phaser 3)

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

Phaser چیست؟

Phaser چارچوبی برای ایجاد بازی های مبتنی بر HTML در جاوا اسکریپت است. استفاده از آن و شروع کار بسیار ساده است. مجموعه ای کامل از ویژگی ها را برای ایجاد بازی های حرفه ای آماده برای انتشار در پلتفرم های مختلف فراهم می کند. مانند بازی‌های فوری فیس‌بوک، IOS یا پلتفرم‌های اندروید.


قرار است چه چیزی بسازیم؟

در این دوره آموزشی، نحوه ایجاد بازی های خود را از ابتدا در جاوا اسکریپت با چارچوب Phaser خواهید آموخت.

همه مفاهیم با ایجاد بازی‌های واقعی که قرار است در Facebook Instant Games منتشر کنیم، آموزش داده می‌شود.

درکی از مفاهیمی خواهید داشت که می توانید در هر پلتفرم توسعه بازی دیگری مانند Unity یا Unreal engine استفاده کنید.

اکنون، اجازه دهید به طور خلاصه مفاهیم بازی‌هایی را که قرار است روی آنها کار کنید، معرفی می‌کنیم،

اولین بازی یک شبیه سازی ساده پرنده شل و ول خواهد بود. شما یاد خواهید گرفت که چگونه بازی Phaser را مقداردهی اولیه کنید و چگونه از مفاهیم فیزیکی مانند گرانش و سرعت در میان بسیاری دیگر استفاده و دستکاری کنید.

ما نحوه ایجاد اشیاء مختلف بازی مانند بازیکن و لوله هایی که راه را مسدود می کنند را نشان خواهیم داد. شما یاد خواهید گرفت که چگونه از اشیاء بازی دوباره استفاده کنید، بنابراین هر بار که لوله به ابتدای صفحه می رسد، در پایان بازیافت می شود.

ما یک سیستم سختی ایجاد خواهیم کرد و امتیاز را پیگیری خواهیم کرد. بازی ما شامل صحنه های متعددی مانند صحنه منو، صحنه امتیاز، مکث و صحنه بازی خواهد بود.

بازی دوم پیچیده تر خواهد بود. ما روی یک بازی پلتفرمر کار خواهیم کرد که در آن شخصیت اصلی قادر خواهد بود روی سکوها بپرد. هدف اصلی بازی جمع آوری الماس های ممکن، دوری کردن یا حذف دشمنان و رساندن آن به سطح دوم است،

در طراحی نقشه، ما در ویرایشگر Tiled کار خواهیم کرد. من به شما نشان خواهم داد که چگونه لایه‌های کاشی و شی مختلف ایجاد کنید که بعداً در بازی خود زنده خواهیم کرد.

شما یاد خواهید گرفت که چگونه انواع مختلفی از حملات را مانند حملات غوغا و پرتاب پرتابه ایجاد کنید. ما انواع مختلفی از دشمنان را ایجاد خواهیم کرد و آنها را متحرک خواهیم کرد.

ما روی یک مفهوم تشخیص معروف به نام Raycasting کار خواهیم کرد که کاملاً از ابتدا ایجاد خواهیم کرد. بازیکن می‌تواند از تله‌های دشمن آسیب دریافت کند و وقتی سلامتی به 0 برسد یا بازیکن سقوط کند، بازی از دست می‌رود و دوباره شروع می‌شود

بازی ما دارای سطوح متعددی خواهد بود که پس از رسیدن بازیکن به خط پایان باز می شود. سطوح قفل نشده در صحنه سطح نمایش داده می شوند. با رسیدن به آخرین سطح، بازی به پایان می رسد و امتیازات نمایش داده می شود.

در سخنرانی‌ها موارد بسیار بیشتری وجود دارد، بنابراین امیدوارم شما را در دوره ببینم!


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

معرفی Introduction

  • معرفی Introduction

  • چگونه مسائل را حل کنیم How to resolve issues

Flappy Bird Clone Flappy Bird Clone

  • بخش معرفی Section Intro

  • نکات پروژه Init Init Project Tips

  • پروژه راه اندازی Init Project

  • برنامه را بررسی کنید Inspect App

  • ایجاد اپلیکیشن Phaser Creating Phaser App

  • در حال نمایش تصویر Displaying image

  • نقاط مبدأ Origin Points

  • Sprite ایجاد کنید Create Sprite

  • سرعت Velocity

  • جاذبه زمین Gravity

  • نکته برای سخنرانی بعدی Note for the next lecture

  • حرکت به جلو و عقب Moving back and forth

  • ویژگی بال زدن Flapping feature

  • شروع مجدد بازی Restarting the game

  • اعتبار نویسندگان Credit the authors

  • لوله ها را قرار دهید Place Pipes

  • فاصله عمودی لوله Pipe Vertical Distance

  • موقعیت عمودی لوله Pipe vertical position

  • رندر چند لوله Render Multiple Pipes

  • محل بازسازی لوله Place pipe refactor

  • گروه لوله Pipe Group

  • درست ترین لوله را دریافت کنید Get right most pipe

  • بازیافت لوله ها Recycle pipes

  • انتقال همه کدها برای پخش صحنه Moving all code to play scene

  • پیکربندی مشترک Shared Config

  • پخش صحنه Play Scene

  • بازسازی بیشتر More refactoring

  • برخورد دهنده را اضافه کنید Add collider

  • مکث فیزیک بازی Pause game physics

  • برخورد دهنده های محدود به جهان World bound colliders

  • بازی را دوباره راه اندازی کنید Restart the game

  • امتیاز را حفظ کنید Keep Score

  • بهترین امتیاز را حفظ کنید Keep Best Score

  • دکمه مکث Pause button

  • توقف بازی Pausing the game

  • صحنه منو Menu Scene

  • صحنه پیش بارگذاری Preload Scene

  • بهینه سازی در صحنه ها Optimization in Scenes

  • صحنه پایه Base Scene

  • آیتم های منو Menu items

  • تنظیم رویدادهای منو Setup menu events

  • برای تصحیح صحنه حرکت کنید Navigate to correct scene

  • بهترین امتیاز Best Score

  • دکمه برگشت Back button

  • صحنه مکث Pause Scene

  • بازی را از سر بگیرید Resume the game

  • رزومه رویداد Resume event

  • شمارش معکوس Count down

  • رفع فلپ Fixing the flap

  • اضافه کردن مشکلات Adding difficulties

  • افزایش سختی Increase difficulty

  • صفحه پرنده Bird Spritesheet

  • پخش انیمیشن پرنده Play bird animation

  • بازی تموم شد Game finished

معرفی بازی Platformer Platformer game intro

  • بخش معرفی Section Intro

  • مهم! نسخه کاشی کاری شده Important! Tiled Version

  • بازی Init Platformer Init Platformer Game

  • توضیحات کاشی کاری شده Tiled Explanations

  • اولین نقشه خود را بسازید Create your first map

  • نقشه را به بازی اضافه کنید Add map to the game

  • Refactor لایه Layer Refactor

  • پخش کننده را اضافه کنید Add Player

  • پلتفرم به عنوان برخورد دهنده لایه Platform as the layer collider

  • لایه Collidable اضافه می کند Adds Collidable layer

یک بازیکن ایجاد کنید Create a player

  • بخش معرفی Section Intro

  • بخش معرفی Section Intro

  • کنترل حرکات بازیکن Handle Player Movements

  • ایجاد کلاس بازیکن Create player class

  • پیش آپدیت کلاس بازیکن Player class preUpdate

  • رویداد به روز رسانی بازیکن Player Update Event

  • در حال اجرا انیمیشن Running animation

  • انیمیشن بیکار Idle animation

  • تعویض انیمیشن ها Switching the animations

  • پریدن Jumping

  • پرش دوبل Double Jump

  • انیمیشن های پرش را بازی کنید Play Jump Animations

  • مخلوط ها Mixins

  • عملکرد شروع برخورد کننده های پخش کننده Function to init player colliders

  • افست نقشه Map offset

  • راه اندازی دوربین Setup camera

  • مناطق پخش کننده Player Zones

  • بازیکن Spawn Point Player Spawn Point

  • ایجاد منطقه انتهایی Create end zone

  • همپوشانی منطقه انتهایی End zone overlap

دشمنان Enemies

  • بخش مقدمه Section Introduction

  • دشمن ایجاد می کند Creates a enemy

  • اندازه بدن دشمن Enemy body size

  • اندازه بدن بازیکن Player body size

  • دشمنان متعدد ایجاد کنید Create multiple enemies

  • کلاس فوق العاده دشمن Enemy super class

  • گروه دشمنان Enemies group

  • انیمه های Birdman Birdman anims

پخش پرتو Raycasting

  • بخش مقدمه Section Introduction

  • خط را بکش Draw the line

  • خط را در زمان واقعی بکشید Draw the line in real time

  • ضربه های کاشی را بررسی کنید Check tile hits

  • برخورد رنگ کاشی Colliding tile color

  • raycast را به دشمن اضافه کنید Add raycast on the enemy

  • تشخیص پلت فرم در raycast Detect the platform in raycast

  • بهینه سازی عملکرد در raycasting Optimize performance in raycasting

  • با دشمن بپیچید Turn with the enemy

  • تعیین جهت Fixing direction

  • حداکثر فاصله گشت Max patrol distance

  • Refactor کوچک پاترول Small Refactor of patrol

  • Steepnes را به raycast اضافه کنید Add Steepnes to raycast

بازیکن ضربه می زند Player takes a hit

  • بخش مقدمه Section Introduction

  • بازیکن ضربه می زند Player takes a hit

  • پرش کردن Bounce off

  • بازه زمانی را برای تنظیم سرعت تنظیم کنید Set timeout to set velocity

  • رویداد زمان بندی شده Timed Event

  • تاخیر تماس + اشکال زدایی Delay call + Debug

  • انیمیشن بین Animation tween

Healthbar Healthbar

  • بخش مقدمه Section Introduction

  • شروع نوار سلامت Starting Health Bar

  • نمایش نوار سلامت Display Health Bar

  • ترسیم موقعیت صحیح Drawing Correct Position

  • نمایش نوار سلامت در موقعیت صحیح Display healthbar on correct position

  • نمایش پس زمینه سفید Display White Background

  • نمایش سلامت سبز Display Green Health

  • کاهش سلامتی Decrease the health

  • مقیاس بندی Healthbar Healthbar scaling

پرتابه ها Projectiles

  • بخش مقدمه Section Introduction

  • پرتابه Projectile

  • پرتابه را نابود کنید Destroy Projectile

  • گروه پرتابه ها Projectiles Group

  • پرتابه را تعمیر کنید Fix the projectile

  • جهت صحیح پرتابه Correct direction of projectile

  • مركز كردن پرتابه Centering the projectile

  • خنک شدن پرتابه Projectile Cooldown

  • پرتاب انیمیشن Throw anim

  • برخورد پرتابه با دشمن Projectile collides with enemy

جلوه های برخورد Collide Effects

  • بخش مقدمه Section Introduction

  • ضربه را تحویل می دهد Delivers hit

  • افکت اسپرایت Sprite Effect

  • اثر را از بین ببرید Destroy the effect

  • محل افکت در به روز رسانی Place Effect on update

  • مدیر اثر Effect Manager

  • موقعیت افکت صحیح Correct effect position

  • اثر آسیب دشمن را بازی کنید Play enemy hurt effect

  • دشمن را خاتمه دهید Terminate the enemy

  • پاکسازی نمونه دشمن پس از خاتمه Cleanup enemy instance after terminate

سلاح سرد Melee Weapon

  • بخش مقدمه Section Introduction

  • سلاح سرد Melee Weapon

  • انیمه شمشیری Sword anim

  • انیمیشن را مخفی کنید Hide the animation

  • به روز رسانی موقعیت ضربه Update hit position

  • ضربه غوغا را ارائه می دهد Delivers melee hit

  • حمله را به تاخیر بیندازید Delay the attack

  • دشمن جدید ایجاد کنید Create new enemy

  • تنظیم بدن دشمن Adjusting enemy body

پرتابه های دشمن و لغزش Enemy Projectiles & Sliding

  • بخش مقدمه Section Introduction

  • با دشمن پرتابه شلیک کنید Shoot projectiles with enemy

  • جهت دشمن Direction of enemy

  • انیمیشن های پرتابه ها Projectiles animations

  • مورد اصابت گلوله دشمن قرار بگیرید Get hit by enemy projectile

  • هنگام ضربه بازیکن ضربه را تحویل می دهد Delivers hit when player hit

  • قابلیت کشویی Sliding feature

  • در حال انجام لغزش Getting sliding done

  • ضربه تحویل را رفع کنید Fix deliver hit

کلکسیونی ها و تله ها Collectables & Traps

  • بخش مقدمه Section Introduction

  • کلکسیونی ها Collectables

  • همپوشانی را روی الماس اضافه می کند Adds overlap on diamond

  • انیمیشن Diamond Shine Diamond Shine anim

  • بین الماس Diamond tween

  • گروه قابل جمع آوری Collectable group

  • ویژگی های لایه را دریافت کنید Get layer properties

  • ویژگی های شی را دریافت کنید Get object properties

  • امتیاز را پیگیری کنید Keep track of the score

  • هاد را ایجاد می کند Creates Hud

  • موارد بیشتری را به Hud اضافه کنید Add more items to Hud

  • افزودن تصویر به ظرف Add image to container

  • امتیاز را به روز می کند Updates the score

  • تله ها را اضافه کنید Add Traps

  • با تله آسیب وارد کنید Deal damage with trap

  • جهش صحیح Correct bounce off

جلوه های صوتی + صحنه های بیشتر Sound Effects + More scenes

  • بخش مقدمه Section Introduction

  • انتشار دهنده رویداد Event emitter

  • بازی را دوباره راه اندازی کنید Restart the game

  • هنگام سقوط مجدد راه اندازی کنید Restart when falling

  • BG ایجاد کنید Create BG

  • Sky Image + Tileset Sky Image + Tileset

  • اثر اختلاف منظر Parallax Effect

  • بارگذاری چندین سطح Load multiple levels

  • بین سطوح سوئیچ کنید Switch between levels

  • صحنه منو Menu Scene

  • صحنه منو Menu Scene

  • صحنه سطوح Levels Scene

  • دکمه برگشت در بازی Back button in play

  • صحنه اعتبار Credits Scene

  • موسیقی تم اضافه کنید Add theme music

انتشار اپلیکیشن Publishing the app

  • بخش مقدمه Section Introduction

  • بخش مقدمه Section Introduction

  • افکت صوتی Sound effect

  • صدای دویدن Running sound

  • برنامه FB ایجاد کنید Create FB App

  • شروع بازی در FB env + Loader Start game in FB env + Loader

  • متغیر FB env را تنظیم کنید Set FB env variable

  • استقرار برنامه Deploying the app

  • برنامه انجام شد و دوره پایان یافت App done & Course End

نمایش نظرات

آموزش توسعه بازی در JS - راهنمای کامل (به همراه فاز 3)
جزییات دوره
21.5 hours
198
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
3,573
4.3 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Eincode by Filip Jerga Eincode by Filip Jerga

آموزش آنلاین Eincode تضمین می کند که بهترین تجربه یادگیری آنلاین را برای مخاطبان خود فراهم می کند. محتوای با کیفیت بالا و مفاهیم برنامه نویسی که در پروژه های واقعی توضیح داده شده اند، زمینه هایی هستند که Eincode در آنها می درخشد! Eincode عمدتا دوره هایی را پوشش می دهد که بر راهنمای برنامه نویسی برای توسعه وب و موبایل تمرکز دارند. اگر به دنبال راهنماهای کامل و جامع هستید، Eincode انتخاب مناسبی برای شماست. دوره ها نیز توسط مربی فیلیپ جرگا منتشر می شود. به سلامتی و به کدنویسی ادامه دهید!

Filip Jerga Filip Jerga

مهندس نرم افزار نام من فیلیپ جرگا است و من یک مهندس نرم افزار با تجربه و توسعه دهنده آزاد هستم. من دارای مدرک کارشناسی ارشد در هوش مصنوعی و چندین سال تجربه کار بر روی طیف گسترده ای از فناوری ها و پروژه ها از توسعه ++C برای دستگاه های اولتراسوند گرفته تا برنامه های موبایل و وب مدرن در React و Angular هستم. در طول زندگی حرفه‌ای‌ام، دانش فنی پیشرفته و توانایی توضیح موضوعات برنامه‌نویسی را به وضوح و با جزئیات برای مخاطبان گسترده کسب کرده‌ام. از شما دعوت می‌کنم دوره آموزشی خود را بگذرانید، جایی که من تلاش زیادی کرده‌ام تا مفاهیم مهندسی وب و نرم‌افزار را به صورت مفصل، عملی و قابل درک توضیح دهم.