आप यादृच्छिक बीज का उपयोग कर सकते हैं । सर्वर और क्लाइंट में समान 32-बिट मान का चयन करें (या सर्वर शुरुआत में क्लाइंट को भेज सकता है)। यादृच्छिक जनरेटर के लिए बीज के रूप में इसका उपयोग करें। आप गेम स्टेट अपडेट के साथ सर्वर से क्लाइंट तक वास्तविक बीज भेज सकते हैं। यदि आप इसे नहीं भेजना चाहते हैं, तो आपको यह सुनिश्चित करना चाहिए कि क्लाइंट और सर्वर इस यादृच्छिक जनरेटर द्वारा समान संख्या में यादृच्छिक संख्या उत्पन्न करते हैं।
ग्राहक को वास्तविक बीज न भेजने का निर्णय लेने से पहले आपको क्या जानना चाहिए:
- आपको क्लाइंट पर क्रॉल करने वाले चरित्र की समस्या होगी (इसका मतलब है कि क्लाइंट पर युद्ध के एक कोहरे में वर्णों को गहरी प्रक्रिया न दें)। यदि आप चरित्र को सर्वश्रेष्ठ बनाना चाहते हैं तो निर्णय लेना होगा कि क्लाइंट को कैरेक्टर प्रोसेस करते समय सर्वर से क्लाइंट तक सभी कैरेक्टर स्टेट (वास्तविक बीज के साथ) भेजें। इसलिए, सर्वर को यह तय करना चाहिए कि क्लाइंट को कैरेक्टर को कब प्रोसेस करना चाहिए और कब नहीं। सुनिश्चित करें कि आप प्रत्येक वर्ण के लिए अलग यादृच्छिक जनरेटर का उपयोग करते हैं।
- समान समस्या एआई दर्जों के साथ होगी।
- इस रैंडम जनरेटर से रैंडम नंबर केवल निश्चित समय डेल्टा के साथ अद्यतन में उत्पन्न किया जाना चाहिए। यदि आप रेंडर करने से पहले एआई इंटरपोलेशन के लिए रैंडम अंक का उपयोग करना चाहते हैं, तो आपको अलग रैंडम जनरेटर का उपयोग करना चाहिए (सर्वर पर कोई रेंडर नहीं हैं, इसलिए परवाह न करें कि आप किस बीज का उपयोग करेंगे)।
- यदि आप क्लाइंट और सर्वर (उदाहरण के लिए C ++ और Java) के लिए अलग-अलग प्लेटफ़ॉर्म का उपयोग करना चाहते हैं, तो आपको क्रॉसप्लेक्ट रिकॉर्डर सिस्टम को लागू (या खोजना) करना होगा। यह एक बड़ी समस्या नहीं है, क्योंकि यादृच्छिक जनरेटर को लागू करना आसान है।