قورباغه در برابر سوسک: یک بازی اسکرچ را با صورت خود کنترل کنید

از بینی خود برای کنترل یک قورباغه‌ی گرسنه استفاده کنید و قبل از تمام شدن زمان، تا جای ممکن سوسک بگیرید. این بازی سرگرم‌کننده‌ی اسکرچ از افزونه‌ی هوش مصنوعی تشخیص صورت (FaceMesh) استفاده می‌کند تا موقعیت قورباغه را به یک نقطه‌ی دقیق روی صورت متصل کند.

سطح
مبتدی

🕒

زمان تقریبی
۲۰ تا ۲۵ دقیقه

🧩

افزونه
تشخیص صورت

Frog vs Beetle: Control a Scratch Game with Your Face - stage

📖 چه چیزی یاد می‌گیرید

  • تشخیص صورت چگونه نقاط دقیق روی صورت را تشخیص می‌دهد
  • چگونه موقعیت X و Y نوک بینی را دریافت کنید.
  • چگونه با حرکت صورت، یک شخصیت اسکرچ را کنترل کنید.
  • چگونه یک شخصیت را به سمت شخصیت دیگری بچرخانید.
  • چگونه یک بازی زمان‌دار برای گرفتن اشیا بسازید.
  • چگونه با استفاده از متغیرها، زمان و امتیاز را ثبت کنید.

 

تشخیص صورت در Pishi.ai می‌تواند ۴۷۸ نقطه روی صورت را ردیابی کرده و مختصات هر نقطه را در صفحه‌ی اسکرچ برگرداند. در این پروژه، از نقطه شماره ۱ (نوک بینی) برای کنترل قورباغه استفاده می‌شود.

🧰 چه چیزهایی لازم دارید

  • یک رایانه با دوربین سالم و فعال
  • مرورگر کروم، فایرفاکس، اج یا هر مرورگر مدرن دیگری که از WebGL2 پشتیبانی کند.
  • Pishi.ai در اسکرچ (پروژه جدید ایجاد کنید)
  • افزونه تشخیص صورت (راهنمای آن را مشاهده کنید)
  • شخصیت Frog (قورباغه)
  • شخصیت Beetle (سوسک)
  • دو متغیر:
    • score (امتیاز)
    • time (زمان)

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

🛠️ پروژه خود را بسازید

1

1. آماده‌سازی بازی

شخصیت‌های قورباغه و سوسک را به پروژه اضافه کنید.

سپس دو متغیر ایجاد کنید:

  • score (امتیاز)
  • time (زمان)

بازی ۱۵ ثانیه ادامه دارد. در این مدت، بازیکن با حرکت دادن بینی خود، قورباغه را کنترل می‌کند و تلاش می‌کند سوسک را شکار کند.

You can choose any backdrop you like. A pond, garden or forest backdrop would work well.

Prepare Pishi.ai character for Voice Control - Scratch blocks
2

2. قورباغه را با بینی خود کنترل کنید

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

  • مقدار متغیر time را روی 0 قرار دهید.
  • تا پایان بازی، قورباغه را به‌طور پیوسته حرکت دهید.
  • موقعیت X قورباغه را برابر با موقعیت X نوک بینی قرار دهید.
  • موقعیت Y قورباغه را برابر با موقعیت Y نوک بینی قرار دهید.
  • کاری کنید قورباغه همیشه به سمت سوسک نگاه کند.

از نقطه شماره ۱ (Keypoint 1) که نشان‌دهنده نوک بینی است استفاده کنید و Person 1 را انتخاب نمایید.

اکنون سر خود را مقابل دوربین حرکت دهید. قورباغه باید همراه با حرکت بینی شما روی صحنه حرکت کند و همیشه رو به سوسک باشد.
برخلاف تشخیص ساده‌ی چهره، تشخیص صورت امکان دسترسی به موقعیت دقیق هر نقطه از شبکه‌ی صورت را فراهم می‌کند. همچنین اگر بیش از یک نفر مقابل دوربین باشند، می‌توانید شخص موردنظر را انتخاب کنید.

FaceMesh Scratch blocks that make the frog follow the player’s nose
برای بزرگ‌نمایی روی تصویر کلیک کنید.
3

3. سوسک را اضافه کنید و امتیاز بگیرید

شخصیت سوسک را طوری برنامه‌نویسی کنید که در موقعیت‌های تصادفی ظاهر شود.
پس از کلیک روی پرچم سبز:

  • مقدار score را روی 0 قرار دهید.
  • سوسک را به یک موقعیت تصادفی ببرید.
  • زمان‌سنج داخلی اسکرچ را صفر کنید.
  • تا زمانی که زمان‌سنج به ۱۵ ثانیه برسد، بازی را ادامه دهید.
  • کاری کنید سوسک همیشه به سمت قورباغه باشد.
  • بررسی کنید که آیا سوسک با قورباغه برخورد کرده است یا خیر.

