কোডটি যদি অন্য কোনও সমস্যার সহজ সমাধান স্বীকার করে তবে কী গন্ধ পাওয়া ঠিক আছে? [বন্ধ]


31

একদল বন্ধু এবং আমি গত কিছুদিন ধরে একটি প্রকল্পে কাজ করে যাচ্ছিলাম এবং আমরা আমাদের পণ্যের সাথে সম্পর্কিত দৃশ্যের প্রতিনিধিত্ব করার একটি দুর্দান্ত ওওপি উপায় আবিষ্কার করতে চেয়েছিলাম। মূলত, আমরা একটি Touhou- শৈলী বুলেট জাহান্নাম গেম উপর কাজ করছি , এবং আমরা একটি সিস্টেম তৈরি করতে চেয়েছিলাম যেখানে আমরা সহজেই বুলেটের যে কোনও সম্ভাব্য আচরণ উপস্থাপন করতে পারি যেখানে আমরা স্বপ্ন দেখতে পারি।

সুতরাং আমরা ঠিক তাই করেছি; আমরা একটি সত্যই মার্জিত আর্কিটেকচার তৈরি করেছিলাম যা আমাদেরকে বুলেটের আচরণগুলি বিভিন্ন উপাদানগুলিতে ভাগ করতে দেয় যা ইচ্ছামতো বুলেটের উদাহরণগুলির সাথে সংযুক্ত হতে পারে, যেমন Unক্যের উপাদান উপাদান হিসাবে system এটি খুব সুন্দরভাবে কাজ করেছে, এটি সহজেই বর্ধনযোগ্য ছিল, এটি নমনীয় ছিল এবং আমাদের সমস্ত ঘাঁটি coveredাকা ছিল, তবে একটি সামান্য সমস্যা ছিল।

আমাদের অ্যাপ্লিকেশনটিতে প্রচুর পরিমাণে প্রক্রিয়াজাত জেনারেশন জড়িত, যথা আমরা প্রক্রিয়াগতভাবে বুলেটগুলির আচরণ তৈরি করি। কেন এটি একটি সমস্যা? ঠিক আছে, বুলেট আচরণের প্রতিনিধিত্ব করার জন্য আমাদের ওওপি সমাধানটি মার্জিত হলেও, কোনও মানুষ ছাড়া কাজ করা কিছুটা জটিল is যৌক্তিক এবং চতুর উভয়ই সমস্যার সমাধান সম্পর্কে চিন্তা করার জন্য মানুষ যথেষ্ট স্মার্ট। পদ্ধতিগত প্রজন্মের অ্যালগরিদমগুলি এখনও এটি স্মার্ট নয় এবং এমন একটি এআই বাস্তবায়ন করা আমাদের পক্ষে কঠিন হয়ে পড়েছে যা আমাদের OOP আর্কিটেকচারকে তার সম্পূর্ণ সম্ভাবনার জন্য ব্যবহার করে। স্বীকার করা যায়, এটি স্থাপত্যের একটি ত্রুটি এটি হ'ল এটি সমস্ত পরিস্থিতিতে স্বজ্ঞাত নয়।

সুতরাং এই সমস্যার প্রতিকারের জন্য, আমরা মূলত বুলেট শ্রেণীর মধ্যে বিভিন্ন উপাদান দ্বারা প্রদত্ত সমস্ত আচরণকে সরিয়ে দিয়েছি, যাতে আমরা যা কল্পনা করতে পারি সেগুলি প্রতিটি বুলেট ইভেন্টে সরাসরি অন্য সম্পর্কিত উপাদানগুলির উদাহরণগুলির বিপরীতে দেওয়া হয়। এটি আমাদের পদ্ধতিগত প্রজন্মের সাথে কাজ করা অ্যালগরিদমকে আরও সহজ করে তোলে তবে এখন আমাদের বুলেট শ্রেণি একটি বিশাল godশ্বরের অবজেক্ট । এটি যে কোনও কিছুর চেয়ে পাঁচগুণ বেশি কোড সহ সহজেই প্রোগ্রামের বৃহত্তম ক্লাস। পাশাপাশি বজায় রাখতেও এটি কিছুটা ব্যথা।

