عن المشروع
لايت يير مكتبة شبكات لكتابة ألعاب متعددة اللاعبين ذات سلطة الخادم باستخدام محرك الألعاب Bevy. وهي متوافقة مع WebAssembly عبر WebTransport وتُوزَّع كحزمة Rust (lightyear = "0.30" لـ Bevy 0.19).
البدء: يوفر المستودع أمثلة، وبرنامجًا تعليميًا يعيد إنشاء مثال simple_box، وكتابًا قيد الإنجاز لمزيد من التوثيق.
تخطيط المستودع: توجد حزم مساحة العمل تحت crates/، مجمَّعة حسب الدور، مع إسقاط البادئة lightyear_ من أسماء المجلدات بينما تحتفظ أسماء حزم Cargo بها. تشمل المجموعات io (روابط وخلفيات منخفضة المستوى مثل aeronet وlink وudp وcrossbeam وwebsocket وwebtransport)، وconnection (connection وraw_connection وnetcode وsteam)، وcore (حزمة lightyear العليا بالإضافة إلى core وsync وutils وframe interpolation)، وinputs (inputs وinputs_native وinput_bei وinputs_leafwing)، وreplication (replication وprediction وinterpolation)، وtransport (serialization وtransport وmessage)، وintegration (تكاملات منظومة Bevy مثل Avian)، وحزم platform وdeterministic وtools وtests.
الميزات الموصوفة في README:
- إدخال/إخراج محايد تجاه النقل: مقابس UDP، بالإضافة إلى aeronet لدعم WebSocket وSteam وWebTransport.
- التسلسل: postcard هو المسلسل الافتراضي، مع دعم توفير دالة تسلسل مخصصة.
- تمرير الرسائل: قنوات بضمانات ترتيب وموثوقية مختلفة، وتجزئة الحزم للرسائل الأكبر من نحو 1200 بايت.
- معالجة المدخلات: تُخزَّن مدخلات اللاعب مؤقتًا كل نبضة على العميل، وتُعالَج مدخلات العميل للنبضة N في النبضة N على الخادم؛ وتُحمى المدخلات من فقدان الحزم عبر تضمين الإطارات الحديثة في كل حزمة. توجد تكاملات اختيارية لـ leafwing-input-manager وbevy-enhanced-input.
- التكرار الحتمي: مدعوم عندما تُكرَّر المدخلات فقط وتكون المحاكاة حتمية؛ متوافق مع lockstep وprediction/rollback.
- تكرار العالم: يستخدم bevy_replicon للتكرار وإدارة الاهتمام والإنشاء المسبق والميزات ذات الصلة.
- التكرار المتقدم: التنبؤ من جانب العميل مع التراجع، واعتراض اللقطات، وتأخير إدخال قابل للتهيئة، وإدارة النطاق الترددي بالإرسال القائم على الأولوية، وتعويض التأخر للتفاعلات بين الكيانات المتنبأ بها والمُعترَضة.
- الطوبولوجيات: عميل-خادم، وP2P، ووضع المضيف-العميل حيث يعمل العميل كخادم.
- الأمثلة: أمثلة عديدة تغطي الميزات والتكاملات مع حزم Bevy أخرى مثل avian.
يسرد README أيضًا مشاريع ذات صلة، بما في ذلك مشروع بدء lightyear-template وألعاب مثل Lumina وcycles.io، وجدول توافق يربط إصدارات Lightyear بإصدارات Bevy (0.28-0.30 إلى Bevy 0.19، و0.26-0.27 إلى 0.18، و0.25 إلى 0.17، و0.20-0.24 إلى 0.16، و0.18-0.19 إلى 0.15، و0.16-0.17 إلى 0.14، و0.10-0.15 إلى 0.13، و0.1-0.9 إلى 0.12).
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.