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