অন্য শ্রেণীর সমস্যা নিয়ে কাজ করা আরও সহজ করার জন্য আমাদের ক্লাসগুলির মধ্যে একটি godশ্বর বস্তুতে পরিণত হয়েছে তা কি ঠিক আছে? সাধারণভাবে, কোডটি যদি কোনও ভিন্ন সমস্যার সহজ সমাধান স্বীকার করে তবে আপনার কোডে কোড গন্ধ পাওয়া ঠিক আছে কি?


1
ঠিক আছে ... উত্তর দেওয়া খুব কঠিন। আমার মতে না। বিশেষত যদি আপনি অন্য ব্যক্তির সাথে একসাথে কাজ করেন। আপনি একা কাজ করলে আপনি যা খুশি তা করতে পারেন। তবে সাধারণভাবে এটি নির্ভর করে আপনি কার সাথে কাজ করছেন।
সারকাস্টিক আলু

13
"যদি এটি বোকা, এবং এটি কাজ করে; এটি বোকা নয়" " বলা হচ্ছে, আপনার বিবেচনা করতে হবে যে এটি আপনি যেমনটি চান ঠিক ঠিক তেমন কাজ করে, আপনি কীভাবে এটি ঠিক করার সিদ্ধান্ত নিয়েছেন বলে আপনি godশ্বরের শ্রেণিতে ভবিষ্যতের কোডিংকে অসম্ভব করে তুলছেন না বা না করুন।
ফ্ল্যাটার

8
গন্ধ পাওয়া এবং আপনি দুর্গন্ধ জেনে রাখা ভাল, তবে গন্ধ পাওয়া কেবল অন্য লোকেরা খেয়াল করে। :)
ত্রুটিযুক্ত

1
আপনার মতো এমন একটি অ্যাডাপ্টার শ্রেণির প্রয়োজন যা আপনার পদ্ধতিগত কোডকে একটি অ-ওও ইন্টারফেস সরবরাহ করে, যাতে আপনি আপনার বাকী কোডটি পরিষ্কার (er) রাখতে পারেন।
নিকি

1
দেখে মনে হচ্ছে আপনি একটি দুর্দান্ত সিস্টেম তৈরি করেছেন এবং এখনই এটি সমস্ত বৈশিষ্ট্যকে নরকে ফেলে দেওয়ার সিদ্ধান্ত নিয়েছে এটি কোনও বৈশিষ্ট্যে প্রত্যাশার মতো কাজ করে না। যে আপনি চান সত্যিই কি? আপনার কাজের জন্য গর্বিত হন!
মাস্ট

উত্তর:


74

রিয়েল-ওয়ার্ল্ড প্রোগ্রামগুলি তৈরি করার সময়, প্রায়শই একদিকে বাস্তববাদী থাকা এবং অন্যদিকে 100% পরিষ্কার থাকার মধ্যে বাণিজ্য হয়। যদি পরিষ্কার থাকা আপনাকে সময়মতো আপনার পণ্যটি চালিত করতে নিষেধ করে, তবে ড ***** জিনিসটি দরজা থেকে সরিয়ে নিতে আপনি কিছুটা নল-টেপ দিয়ে ভাল।

