আমি কেবল মজাদার জন্য একটি সাধারণ সামান্য MOBA তৈরি করছি। আমি সবকিছুকে একক খেলোয়াড় তৈরি করছিলাম তখন আমি বুঝতে পারি "ওহ ক্রেপ আমার সম্ভবত মাল্টিপ্লেয়ার যুক্ত করা উচিত, হু"।
আমি এর আগে কখনও নেটওয়ার্কিংয়ের সাথে কিছু করিনি, সুতরাং লিডগ্রেনকে আমার গেমের সাথে কীভাবে সংহত করতে হয় তা শিখতে মজাদার এবং দুর্দান্ত। বিষয়টি হ'ল আমি জানি যে আমি যেভাবে জিনিসগুলি করছি তা ভুল, কারণ মূলধারার গেমগুলি ব্যবহার করা আমার পক্ষে যথেষ্ট যথেষ্ট শক্তিশালী নয়, তবে যতদূর আমি জানি তবে এতে কী সমস্যা?
আমি যা করছি তা হ'ল মূলত, যখনই কোনও প্লেয়ার কোনও ক্রিয়া করে, এটি সার্ভারকে একটি বার্তা প্রেরণ করে "হেই, আমি এই জিনিসটি কেবল করেছি"। সার্ভার এবং ক্লায়েন্ট উভয়ই একই সিমুলেশন চালাচ্ছে। সার্ভারটি তখন অন্য সমস্ত ক্লায়েন্টকে একটি বার্তা প্রেরণ করে যে তাদের বলছে যে লোকটি সে কাজটি করেছে।
বেশিরভাগ ক্ষেত্রে, কয়েকটি ক্ষেত্রে ব্যতীত, যখন কোনও খেলোয়াড় কোনও কাজ করে, ক্লায়েন্টটি এটি দুর্দান্ত বলে ধরে নেয় এবং নিজের সাথে এটি নিয়ে এগিয়ে যায়। সুতরাং আপনি সেখানে যাওয়ার জন্য কোথাও ডান-ক্লিক করলে, সেই খেলোয়াড়ের ক্লায়েন্ট কেবল তার লোকটিকে সেখানে স্থানান্তরিত করতে শুরু করে এবং তারপরে সার্ভারকে একটি বার্তা প্রেরণ করে।
সুতরাং মূলত:
- প্লেয়ার 1 তাকে ছয় সেকেন্ডের জন্য 100% দ্রুত চালিত করতে একটি বানান ফেলে
- প্লেয়ার 1 এর স্থানীয় ক্লায়েন্ট তার ইউনিট অবজেক্টে সেই বাফ যোগ করে
- প্লেয়ার 1 এর ক্লায়েন্ট সার্ভারে একটি বার্তা প্রেরণ করে "আরে আমি কেবল এই বানানটি ফেলেছি"
- সার্ভারটি নিশ্চিত করে যে তার কাছে সেই বানানটি কাস্ট করার মতো যথেষ্ট মানা ছিল এবং যদি তা থাকে তবে সেই ইউনিট অবজেক্টটির সার্ভারের অনুলিপিতে সেই বাফটি যুক্ত করে
- সার্ভার অন্য সমস্ত ক্লায়েন্টকে একটি বার্তা প্রেরণ করে "এই যে এই লোকটি কেবল এই বানানটি ফেলেছে"
- অন্যান্য প্রত্যেক ক্লায়েন্ট বার্তাটি গ্রহণ করে "আহ ঠিক আছে," যায় এবং সেই খেলোয়াড়ের জন্য তাদের স্থানীয় ইউনিট অবজেক্টে সেই বাফটি যুক্ত করে
আমি কীভাবে বড় গেমগুলি মাল্টিপ্লেয়ার করে তা দেখার জন্য আমি স্টাফের মধ্য দিয়ে ঝাঁপিয়ে পড়েছি, এবং এই স্টাফটিতে কেবল ছড়িয়ে পড়া শুরু করা এমন ব্যক্তির পক্ষে এটি বিভ্রান্তিকর একরকম, তবে দেখে মনে হচ্ছে উত্স ইঞ্জিনটি সমস্ত কিছুতে সমস্ত পরিবর্তনযুক্ত একটি প্যাকেট প্রেরণ করে the বিশ্বের প্রতিটি টিক? আবার, এই স্টাফটিতে সম্পূর্ণ নতুন, তবে আপনি কি সত্যিই এত ঘন ঘন ডেটাটি চাপতে পারেন?
দুঃখিত যদি এটি কিছুটা র্যাম্পলি হয় তবে মূলত আমি ভাবছিলাম যে আমার সরল ব্যবস্থাটি কেন সঠিক পথটি নয়, কারণ যদি তা হয় তবে অন্যান্য গেমগুলি এটি ব্যবহার করবে, তাই না?