দাবি অস্বীকার: আমার সর্বকালের প্রিয় ধরণের গেমটি পাঠ্য-ভিত্তিক এবং আমি এটি পুরানো এমডির দীর্ঘ সময়ের প্রোগ্রামার হিসাবে লিখি।
আমি নিজেকে একটি গুরুত্বপূর্ণ প্রশ্ন নিজেকে জিজ্ঞাসা করা উচিত মনে হয়: এটি এমনকি আপনি থ্রেড প্রয়োজন? আমি বুঝতে পারি যে কোনও গ্রাফিকাল গেমের সম্ভবত এমটি ব্যবহার করা বেশি তবে আমি মনে করি এটি গেমটির মেকানিক্সের উপরও নির্ভর করে। (জিপিইউ, সিপিইউ এবং আমাদের কাছে থাকা অন্যান্য সংস্থানগুলির সাথে এটি আজও বিবেচ্য। এটি কীভাবে আপনি 'একবারে সমস্ত অক্ষর' সংজ্ঞা দেন তার উপরও নির্ভর করে। আপনি ঠিক একই সময়ে মানে? পিটার যেমনটি যথাযথভাবে তুলে ধরেছেন তেমনটি আপনার কাছে থাকবে না যে সমস্ত একবারে আক্ষরিক অর্থে অপ্রাসঙ্গিক; এটি কেবল এইভাবে উপস্থিত হয়।
ধরে নিচ্ছি যে আপনি থ্রেড সহ যাবেন: আপনার অবশ্যই 100 টি থ্রেড বিবেচনা করা উচিত নয় (এবং এটি আপনার সিপিইউর পক্ষে খুব বেশি কিনা তাও আমি intoুকতে যাচ্ছি না; আমি কেবল তার জটিলতা এবং এর ব্যবহারিকতাকেই উল্লেখ করি)।
তবে এটি মনে রাখবেন: একাধিক-থ্রেডিং সহজ নয় (ফিলিপ দেখায়) এবং এতে অনেকগুলি সমস্যা রয়েছে। আমি এমটি-র সাথে করার চেয়ে অন্যদের অনেক বেশি অভিজ্ঞতা রয়েছে (তবে আমি বলব) তারাও একই জিনিস প্রস্তাব করবে (যদিও তারা আমার চেয়ে বেশি সক্ষম হবে - বিশেষত আমার পক্ষ থেকে অনুশীলন না করে)।
কিছু যুক্তি দেয় যে তারা একমত যে থ্রেডগুলি উপকারী নয় এবং কিছু যুক্তি দেয় যে প্রতিটি বস্তুর থ্রেড থাকা উচিত। তবে (এবং এটি আবার সমস্ত পাঠ্য হলেও আপনি যদি একাধিক থ্রেডের জন্য বিবেচনা করেন তবে আপনার প্রতিটি বস্তুর জন্য এটি প্রয়োজন - এবং হওয়া উচিত নয়) যেমন ফিলিপ পয়েন্ট আউট করে গেমগুলি তালিকাগুলির মধ্য দিয়ে পুনরাবৃত্তি করে। তবে এখনও এটি কেবলমাত্র নয় (যদিও তিনি বুঝতে পেরেছেন যে যদিও তিনি বুঝতে পেরেছেন যে তিনি কেবলমাত্র কয়েকটি অল্প বস্তুর আপনার পরামিতিগুলিতে সাড়া দিচ্ছেন) এত অল্প বস্তুর জন্য। এমইউডিতে আমি একজন প্রোগ্রামার, যার জন্য আমাদের নিম্নলিখিতগুলি রয়েছে (এবং এটি রিয়েল-টাইমে ঘটে যাওয়া সমস্ত ক্রিয়াকলাপ নয় তাই এটিও মনে রাখবেন):
(উদাহরণের সংখ্যা অবশ্যই পৃথক - উচ্চ এবং নিম্ন)
মোবাইলস (এনপিসি অর্থাত্ প্লেয়ারের অক্ষর নয়): 2614; প্রোটোটাইপস: 1360 অবজেক্টস: 4457; প্রোটোটাইপস: 2281 রুম: 7983; প্রোটোটাইপস: 83 83৮83. প্রতিটি ঘরের সাধারণত নিজস্ব উদাহরণ থাকে তবে আমাদের গতিশীল কক্ষগুলিও রয়েছে যা একটি ঘরের মধ্যে ঘর বলতে বোঝায়; বা একটি মোবাইলের মধ্যে কক্ষগুলি যেমন ড্রাগনের পেট; বা অবজেক্টের কক্ষগুলি যেমন আপনি কোনও যাদুতে প্রবেশ করেন)। মনে রাখবেন যে এই গতিশীল কক্ষগুলি বস্তু / ঘর / মোবাইল প্রতি বিদ্যমান যা তাদেরকে সংজ্ঞায়িত করেছে। হ্যাঁ এটি অনেকটা ওয়ার্ল্ড অফ ওয়ারক্রাফ্টের মতো (আমি এটি খেলি না তবে একটি উইন্ডোজ মেশিন থাকাকালীন একটি বন্ধু আমাকে খেলতে পেরেছিল) কিছুক্ষণ বাদে আমাদের কাছে ওয়ারক্রাফট ওয়ার্ল্ডের অস্তিত্বের অনেক আগেই ধারণা ছিল।
স্ক্রিপ্টস: 868 (বর্তমানে) (অদ্ভুতভাবে আমাদের পরিসংখ্যান কমান্ডটি দেখায় না যে আমাদের কাছে কত প্রোটোটাইপ রয়েছে তাই আমি এটি যুক্ত করব)। এগুলির সবগুলি অঞ্চল / অঞ্চলে অনুষ্ঠিত হয় এবং এর মধ্যে আমাদের মধ্যে 103 রয়েছে। আমাদের বিভিন্ন পদ্ধতি রয়েছে যা বিভিন্ন সময়ে proc আমাদের অন্যান্য অনুষ্ঠানও রয়েছে। তারপরে আমরা সকেটগুলিও সংযুক্ত করেছি। মোবাইলগুলি ঘোরাফেরা করে, বিভিন্ন ক্রিয়াকলাপ করে (লড়াই ছাড়াও), খেলোয়াড়দের সাথে ইন্টারঅ্যাকশন করে ইত্যাদি। (সুতরাং অন্যান্য ধরণের সত্তা করুন)।
আমরা কোনও বিলম্ব ছাড়াই কীভাবে এই সমস্ত পরিচালনা করব?
সকেট: নির্বাচন করুন (), সারি (ইনপুট, আউটপুট, ইভেন্ট, অন্যান্য জিনিস), বাফার (ইনপুট, আউটপুট, অন্যান্য জিনিস), ইত্যাদি These এগুলি সেকেন্ডে 10 বার পোল করা হয়।
অক্ষর, অবজেক্টস, কক্ষ, যুদ্ধ, সবকিছু: সমস্ত বিভিন্ন ডালের কেন্দ্রীয় লুপে।
আমাদেরও (প্রতিষ্ঠাতা / অন্যান্য প্রোগ্রামার এবং আমার মধ্যে আলোচনার উপর ভিত্তি করে আমার বাস্তবায়ন) বিস্তৃত লিঙ্কযুক্ত তালিকা ট্র্যাকিং এবং পয়েন্টার বৈধতা পরীক্ষা আছে এবং আমাদের এটির প্রয়োজন হওয়া উচিত পর্যাপ্ত মুক্ত সংস্থার চেয়ে আমাদের আরও বেশি। এই সমস্ত (আমরা বিশ্বের প্রসারিত না করে) অস্তিত্ব ছিল বহু বছর আগে যখন র্যাম, সিপিইউ শক্তি, হার্ড ডিস্কের স্থান ইত্যাদি ছিল এবং তখনও আমাদের কোনও সমস্যা ছিল না। বর্ণিত লুপগুলিতে (স্ক্রিপ্টগুলি এরিয়া রিসেট / রিপোপুলেশনগুলি যেমন অন্যান্য জিনিসগুলির মতো ঘটায়) দানব, বস্তু (আইটেম) এবং অন্যান্য জিনিস তৈরি করা হচ্ছে, মুক্ত করা হয়েছে ইত্যাদি। সংযোগগুলিও স্বীকৃত, পোল করা এবং আপনার প্রত্যাশা করা সমস্ত কিছু।