বলেন যে, আপনার বিবরণ বিভিন্ন শোনাচ্ছে - এটা আপনি যোগ করতে যাচ্ছে না শোনাচ্ছে একটু নালী টেপ বিট, শোনাচ্ছে মত আপনার পুরো স্থাপত্য ভেঙেচুরে কারণ আপনার দীর্ঘ ও কঠোর যথেষ্ট ভাল সমাধান জন্য চেহারা করা হয়নি যাচ্ছি। সুতরাং এখানে পিএসইতে এমন কাউকে খোঁজার পরিবর্তে যিনি আপনাকে এই বিষয়ে আশীর্বাদ দেয়, আপনি আরও একটি আলাদা প্রশ্ন জিজ্ঞাসা করতে পারেন যেখানে আপনার গভীরতার সমস্যাগুলির কিছু বিবরণ বর্ণনা করা হয়েছে এবং যদি কেউ আপনাকে এমন ধারণা দেয় যা whichশ্বরকে এড়িয়ে চলে offers ক্লাস পদ্ধতির।

হয়ত বুলেট ক্লাসটি অন্যান্য ক্লাসের একগুচ্ছ মুখরিত করার জন্য ডিজাইন করা যেতে পারে, তাই বুলেট শ্রেণিটি আরও ছোট হয়। হয়তো কৌশল প্যাটার্ন সাহায্য করতে পারে যাতে বুলেট বিভিন্ন কৌশল অবজেক্টগুলিতে বিভিন্ন আচরণকে অর্পণ করতে পারে। আপনার বুলেট উপাদান এবং আপনার পদ্ধতিগত জেনারেটরের মধ্যে আপনার কেবল একটি অ্যাডাপ্টার প্রয়োজন। তবে সত্যই, আপনার সিস্টেমের আরও বিশদ না জেনে কেউই কেবল আশেপাশে অনুমান করতে পারে।


6
এই উত্তরটি পুনরায় নিশ্চিত করার জন্য, আমি খুব একই দুটি সুপারিশ দিয়ে কিছু লিখতে যাচ্ছিলাম। শেষ অনুচ্ছেদের বিষয়ে, ওপি যা বর্ণনা করে তা নিজের মধ্যে একটি কোড গন্ধ বলে মনে হয় যা নির্দেশ করে যে অন্য স্তরের ইন্ডিয়ারেশন প্রয়োজন। এটি কোনও ভাল ফ্যাক্টরি শ্রেণি, মুখোমুখি, বা এমনকি এআই জেনারেট করতে পারে এমন একটি সম্পূর্ণ প্রস্ফুটিত ডিএসএল ওপি পর্যন্ত ছেড়ে যায়।
ড্যানিয়েল বি

2
কোডটিকে ছোট অংশগুলিতে বিভক্ত করার জন্য মুখোমুখি / কৌশল সম্পর্কে ভাল পরামর্শ। যদিও আরও বিশদ না জেনেও কি পরামর্শ দিতে হবে তা জানা শক্ত।
user949300

25

আকর্ষণীয় প্রশ্ন। আমার আগের অভিজ্ঞতার কারণে আমি কিছুটা পক্ষপাতদুষ্ট, যা আমাকে নং দিয়ে উত্তর দিতে প্ররোচিত করে

সংক্ষিপ্ত উত্তর: আমরা শেখা কখনই বন্ধ করি না। আপনি যখন এরকম কোনও প্রাচীরকে আঘাত করেন, তখন কোডটি গন্ধ যুক্ত করার অজুহাত নয়, আপনার স্থাপত্য / নকশা দক্ষতার উন্নতি করার সুযোগ improve

দীর্ঘতর সংস্করণটি হ'ল আমাকে এখন আমার প্রকল্পগুলিতে অনেক সময় একই রকম প্রশ্ন জিজ্ঞাসা করা হয়েছিল, তবে অবশ্যম্ভাবীভাবেই আমরা বিষয়টি আরও গভীরতার সাথে আলোচনা করে শেষ করেছি, তারপরে মূল প্রশ্নকর্তা এর কৃতিত্ব দিয়েছিলেন। আপনি এটির সাথে মূল কারণ বিশ্লেষণের মতো মানসিকতা অন্তর্ভুক্ত করতে চান।