وقتی قورباغه سوسک را گرفت:

  • مقدار امتیاز را ۱ واحد افزایش دهید.
  • صدای قورباغه را پخش کنید.
  • سوسک را به یک مکان تصادفی دیگر منتقل کنید. ۰٫۱ ثانیه صبر کنید تا اگر سوسک خیلی نزدیک ظاهر شد، دوباره فوراً گرفته نشود.

هر بار که قورباغه سوسک را لمس کند، سوسک به محل جدیدی فرار می‌کند و بازیکن یک امتیاز دریافت می‌کند.

Scratch code for scoring when the frog catches the beetle
4

4. پایان بازی را اعلام کنید

می‌توانید از Stage، شخصیت پیشی یا یک شخصیت گوینده‌ی جداگانه برای نمایش پیام‌های شروع و پایان استفاده کنید.

 

پس از کلیک روی پرچم سبز:

  • به مدت ۱ ثانیه بگویید: «شروع!»
  • صبر کنید تا مقدار متغیر time برابر FINISH شود.
  • بگویید: «وقت تمام شد!»
  • صدای پایان بازی را پخش کنید.

 

اسکریپت سوسک پس از ۱۵ ثانیه مقدار متغیر time را به FINISH تغییر می‌دهد. این کار به اسکریپت‌های قورباغه و گوینده اطلاع می‌دهد که بازی به پایان رسیده است.

Scratch code for starting and ending the Frog vs Beetle game

🚀 پروژه خود را امتحان کنید!

روی پرچم سبز کلیک کنید و به دوربین نگاه کنید.

 

سپس سر خود را حرکت دهید تا قورباغه را هدایت کنید:

  • سر خود را به چپ یا راست حرکت دهید تا قورباغه روی صحنه جابه‌جا شود.
  • سر خود را بالا یا پایین ببرید تا به سوسک برسید.
  • قبل از پایان زمان ۱۵ ثانیه‌ای، تا می‌توانید سوسک شکار کنید.
Frog vs Beetle: Control a Scratch Game with Your Face - stage

🤖 این پروژه چگونه کار می‌کند؟

تشخیص صورت تصویر دوربین را تحلیل کرده و نقاط دقیق صورت را شناسایی می‌کند. سپس پروژه مختصات نقطه شماره ۱ که روی نوک بینی قرار دارد را دریافت می‌کند.

 

قورباغه از این مختصات به‌عنوان موقعیت خود روی صحنه اسکرچ استفاده می‌کند.

 

The FaceMesh coordinates are mapped to the Scratch Stage, approximately from −240 to 240 on the X-axis and −180 to 180 on the Y-axis.

 

When the camera preview is mirrored, the X coordinates are flipped to match the movement the player sees on screen.

صورت شما

هوش‌مصنوعی تشخیص صورت

نقطه نوک بینی

مختصات X و Y

حرکت قورباغه

شکار سوسک

💡 پروژه را بهتر کنید!

  1. با باز کردن دهان، سوسک را شکار کنید
    به‌جای اینکه سوسک با هر برخورد شکار شود، از بازیکن بخواهید دهان خود را نیز باز کند.
    فاصله بین این دو نقطه را اندازه بگیرید:
    • Keypoint 0: وسط لب بالایی
    • Keypoint 17: وسط لب پایینی

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

  2. با پلک زدن قدرت قورباغه را فعال کنید
    فاصله‌ی بین پلک بالا و پایین را اندازه بگیرید.
    برای مثال:
    • چشم راست: Keypointهای 159 و 145
    • چشم چپ: Keypointهای 386 و 374

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

  3. حشرات بیشتری اضافه کنید
    برای شخصیت سوسک چند لباس مختلف اضافه کنید، مانند:
    • سوسک
    • پروانه
    • مگس
    • پشه

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

  4. موانع جدید اضافه کنید
    یک زنبور یا عنکبوت اضافه کنید که اگر قورباغه با آن برخورد کرد، یک امتیاز از بازیکن کم شود.
    این کار بازی را چالش‌برانگیزتر می‌کند، زیرا بازیکن باید با دقت بیشتری صورت خود را حرکت دهد و هر شیء متحرکی را دنبال نکند.

🔗 ساخته‌ی خود را به اشتراک بگذارید

پروژه‌تان را تمام کردید؟ ایده‌های خودتان را اضافه کنید و آن را با دوستان یا همکلاسی‌های خود به اشتراک بگذارید.
OPEN PROJECT & REMIX
پیمایش به بالا