আমি একটি নেটওয়ার্ক গেমের জন্য একটি সত্তা সিস্টেমে কাজ করছি এবং আমি প্রতিটি সত্তাকে একটি অনন্য 32-বিট পূর্ণসংখ্যার আইডি নিযুক্ত করছি যা আমি সত্তাগুলি এবং সত্তাগুলির নিজস্ব রেফারেন্সগুলি সিরিয়ালায়িত করতে ব্যবহার করতে পারি।
বর্তমানে আমি প্রতিবার কোনও সত্তা তৈরি হওয়ার সময় কেবল একটি কাউন্টার বাড়িয়ে দিচ্ছি। আমি ধারণা করি এইডস শেষ পর্যন্ত শেষ হয়ে যাবে তবে আমি 4 বিলিয়ন সত্তা পাওয়ার আশা করি না। এছাড়াও # 5 সত্তাটি নষ্ট হয়ে গেলে এবং আমরা 5 এর একটি আইডি পেয়ে গেলে সমস্যাটি এড়ানো হয় এটি কী নতুন # 5 বা পুরানো মোছা # 5 কে বোঝায়?
সমস্যাটি হ'ল সংঘর্ষগুলি কীভাবে পরিচালনা / এড়াতে হবে তা সম্পর্কে আমি নিশ্চিত নই। বর্তমানে যদি কোনও ক্লায়েন্ট কোনও "আইডি" বর্তমান "ফ্রি আইডি" এর চেয়ে উচ্চতর আইডি সহ কোনও সত্তার জন্য একটি আপডেট পান তবে এটি কেবল অতীতের ফ্রি আইডিটিকে আটকায়। তবে এটি খুব দৃust় বলে মনে হয় না।
আমি প্রতিটি ক্লায়েন্টকে রেঞ্জ নির্ধারণের বিষয়ে ভেবেছিলাম যাতে তারা বিবাদ ছাড়াই সত্তা বরাদ্দ করতে পারে (বলুন শীর্ষ এন বিটগুলি প্লেয়ার নম্বর) তবে সময়ের সাথে যদি রেঞ্জগুলি ওভারল্যাপ করা শুরু করে তবে কী হয় তা নিয়ে আমি উদ্বিগ্ন।
এটি পরিচালনা করার আরও ভাল উপায় আছে? আইডিস উপচে পড়া বা অনুমোদিত ব্যাপ্তির শেষ পেরিয়ে যাওয়ার বিষয়েও কি আমার যত্ন নেওয়া উচিত? আমি এই কেসগুলি সনাক্ত করতে কোড যুক্ত করতে পারতাম তবে ক্র্যাশ ছাড়া অন্য ঘটনা ঘটলে এটি কী করবে।
আরেকটি বিকল্প হ'ল 128-বিট জিইউডির মতো অনন্য হওয়ার উচ্চতর সুযোগ সহ কিছু ব্যবহার করা তবে এটি এমন একটি গেমের জন্য সত্যই ভারী ওজন বলে মনে হয় যা নেটওয়ার্ক ট্র্যাফিককে হ্রাস করতে চাইছে। এছাড়াও, বাস্তবিকভাবে আমার আর একবারে বেশি সংস্থাগুলির প্রয়োজন হবে না তবে এটি 32-বিট বা 24 বিট পূর্ণসংখ্যার সাথে মাপসই হবে।
ধন্যবাদ!