আমি 5 হুইসকে বিশেষভাবে সহায়ক বলে মনে করেছি। আপনার ব্যাখ্যাটি এখানে প্রথমটির মতো পড়ে কেন:

  • "আমাদের এখন এই godশ্বর শ্রেণি আছে" কেন?
  • "কারণ এটি পদ্ধতিগত প্রজন্মের অ্যালগরিদমকে সহজ করে তোলে"

সরলীকরণ হ'ল ঠিক কী? আর তা কেন? এই লাইনের সাথে চলতে থাকুন এবং সাধারণত যা ঘটে তা হ'ল আপনি আরও মৌলিক সমস্যাগুলি চিনতে শুরু করেছেন তবে একই সাথে তারা আপনাকে আরও মৌলিক সমাধানগুলি ঠিক একইভাবে অনুমতি দেয়।

দীর্ঘ গল্প সংক্ষেপে, হাতের সমস্যা এবং বিশেষত এর কারণগুলি সম্পর্কে আরও গভীরভাবে চিন্তা করার পরে, আমার অভিজ্ঞতায় আসল প্রশ্নটি সমস্ত অংশগ্রহণকারীদের কাছে অকার্যকর এবং একেবারে উদ্বেগজনক বলে শেষ হয়েছিল। আপনার যদি সন্দেহ থাকে তবে তাদের চ্যালেঞ্জ করুন এবং তা হয় তারা চলে যাবে, বা আপনাকে কী করতে হবে তা আপনি জানেন। মনে মনে, কোড / নকশা সম্পর্কে এই সন্দেহ থাকা আমার মতে এটি একটি ভাল লক্ষণ। অন্যরা একে একে অন্ত্র অনুভূতি হিসাবে অভিহিত করে তবে এই সমস্যাগুলিকে চ্যালেঞ্জ জানাতে আপনাকে অবশ্যই প্রথমে তাদের চিনতে হবে। যেহেতু আপনি প্রথম পদক্ষেপটি করেছেন, অভিনন্দন! এখন খরগোশের গর্তে নামুন ...


9

এর মতো godশ্বর শ্রেণি থাকা কখনই কাম্য নয়, কারণ এটির অর্থ কেবল এটি নয় যে আপনার বুলেটগুলি এখন একঘেয়েমিযুক্ত বস্তু, তবে এটি আপনার পদ্ধতিগত প্রজন্মের অ্যালগরিদমের ক্ষেত্রেও যায়।

প্রথম পদক্ষেপটি বিশ্লেষণ করা হত, ঠিক আপনার এআই আপনার প্যাটার্নটির জটিলতা নিয়ে কেন এত ঝামেলা করেছে?

আপনি কি সুযোগক্রমে, আপনার এআইকেও একটি godশ্বর শ্রেণীর বস্তুতে পরিণত করার চেষ্টা করেছিলেন, প্রতিটি সম্ভাব্য সম্পত্তির শব্দার্থ সম্পর্কে পুরোপুরি সচেতন? যদি আপনি তা করেন তবে সমস্যাটির উদ্ভব এখানেই।

সমাধানটি তখন বুলেট শ্রেণিতেই সমস্ত কৌশলকে সংহত না করে বরং এআই কোর্ট থেকে এআইয়ের জন্য ইঙ্গিতটি কৌশল প্রয়োগের জন্য লোড করে দেওয়া হত।

লিগ্যাসি আচরণের সাথে পার্শ্ব প্রতিক্রিয়াগুলির ভয় ছাড়াই আপনি ইচ্ছা হিসাবে নতুন কৌশল দ্বারা সিস্টেমটি প্রসারিত করার বিকল্প সহ আপনি মূলত পছন্দসই নমনীয়তাটি পেয়েছিলেন।

