আমি আসলে এটি বাস্তবায়ন করি নি (তাই কিছু সমস্যা হতে পারে যা আমি অবিলম্বে দেখছি না), তবে আমি ভেবেছিলাম আমি সাহায্য করার চেষ্টা করব।
আপনি যা বলেছিলেন তা এখানেই:
ক্লায়েন্ট এ টি-তে ইনপুট প্রেরণ করে
সার্ভার টি 1 এ ইনপুট গ্রহণ করে
সমস্ত ক্লায়েন্ট টি 2 এ পরিবর্তনটি গ্রহণ করে
T2 তে তবে ক্লায়েন্টের ভবিষ্যদ্বাণী ব্যবহার করে ক্লায়েন্ট এ এখন টি 4-এর উপযুক্ত অবস্থানে রয়েছে।
এটি সম্ভবত সার্ভার সময়ের নিরিখে বিবেচনা করা কার্যকর হবে। এটি (সম্ভবত) ইন্টারপোলেশন কীভাবে কাজ করে তার সাথে খুব মিল ।
প্রতিটি কমান্ড একটি সার্ভার সময় দিয়ে প্রেরণ করা হয়। এই সার্ভারের সময়টি ম্যাচের শুরুতে সার্ভারের টিকের জন্য জিজ্ঞাসা করে, পিং সময়টির জন্য ক্ষতিপূরণ দেয়। ক্লায়েন্টে আপনার নিজস্ব স্থানীয় টিক গণনা রয়েছে, এবং আপনার প্রেরিত প্রতিটি কমান্ড সার্ভার টিক্সে রূপান্তরিত হয় (এটি একটি সাধারণ বিয়োগ অপারেশন)
এছাড়াও, ক্লায়েন্ট সর্বদা "অতীতে" রেন্ডার করে। সুতরাং আপনি ধরে নিয়েছেন যে ক্লায়েন্টটি দেখেছে বিশ্বটি হ'ল, বলুন, সার্ভারের সময়টি সত্যিকারের সময়ের চেয়ে 100 মাইল পিছনে।
সুতরাং আসুন সার্ভার সময় (এস দ্বারা মনোনীত) দিয়ে আপনার উদাহরণ পুনরায় লিখুন।
ক্লায়েন্ট সার্ভার সময় এস 0 এর সাথে T0 এ ইনপুট প্রেরণ করে (যা আমি অনুমান করছি সত্যই "সার্ভারের সময় বিয়োগের বিরতির সময় ক্লায়েন্টের উপস্থাপনা")। ক্লায়েন্ট সার্ভার থেকে প্রতিক্রিয়া জন্য অপেক্ষা না এবং অবিলম্বে সরানো।
সার্ভার টি 1 এ ইনপুট গ্রহণ করে। সার্ভার ক্লায়েন্ট কর্তৃক প্রদত্ত সার্ভার সময় S0- র ক্লায়েন্টের অনুমোদনের অবস্থান নির্ধারণ করে। এটি ক্লায়েন্টকে প্রেরণ করে।
ক্লায়েন্ট টি 2 এ অনুমোদনের অবস্থান গ্রহণ করে (এখনও সার্ভারের সময় এস 0 এর উপাধি সহ)। ক্লায়েন্ট পূর্ববর্তী ইভেন্টগুলির মূল্যমানের অতীতের পরিমাণের ট্র্যাক রাখে (সম্ভবত সমস্ত অনির্দিষ্ট ভবিষ্যদ্বাণীগুলির কেবল একটি সারি)।
যদি পূর্বাভাসিত অবস্থান / গতি / সার্ভারটি এস 0 তে যা কিছু ফেরত পাঠায় তা ক্লায়েন্ট এস -0 এ সঞ্চয় করে রাখার চেয়ে আলাদা হয়, ক্লায়েন্টটি কোনওভাবে এটি পরিচালনা করে। হয় খেলোয়াড়কে তাদের অতীত অবস্থানে ফিরে গিয়ে, বা পূর্ববর্তী ইনপুটটিকে পুনরায় আকার দিয়ে, বা অন্য কোনও কিছু যা আমি ভেবে দেখিনি।