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