পরিবর্তে আপনার কাছে এখন godশ্বরের বস্তুগুলির সাথে সম্পর্কিত সমস্ত সমস্যা রয়েছে: কেবলমাত্র আপনার godশ্বর শ্রেণি নিজেই বুঝতে অসুবিধা নয়, একঘেয়েমিটি ডিবাগ করা শক্ত নয়, তবে godশ্বর শ্রেণিতে অ্যাক্সেস করা অন্যান্য সমস্ত উপাদানগুলির ক্ষেত্রেও একই বিষয় রয়েছে। বিমূর্ততার অভাবের কারণে, আপনার এআই এখন একই রকম জটিলতার ঘৃণায় পরিণত হতে বাধ্য কারণ এটি এখন সমস্ত অনর্থক, স্বতন্ত্র বৈশিষ্ট্য সম্পর্কে সচেতন হতে হবে।

এমনকি এই মুহুর্তে, আপনি ইতিমধ্যে রক্ষণাবেক্ষণ নিয়ে সমস্যায় পড়েছেন। এই সমস্যাগুলি আরও ক্রমশ বাড়ছে, বিশেষত আপনি সেই দলের সদস্যদের শিথিল করার সাথে সাথে, যাদের এখনও ক্লাসটি কীভাবে কাজ করার কথা তার একটি জ্ঞানীয় মডেল রয়েছে।

এখনও অবধি আমি যে প্রতিটি প্রকল্পের মুখোমুখি হয়েছি যার মধ্যে যেমন godশ্বর শ্রেণি বা godশ্বরের ক্রিয়াকলাপগুলি ব্যবহৃত হয় তা পুরোপুরি স্ক্র্যাচ থেকে পুনরায় লেখা বা বন্ধ ছিল, কোনও ব্যতিক্রম নেই।


একটি বিষয় যা প্রায়শই বড় বা জটিল শ্রেণি হওয়া উচিত তা নিয়ে আলোচনায় অনুপস্থিত যে "X এর ধরণের রেফারেন্স ধারণ করে এমন কোডটি কতটা যুক্তিযুক্ত হওয়া উচিত" এর তুলনায় "ক্লাস ফাইলটিতে অনেক যুক্তিযুক্ত হওয়া উচিত এক্স". যদি কোনও ক্লায়েন্টের কাছে সম্ভবত বিভিন্ন ধরণের ক্ষমতা সমর্থনকারী অবজেক্টগুলির সংকলন থাকে (যেমন "fnorble"), এবং প্রায়শই নিজেকে সংগ্রহের সমস্ত সদস্যকে উদাহরণস্বরূপ "যদি সম্ভব হয় তবে আরও কিছু না করতে" জিজ্ঞাসা করতে ইচ্ছুক হন, তারপরে একটি ইন্টারফেস রয়েছে এই জাতীয় অনেক পদ্ধতির সংমিশ্রণ ইন্টারফেসটি বিভক্ত করার চেষ্টা করার চেয়ে অনেক বেশি সহায়ক হতে পারে।
সুপারক্যাট

এই ধরনের একটি ইন্টারফেস দেওয়া, আলাদা আলাদা আলাদা আলাদা সমন্বয় না করে, কোনও ক্ষমতার সংমিশ্রণ সহ কোড এনক্যাপসুলেট অবজেক্ট থাকা সম্ভব। ইন্টারফেসগুলি পৃথক করে অনেকগুলি প্রক্সি ক্লাস লিখতে হবে, যেহেতু এমন ধরণের প্রক্সগুলি যে পদ্ধতিতে এক্স সমর্থন করে, এক্সকে পারে না এমন বস্তুগুলিকে মোড়ানোর জন্য ব্যবহার করা যায়নি এবং প্রক্সগুলি যেগুলি এক্সকে পারে না এমন বস্তুগুলিকে আবৃত করতে পারে ' t পদ্ধতিটি এক্স এক্সপোজ করতে সক্ষম হবে এমনকি যদি এটি কোনও অবজেক্টকে আবৃত করে যা এটি সমর্থন করতে পারে।
সুপারক্যাট

