ویرگول
ورودثبت نام
erfan mohammadjafari
erfan mohammadjafari
erfan mohammadjafari
erfan mohammadjafari
خواندن ۲ دقیقه·۱ روز پیش

چگونه با اسکرچ یک بازی پلتفرمر حرفه‌ای شبیه Geometry Dash بسازیم؟


https://faradars.org/courses/geometry-dash-game-in-scratch-fvsch318

آموزش پروژه محور اسکرچ – ساخت بازی Geometry Dash در فرادرس

در نگاه اول، اسکرچ یک ابزار ساده برای آموزش برنامه‌نویسی به کودکان به نظر می‌رسد؛ محیطی رنگی با بلوک‌های آماده که بیشتر برای سرگرمی طراحی شده است.
اما اگر از سطح استفاده‌ی سطحی عبور کنیم، اسکرچ می‌تواند بستری جدی برای آموزش تفکر الگوریتمی، طراحی بازی، فیزیک حرکتی و بهینه‌سازی کد باشد.

در این مقاله، تجربه‌ی طراحی و تدریس یک دوره‌ی کامل «ساخت بازی پلتفرمر دوبعدی الهام‌گرفته از Geometry Dash» را مرور می‌کنم؛ دوره‌ای که هدف آن صرفاً ساخت یک بازی نبود، بلکه آموزش منطق پشت بازی‌سازی بود.


چرا Geometry Dash؟

Geometry Dash یک بازی پلتفرمر ساده اما بسیار دقیق است:

  • پرش‌ها زمان‌بندی دارند

  • برخوردها حساس هستند

  • کوچک‌ترین خطای منطقی باعث باخت می‌شود

همین ویژگی‌ها آن را به گزینه‌ای ایده‌آل برای آموزش مفاهیم زیر تبدیل می‌کند:

  • شتاب و گرانش

  • تشخیص برخورد (Collision Detection)

  • اسکرول افقی و عمودی

  • حالت‌های مختلف کاراکتر

  • بهینه‌سازی حرکت و رفع باگ


فصل اول: طراحی به‌جای کدنویسی

آموزش از صفحه‌ی نقاشی اسکرچ شروع شد.
دانش‌آموز یاد می‌گیرد:

  • چرا استفاده از Shift برای رسم مربع مهم است

  • چگونه با خطوط ساده پلتفرم طراحی کند

  • چرا رنگ‌ها در بازی فقط زیبایی نیستند، بلکه داده محسوب می‌شوند

در همین مرحله، پایه‌ی تشخیص برخورد بر اساس رنگ گذاشته می‌شود.


فصل دوم: پرش، شتاب و فیزیک

به‌جای استفاده از بلوک‌های آماده‌ی حرکتی، پرش با متغیر ySpeed پیاده‌سازی شد:

  • افزایش سرعت رو به بالا

  • کاهش تدریجی سرعت

  • صفر شدن شتاب در اوج

  • سقوط کنترل‌شده تا برخورد با زمین

این بخش، نقطه‌ای است که دانش‌آموز متوجه می‌شود «بازی» فقط تصویر نیست؛ ریاضیات در حال اجراست.


فصل سوم: برخورد هوشمند

برخورد ساده باعث باگ می‌شود.
برای همین:

  • فضای امن ±۴ پیکسل تعریف شد

  • از قدر مطلق برای تشخیص بازه برخورد استفاده شد

  • کاراکتر در برخورد، اصلاح موقعیت می‌گیرد نه حذف یا توقف ناگهانی

این دقیقاً همان چیزی است که در موتورهای بازی حرفه‌ای اتفاق می‌افتد، فقط در مقیاس ساده‌تر.


فصل چهارم: مراحل بی‌نهایت و افکت‌ها

در این فصل:

  • مراحل با تغییر Costume ادامه‌دار شدند

  • توهم بی‌نهایت بودن مرحله ایجاد شد

  • ذرات حرکتی (Particle System) با ساخت مشابه پیاده‌سازی شد

  • انفجار ذرات هنگام برخورد اضافه شد

دانش‌آموز برای اولین بار با مفهوم افکت‌های بصری وابسته به منطق بازی آشنا می‌شود.


فصل پنجم: منو و تعامل کاربر

بازی بدون منو ناقص است.
در این بخش:

  • دکمه Play طراحی شد

  • افکت Bounce با تغییر تدریجی اندازه پیاده‌سازی شد

  • تعامل ماوس با منطق عددی ترکیب شد

اینجا اسکرچ از یک ابزار آموزشی به یک محیط UI تعاملی تبدیل می‌شود.


فصل ششم: دوربین و اسکرول عمودی

با افزودن دوربین:

  • فضای طراحی مراحل افزایش پیدا کرد

  • حرکت عمودی کنترل شد

  • اختلاف سرعت سقوط کاراکتر و دوربین با فرمول اصلاح شد

این فصل، درک «دید دوربین» در بازی‌سازی را آموزش می‌دهد.


فصل هفتم: تغییر حالت (Cube → Ship)

در این مرحله:

  • کاراکتر به فضاپیما تبدیل می‌شود

  • ورودی‌ها رفتار متفاوت پیدا می‌کنند

  • پورتال‌ها با رنگ خاص شناسایی می‌شوند

  • منطق برخورد و ذرات تطبیق داده می‌شود

این فصل نشان می‌دهد که اسکرچ هم می‌تواند State Machine داشته باشد.


آیا این یک پروژه واقعی است؟

بله، کاملاً.

این آموزش شامل:

  • طراحی

  • الگوریتم

  • متغیر

  • بهینه‌سازی

  • رفع باگ

  • توسعه‌پذیری

است و دقیقاً همان چیزی است که از یک پروژه‌ی آموزشی استاندارد انتظار می‌رود.


جمع‌بندی

اسکرچ اگر درست تدریس شود، فقط یک ابزار کودکانه نیست.
می‌تواند پلی باشد میان:

«بازی کردن» و «فهمیدن اینکه بازی چگونه ساخته می‌شود»

و شاید مهم‌تر از همه:
دانش‌آموز یاد می‌گیرد که قبل از کشیدن بلوک‌ها، فکر کند.

۲
۰
erfan mohammadjafari
erfan mohammadjafari
شاید از این پست‌ها خوشتان بیاید