مشروع شخصي
ألعاب المنصات في المتصفح تنزّل ميغابايتات من الرسوم والأصوات قبل رسم أول إطار، واللعب عبر الإنترنت يحتاج عادة خادمًا يدفع أحدهم ثمنه.
النتيجة
أربعة زعماء ولعب تعاوني عبر الإنترنت، بلا أي ملف صورة أو صوت.

اركض عبر مستويات مبنية من البلاطات، واجمع العملات، واسحق الأعداء، وتفادَ المخاطر، وصُدَّ القذائف الوردية، وأسقط أربعة زعماء مرسومين يدويًا — BARKBROOD السنديانة العتيقة، وGRANITE عملاق الحجر، وRIME برج الجليد، وTHE OVERCLOCK في خاتمة جوية. أربع بيئات — مرج ذهبي، وكهف بلوري، ومسبك صناعي، وحلبة زعماء مقمرة — لكلٍّ منها لوحة ألوان وخلفية متوازية خاصة.
عدة المنصات كاملة: قفز متغير، وانحناء وسقوط سريع، واندفاع، وقفز على الجدران، وإطلاق نار بتصويب في 8 اتجاهات، وصدّ، ومنصات متحركة ومتهاوية، ونقاط حفظ. تعمل اللعبة على الهواتف أيضًا بأزرار لمس تظهر تلقائيًا وإطلاق نار آلي وتخطيط يراعي النوتش وشريط عنوان المتصفح.
لا يحتوي المستودع على ملف صورة أو صوت واحد. مظهر Cuphead — خطوط محبَّرة، وخطوط «تغلي»، وتدرج سينمائي دافئ — يُرسم مباشرة في كل إطار عبر واجهة Canvas 2D، ويرافقه أسلوب بكسل نظيف على طريقة ماريو قابل للتبديل في أي وقت. وكل مؤثر صوتي ومقطوعة موسيقية يُولَّدان أثناء التشغيل بواجهة Web Audio.
بلا محرك، بلا أصول، بلا خادم — كل ما يظهر على الشاشة مرسوم، وكل ما تسمعه مُولَّف، أثناء التشغيل.
اضغط C في شاشة البداية، وشارك رمزًا من 4 أحرف، فينضم صديقك إلى العالم نفسه — الأعداء أنفسهم والزعماء أنفسهم وضرر مشترك على الزعيم. الاتصال نظير لنظير عبر WebRTC: وسيط عام يتولى المصافحة الأولى فقط، ثم تتدفق بيانات اللعبة مباشرة بين اللاعبَين. يشغّل المضيف المحاكاة المرجعية الوحيدة بينما تُتوقَّع حركة اللاعب المنضم محليًا، فتبدو الاستجابة فورية دون انتظار الشبكة.
الشيفرة بلغة TypeScript صارمة على Vite، مع حلقة بخطوة زمنية ثابتة تفصل الفيزياء عن معدل الإطارات. طبقة الرسم لا تعدّل الحالة أبدًا، وكل ثوابت اللعب في ملف واحد، وكل مستوى وزعيم ملف JSON مُؤلَّف — إضافة مرحلة جديدة لا تتطلب أي تغيير في الفيزياء.
مكالمة أولى مجانية، ٢٠ دقيقة
اكتب ما يستهلك وقتك أو يضيع لك مالًا. أرد خلال يوم عمل واحد بخطة وسعر — وإن لم أكن الشخص المناسب سأقول لك ذلك.
عندك سؤال عن هيثم؟ اسأل المساعد.