
فوری: بهبود شبیهسازی فیزیک با جاوااسکریپت (بدون فریمورک
- توسعه نرمافزار و آیتی
به یک فریلنسر با تجربه در 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).
لاگ ورود و خروج اشیا.
نمایش وضعیت جاری شیء هنگام هاور موس.
تحویل
مرحله اول: یک خروجی ویدیویی ~۲ دقیقهای از عملکرد پروژه.
در صورت تأیید، کد کامل ارسال میشود و پرداخت انجام خواهد شد.
زمانبندی
اولین خروجی: امشب.
ددلاین نهایی بدون باگ: چهارشنبه عصر، 12 شهریور.
⚡ اگر در این حوزه حرفهای هستید، این پروژه برای شما ساده خواهد بود.
مهارتهای مورد نیاز
HTML
جاوا اسکریپت (JavaScript)
سی اس اس (CSS)
الگوریتم
Game Development
فایل ها
سرویسهای مرتبط
فریلنسرهایی که در این پروژه پیشنهاد ارسال کردهاند
mhmdkh4.79(52) امتیاززمان تحویل: 5 روزارسال پیشنهاد در:- زمان تحویل: 7 روزارسال پیشنهاد در:
