Piotr Doliński
العودة إلى المشاريع
مميز

Bug the Gathering

لعبة بناء مجموعات بطاقات roguelike للهواتف تعمل دون اتصال على iOS وAndroid، مبنية بـ React Native وExpo. ابنِ استراتيجية مستوحاة من عالم تقنية المعلومات في جولة بقاء إجرائية.

React NativeExpoReact Native SkiaReanimatedZustandAsyncStorageJestTypeScript

عن المشروع

BUG: The Gathering لعبة بطاقات roguelike للهواتف بالعرض، مستوحاة من Slay the Spire وHearthstone. في The Sprint يختار اللاعب واحدة من خمس فئات مستوحاة من تقنية المعلومات، ويبني مجموعة بطاقات، ويتنقل عبر خريطة مولدة من seed، ويواجه معارك وأحداثًا ومتاجر وزعماء متعددين المراحل. تعمل اللعبة بالكامل دون اتصال، ويفصل محرك TypeScript خالص بين القتال والتوليد الإجرائي وطبقة العرض في React Native.

الميزات الرئيسية

  • تطبيق React Native وExpo محسّن للعب الأفقي على الهاتف
  • خمس فئات قابلة للعب وتقدم لبناء المجموعات عبر جولات roguelike
  • محرك قتال وتوليد موجات خالص وحتمي، منفصل عن كود الواجهة
  • بطاقات ومؤثرات قتال ورسوم متحركة وصوت واستجابة لمسية مدعومة بـ Skia
  • إدارة حالة local-first، وترجمة إنجليزية وبولندية، واختبارات Jest آلية

التحديات التقنية

أهم تحدٍ هندسي هو الحفاظ على واجهة معركة أصلية وسريعة الاستجابة حين تحدث مؤثرات بصرية وانتقالات حالة متعددة في الدور نفسه. تبقى منطقية القتال والتقدم حتمية ومستقلة عن الرسم، بينما تقلل أسطح Skia الدائمة ودورات حياة الرسوم المتحركة المدارة بعناية من ضغط GPU وواجهات العرض الأصلية على الأجهزة المحمولة.

محرك قتال حتمي بـ TypeScript يضم نحو 340 بطاقة وتأثيرات وتآزرًا بين الفئات والقبائل
تقدم roguelike قائم على seed مع خرائط ومواجهات وأحداث ومتاجر ومراحل زعماء إجرائية
رسم معارك ومؤثرات بصرية أصلية باستخدام React Native Skia وReanimated
حفظ دون اتصال عبر Zustand وAsyncStorage، وواجهة ثنائية اللغة، وتغطية Jest لمنطق اللعبة وسلوك الواجهة
الكود