فوری: بهبود شبیه سازی فیزیک با جاوااسکریپت (بدون فریم ورک
در سراسر کشور
در وبسایت پونیشا(چند ساعت پیش)
دورکاری
اطلاعات شغل:
امکان دورکاری و کار در منزل: دارد
نوع همکاری: پروژهای
مهارتهای مورد نیاز:
الگوریتم
HTML
سی اس اس (CSS)
جاوا اسکریپت (JavaScript)
Game Development
متن کامل آگهی:
به یک فریلنسر با تجربه در JavaScript (بدون فریمورک) نیاز دارم برای بهبود و تکمیل یک پروژهی موجود شبیهسازی فیزیکی.
پروژه با HTML, CSS, JS نوشته شده.
الگوریتمها بخشی بهصورت دستی طراحی شدهاند و بخشی هم با شبیهسازی Planck.js.
خروجی فعلی قابل استفاده است اما نیاز به بهبود، رفع باگ و حرفهایتر شدن دارد.
تکنولوژی و محدودیتها
فقط HTML + CSS + Vanilla JS (بدون فریمورک/TypeScript/jQuery، بدون سمتسرور).
خروجی روی Canvas 2D (Stage).
استفاده از موتورهای فیزیک 2D جاوااسکریپت آزاد است (مثل Planck.js یا مشابه)، به شرطی که کد ساده و خوانا باشد.
جریان اجرا
صفحهی سیاه با دکمهی Start.
با کلیک روی Start، یک Round آغاز میشود.
ورودیهای Round:
configObjects: آرایهی JSON از اشیای SVG (تولید با svgmaker.js – فایل موجود و قابل ویرایش)
autoDeployFrequency (بهصورت ms، پیشفرض 1000)
defaultWallBounces (پیشفرض 3)
loop (true/false)
در هر autoDeployFrequency یک SVG جدید خارج از دید ایجاد میشود، با جهت حرکت به سمت Stage (نزدیک مرکز ±20%).
پس از ورود کامل شیء به استیج، برخورد با دیوارها فعال میشود.
هر شیء با دیوارها و اشیای دیگر برخورد دارد تا شمارندهی برخورد با دیوار به حد مجاز برسد؛ سپس برخورد دیوار غیرفعال شده و شیء از استیج خارج میشود.
تمام وضعیت اشیاء باید در stageObjects ذخیره شود: دادهی اولیه، موقعیت، سرعت، چرخش/سرعت زاویهای، مقیاس، تعداد بونس دیوار، فعال/غیرفعال بودن برخورد دیوار و… .
نیازمندیها
رفع باگها و بهینهسازی عملکرد.
پیادهسازی برخورد و واکنش اشکال به صورت کاملاً هوشمندانه (چرخش، کشش، ضربه، فاصله دقیق).
اضافه کردن اشکال جدید: مثلث، لوزی، پنجضلعی، اعداد و حروف (از فایلهای SVG موجود).
دقت بالا در مختصات و واکنش هر شکل بر اساس ساختار هندسی خودش.
یک دکمهی Collider Debug:
وقتی فعال شود، بهجای نمایش مربع ساده دور شکل، کالایدر دقیق بر اساس ساختار هندسی واقعی SVG و ماتریس ترنسفورمش رسم شود.
عکس رو گذاشتم اما اینطوری مربعی شکل نمیخوام
مثال: برای اعداد یا حروف، کالایدر باید دقیقاً روی خطوط SVG بیفتد، نه بهصورت باکس مربعی.
خروجی ریسپانسیو و روان (هدف 60fps روی سیستم میانرده، افت کنترلشده تا 30fps).
مدیریت حافظه (حذف تمیز اشیای خارجشده).
کد ساده، ماژولار و خوانا (بدون وابستگیهای سنگین).
ابزارهای دیباگ (اجباری)
نمایش مرزهای برخورد/کانتکتها (Toggle).
لاگ ورود و خروج اشیا.
نمایش وضعیت جاری شیء هنگام هاور موس.
تحویل
مرحله اول: یک خروجی ویدیویی ~2 دقیقهای از عملکرد پروژه.
در صورت تأیید، کد کامل ارسال میشود و پرداخت انجام خواهد شد.
زمانبندی
اولین خروجی: امشب.
ددلاین نهایی بدون باگ: چهارشنبه عصر، 12 شهریور.
⚡ اگر در این حوزه حرفهای هستید، این پروژه برای شما ساده خواهد بود.
این آگهی از وبسایت پونیشا پیدا شده، با زدن دکمهی تماس با کارفرما، به وبسایت پونیشا برین و از اونجا برای این شغل اقدام کنین.
هشدار
توجه داشته باشید که دریافت هزینه از کارجو برای استخدام با هر عنوانی غیرقانونی است. در صورت مواجهه با موارد مشکوک، با کلیک بر روی «گزارش مشکل آگهی» به ما در پیگیری تخلفات کمک کنید.