গেমসে ক্লায়েন্ট / সার্ভার নেটওয়ার্ক আর্কিটেকচার সম্পর্কে জানতে আমি একটি মাল্টিপ্লেয়ার গ্রহাণু ক্লোন প্রয়োগ করছি। আমি তাদের ক্লায়েন্ট / সার্ভার প্রযুক্তিতে গ্যাফারঅনগেমস এবং ভালভের প্রকাশনাগুলি পড়তে সময় কাটিয়েছি। দুটি ধারণা নিয়ে আমার সমস্যা হচ্ছে।
বর্তমানে আমার কাছে একটি অনুমোদিত গেম সার্ভার রয়েছে যা বাক্স 2 ডি দিয়ে পদার্থবিজ্ঞানের অনুকরণ করে এবং প্রতি সেকেন্ডে প্রায় 20 বার ক্লায়েন্টদের কাছে বিশ্বের অবস্থা প্রেরণ করে। প্রতিটি ক্লায়েন্ট সর্বশেষ প্রাপ্ত কয়েকটি স্ন্যাপশট ট্র্যাক করে রাখে এবং স্প্রাইটের চলাচল মসৃণ করতে দুটি রাজ্যের মধ্যে লিপ্প করে। তবে এটি এতটা মসৃণ নয়। এটি কিছুক্ষণের জন্য মসৃণ হতে পারে, তারপরে কিছুটা ঝাঁকুনির পরে, আবার মসৃণ হয়ে যাওয়া ইত্যাদি I আমি টিসিপি এবং ইউডিপি উভয়ই চেষ্টা করেছি, উভয়ই প্রায় একই। আমার সমস্যা কি হতে পারে কোন ধারণা? (দ্রষ্টব্য: আমি এটি প্রথম একক প্লেয়ারের জন্য প্রয়োগ করেছি এবং পদার্থবিজ্ঞানের জগতে প্রতি সেকেন্ডে মাত্র 20 বার আপডেট করার সময় স্প্রেট মুভমেন্ট 60fps এ পুরোপুরি মসৃণ হয়)।
প্রথম সমস্যাটি সমাধান করার জন্য আমি ভেবেছিলাম সম্ভবত ক্লায়েন্টটির পাশাপাশি একটি বক্স 2 ডি সিমুলেশন চালানো উচিত এবং যখন এটি মেলে না তখন সার্ভারের স্ন্যাপশটগুলির সাথে মেলে তার স্প্রিটের অবস্থানগুলি আপডেট করুন। আমি ভেবেছিলাম যে আমার একক প্লেয়ার বাস্তবায়ন মসৃণ হওয়ায় এটি মসৃণ হতে পারে। এই একটি ভাল ধারণা?
এমনকি যদি এটি উপরের সমস্যাটি ঠিক করে না তবে ক্লায়েন্ট-সাইড পূর্বাভাসের জন্য এটি কী প্রয়োজনীয়? উদাহরণস্বরূপ, যদি কোনও খেলোয়াড় তাদের জাহাজটি সরানোর চেষ্টা করে তবে তারা কীভাবে জানতে পারবে যে তারা কোনও পদার্থবিজ্ঞানের সিমুলেশন ছাড়াই একটি গ্রহাণু, প্রাচীর বা শত্রু জাহাজটিকে আঘাত করেছে কিনা? দেখে মনে হচ্ছে যে তাদের জাহাজটি যে বস্তুটির সাথে সংঘর্ষ হওয়া উচিত তার মধ্যে দিয়ে এটি প্রদর্শিত হবে যা তারা সার্ভার থেকে একটি স্ন্যাপশট পাওয়ার আগে বলেছিল যে তারা বস্তুকে আঘাত করেছে।
ধন্যবাদ!