8

ভোর হওয়ার পর থেকে সমস্ত খারাপ কোডটির বিবর্তনের পিছনে একটি গল্প রয়েছে যা এটিকে ধাপে ধাপে যুক্তিসঙ্গত দেখায়। আপনার কোনও ব্যতিক্রম নয়। কোডাররা কোডিং করে শিখেন। আপনার সমস্যার এমন কিছু দিক রয়েছে যা আপনি আগে থেকে জানতেন না যা এখন সুস্পষ্ট বলে মনে হয়। আপনি এমন সিদ্ধান্ত নিয়েছেন যা পুরোপুরি যুক্তিসঙ্গতভাবে বর্ধিত ছিল, কিন্তু আপনার আর্কিটেকচারকে সামগ্রিকভাবে ভুল দিকে পরিচালিত করেছিল। আপনাকে সেই সিদ্ধান্তগুলি চিহ্নিত করতে এবং পুনরায় পরীক্ষা করা দরকার।

আপনার অফিসের আশেপাশে জিজ্ঞাসা করুন যে কীভাবে লোকেরা এটি ঠিক করবেন সে সম্পর্কে কোনও ধারণা আছে। বেশিরভাগ জায়গাগুলি যা আমি কাজ করেছি, প্রায় ১০-২০% প্রোগ্রামারদের সেই ধরণের জিনিসটির জন্য সত্যিকারের নকশ রয়েছে এবং তারা কেবল সুযোগটির অপেক্ষায় রয়েছেন। এই লোকেরা কে তা খুঁজে বের করুন। প্রায়শই, এটি আপনার নতুন ভাড়াগুলি architectতিহাসিকভাবে বর্তমান আর্কিটেকচারে বিনিয়োগ করা হয়নি যারা সহজেই বিকল্পগুলি দেখতে পারে। আপনার প্রবীণদের একজনের সাথে তাদের জুড়ি করুন এবং তারা কী একসাথে আসে তা আপনি অবাক হয়ে যেতে পারেন।


2

কিছু ক্ষেত্রে এটি অবশ্যই গ্রহণযোগ্য। তবে, বিশ্বাস করা আমার পক্ষে কঠিন মনে হয় যে পদ্ধতিগত প্রজন্ম এবং আপনার চমৎকার সংযুক্ত / উপাদান ভিত্তিক আচরণের আর্কিটেকচার উভয়ই ব্যবহার করে কোনও ভাল সমাধান নেই। সমস্ত আচরণ যেখানে বুলেট শ্রেণিতে সবেমাত্র টানছে সেখানে objectশ্বর বস্তু এবং ঝরঝরে আর্কিটেকচার সংস্করণের মধ্যে কোনও কার্যকরী পার্থক্য নেই। আপনার প্রক্রিয়াজাত প্রজন্মের অ্যালগরিদমগুলি ব্যবহার করা এত কঠিন কী হয়েছিল?

আমি মনে করি একটি নতুন প্রশ্ন (সম্ভবত এখানে, বা গেমদেব.স্ট্যাকেক্সচেঞ্জ.কম?), যেখানে আপনি আপনার আর্কিটেকচারের সাথে প্রোকটির সাথে একত্রিত হওয়ার ক্ষেত্রে কী কী সমস্যা ছিল তা রূপরেখা দিয়েছেন। জেন।, সত্যিই আকর্ষণীয় হবে। আপনি যদি নতুন প্রশ্ন করেন তবে আমাদের এখানে জানান!


3
এই শ্রেণিটি স্বতন্ত্র উত্সগুলির কেবল একটি স্বয়ংক্রিয় সংকলন না হয়ে godশ্বর শ্রেণি থাকা উভয়ই গ্রহণযোগ্য এবং আকাঙ্ক্ষিত হতে পারে এমন পরিস্থিতির জন্য আপনি কি উদাহরণ দিতে পারেন?
Ext3h

