इस प्रोजेक्ट के बारे में
लाइटइयर, Bevy गेम इंजन के साथ सर्वर-प्राधिकृत मल्टीप्लेयर गेम लिखने के लिए एक नेटवर्किंग लाइब्रेरी है। यह WebTransport के माध्यम से WebAssembly के साथ संगत है और इसे Rust क्रेट के रूप में वितरित किया जाता है (Bevy 0.19 के लिए lightyear = "0.30")।
शुरुआत करना: रिपॉजिटरी में उदाहरण, 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 में वर्णित विशेषताएँ:
- ट्रांसपोर्ट-अज्ञेय IO: UDP सॉकेट, साथ ही WebSocket, Steam और WebTransport समर्थन के लिए aeronet।
- सीरियलाइज़ेशन: 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.