আমি যে কম্পিউটার বিজ্ঞানের কোর্স নিচ্ছি তার জন্য আমি একটি বাস্তব সময়ের কৌশল গেমটি বিকাশ করছি developing এর একটি শক্ত দিক মনে হয় ক্লায়েন্ট-সার্ভার নেটওয়ার্কিং এবং সিঙ্ক্রোনাইজেশন। আমি এই বিষয়ে পড়েছি ( 1500 তীরন্দাজ সহ ) তবে আমি অন্য মডেলের বিপরীতে ক্লায়েন্ট-সার্ভারের পদ্ধতি গ্রহণ করার সিদ্ধান্ত নিয়েছি (উদাহরণস্বরূপ ল্যানের উপরে)।
এই বাস্তব সময় কৌশল গেমটি কিছু সমস্যা নিয়ে আসে। ধন্যবাদ, প্লেয়ারটি গ্রহণ করে এমন প্রতিটি ক্রিয়া হ'ল নির্দোষ। তবে, এমন ইভেন্ট রয়েছে যা নির্ধারিত বিরতিতে ঘটে। উদাহরণস্বরূপ, গেমটি টাইলগুলি নিয়ে গঠিত এবং কোনও খেলোয়াড় যখন কোনও টাইল নেন, তখন 'শক্তি স্তর', সেই টাইলের একটি মান, তা নেওয়ার পরে প্রতি সেকেন্ডে বাড়তে হবে। এটি খুব দ্রুত ব্যাখ্যা যা আমার ব্যবহারের ক্ষেত্রে ন্যায়সঙ্গত হওয়া উচিত।
এখনই আমি পাতলা ক্লায়েন্ট করছি, যা সার্ভারে কেবল প্যাকেট প্রেরণ করে এবং প্রতিক্রিয়ার জন্য অপেক্ষা করে। তবে বেশ কয়েকটি সমস্যা রয়েছে।
খেলোয়াড়দের মধ্যে গেমগুলি যখন এন্ডগেমে বিকশিত হয়, তখন প্রায় প্রতি সেকেন্ডে 50 টিরও বেশি ইভেন্ট হয় (নির্ধারিত ইভেন্টগুলির কারণে, আগে বর্ণিত, পাইলিং করা হয়) এবং সিঙ্ক্রোনাইজেশন ত্রুটিগুলি তখন দেখাতে শুরু করে। আমার সবচেয়ে বড় সমস্যাটি হ'ল ক্লায়েন্টদের মধ্যে থাকা রাজ্যে একটি সামান্য বিচ্যুতি বলতে ক্লায়েন্টদের নেওয়া বিভিন্ন সিদ্ধান্তের অর্থ হতে পারে, যা সম্পূর্ণ পৃথক গেমগুলিতে স্নোবল। আরেকটি সমস্যা (যা এখনকার হিসাবে গুরুত্বপূর্ণ নয়) এটি হ'ল বিলম্ব রয়েছে এবং ফলাফলটি দেখার জন্য তাদের চালনা করার কয়েক সেকেন্ড পরেও কয়েক মিলিসেকেন্ড অপেক্ষা করতে হবে।
আমি ভাবছি যে শেষ-ব্যবহারকারীর পক্ষে এটি সহজ, দ্রুত এবং আরও উপভোগ্য করতে আমি কী কৌশল এবং অ্যালগরিদম ব্যবহার করতে পারি। এটি প্রতি খেলায় বেশ কয়েকটি খেলোয়াড়ের পাশাপাশি প্রতি সেকেন্ডে প্রচুর পরিমাণে ইভেন্টের পরিমাণ বিশেষ করে আকর্ষণীয়।
টিএল; ডিআর>> প্রতি সেকেন্ডে 50 টি ইভেন্ট দিয়ে আরটিএস তৈরি করছে, আমি কীভাবে ক্লায়েন্টগুলিকে সিঙ্ক্রোনাইজ করব?