গ্রহণযোগ্যতার সাথে আমি উল্লেখ করছি "যদি এটি অন্য কোনও সমস্যার সহজ সমাধান স্বীকার করে তবে কোডের গন্ধ পাওয়া কি ঠিক হবে?" Godশ্বরের ক্লাসগুলি রচনা ব্যবহার করে সহজেই সমাধানযোগ্য। তবে হ্যাঁ এমন কিছু নির্দিষ্ট গন্ধ রয়েছে যা অবশ্যই 100% এর থেকে মুক্তি পাওয়ার পক্ষে উপযুক্ত নয়। কাজ শেষ করার জন্য কিছুটা বাস্তববাদ প্রয়োজন :) (এর অর্থ এই নয় যে আমি মনে করি যে আপনি সর্বোত্তম অভ্যাসগুলি একটি কৌতুকের উপরে ছড়িয়ে দিন।
রায় টি।

0

অনুপ্রেরণার জন্য, আপনি কার্যকরী প্রোগ্রামিং বা আরও সুনির্দিষ্টভাবে আঁটি-আঁটিযুক্ত প্রকারের দিকে নজর রাখতে চাইতে পারেন। জিনিসগুলি কাজ করে না এমন ধারণাটি আপনার যে ধরণের সিস্টেমে উপলব্ধ রয়েছে তা উপস্থাপন করা অসম্ভব। উদাহরণস্বরূপ, বলুন যে আপনার কাছে একটি বন্দুক রয়েছে যাতে "গুলি বুলেট" এবং "বুলেটগুলি ধারণ করুন" উপাদান রয়েছে। যদি সেগুলি দুটি পৃথক উপাদান থাকে তবে এমন কনফিগারেশন রয়েছে যার অর্থ হয় না - আপনার কাছে এমন একটি বন্দুক থাকতে পারে যা গুলি চালায় তবে এর সঞ্চয়স্থানে কোনও জিনিস নেই, বা একটি বন্দুক রয়েছে যা গুলি সঞ্চয় করে তবে গুলি চালায় না।

জটিলতার এই স্তরে, আপনি "ঠিকই ভাবছেন, একজন মানুষের ইচ্ছা এটি অকেজো এবং এটি অসম্ভব সংমিশ্রণগুলি এড়ান"। এর থেকে আরও ভাল উপায় হ'ল এটি করা একেবারেই অসম্ভব make উদাহরণস্বরূপ, "শ্যুট বুলেট" এর উপাদানটির জন্য " হোল্ড বুলেটগুলি" উপাদানটির জন্য একটি রেফারেন্সের প্রয়োজন হতে পারে (বা কেবল এটি নিজের সমস্যা হিসাবে সম্পূর্ণভাবে ধরে রাখুন, যদিও এটির নিজস্ব সমস্যা রয়েছে)।

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

এবং সর্বশেষে, এটি আসলে একটি বড় যথেষ্ট সমস্যা কিনা তা বিবেচনা করুন। এটি কি খেলাটির মজা নষ্ট করছে? ফলাফল বন্দুকগুলি কি অকেজো বা অতিরিক্ত বিদ্যুতের? কত? 10 টির মধ্যে একটি কি সংবেদনহীন? বর্ডারল্যান্ডসের মতো গেমস (পদ্ধতিগতভাবে উত্পন্ন অস্ত্রের প্রভাবগুলির সাথে) প্রায়শই অযৌক্তিক প্রভাব সংমিশ্রণ উপেক্ষা করে - 16x স্কোপের সাথে শটগান রাখার কী লাভ? এবং তবুও বর্ডারল্যান্ডস এ এটি প্রায়শই ঘটে। এটি কেবল প্রজন্মের প্রক্রিয়াগুলির ব্যর্থতা হিসাবে বিবেচিত হওয়ার চেয়ে হাসির জন্য খেলেছে :)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.