গেম ইঞ্জিন এবং ডেটা চালিত ডিজাইন


21

আমি ডেটা চালিত ডিজাইন সম্পর্কে শুনেছি এবং এটি সম্পর্কে কিছুক্ষণ গবেষণা করে চলেছি। সুতরাং, আমি ধারণাগুলি পেতে বেশ কয়েকটি নিবন্ধ পড়েছি।

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

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

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

সুতরাং, সর্বোপরি, আমি কেবল যাচাই করতে চাই যে এই ধারণাগুলি (ডেটা চালিত, প্রোগ্রামার ড্রাইভ, স্ক্রিপ্টিং ইত্যাদি ...) সম্পর্কে আমার বোঝার কোনও ত্রুটি আছে কি?


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

@ জোশ পেট্রির সাথে কথা বলার জন্য যে এটি প্রোগ্রামারদের পক্ষে এটি আসলে একটি বড় সুবিধা কারণ তারা প্রতিবার গেম ইঞ্জিনটি পুনরায় সংশোধন করতে পেরে যথেষ্ট কার্যকারিতা প্রোটোটাইপ করতে সক্ষম। জিনিসগুলির ক্রিয়াকলাপ এবং সম্পাদনের গতি একবার উদ্বেগ হয়ে গেলে সাধারণত কোনও স্ক্রিপ্টে তৈরি কিছুকে মূল ইঞ্জিনে স্থানান্তর করতে খুব বেশি সমস্যা হয় না
জেমস

উত্তর:


25

আপনার গেমটি (বা কোনও সফ্টওয়্যার পণ্য) চালিত ডেটা তৈরি করা প্রায় সর্বদা একটি সুবিধা। একমাত্র আসল কন আপনি সামনের দিকে প্রাসঙ্গিক সিস্টেমগুলি তৈরি করতে কিছুটা বেশি সময় ব্যয় করতে পারেন; এটি প্রোগ্রামার হিসাবে আপনার ক্যারিয়ারের বাকী অংশের অর্থ প্রদান করবে (আপনি যদি সেই একই সময়ের জন্য একই সিস্টেমগুলি পুনরায় ব্যবহার না করেন তবে আপনি সেগুলি তৈরির জন্য নিযুক্ত কৌশলগুলি পুনরায় ব্যবহার করবেন)।

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

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

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

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

আপনার নির্দিষ্ট প্রশ্নের জন্য:

গেম ইঞ্জিনটি কীভাবে হওয়া উচিত এটি কি সত্য?

একটি "গেম ইঞ্জিন" এর প্রকৃত সংজ্ঞা নেই। সাধারণত এটি একটি গেম তৈরি করতে ব্যবহৃত অন্তর্নিহিত প্রযুক্তির একীভূত সংগ্রহ যা সাধারণত সম্পর্কিত সরঞ্জামগুলির একটি গুচ্ছ দ্বারা সমর্থিত (এবং এইভাবে বেশিরভাগ ডেটা চালিত হয়)। তবে এটি প্রসঙ্গ থেকে প্রসঙ্গে বিভিন্ন ক্ষেত্রে যথেষ্ট পরিমাণে পরিবর্তিত হয়।

সুতরাং, সর্বোপরি, আমি কেবল যাচাই করতে চাই যে এই ধারণাগুলি (ডেটা চালিত, প্রোগ্রামার ড্রাইভ, স্ক্রিপ্টিং ইত্যাদি ...) সম্পর্কে আমার বোঝার কোনও ত্রুটি আছে কি?

আপনি সঠিক কোর্সে কমবেশি বলে মনে করছেন, যদিও আপনি সম্ভবত উপাদান-ভিত্তিক সিস্টেমগুলির সাথে সংঘর্ষ করে ডেটা চালিত নকশা এবং বিকাশ কী তা বেশি জটিল করছেন।


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

1
@ আম্মু আপনার জাভা প্রকল্পগুলির জন্য পিঁপড়া ব্যবহার শুরু করুন এবং আপনি একই জিনিস দেখতে পাবেন (নেটবিয়ানগুলি পিঁপড়াটি স্বয়ংক্রিয়ভাবে ব্যবহার করে) আপনি দেখবেন।
পিক

2
+1 "ডিজাইনারের কাজের জন্য পুনরাবৃত্তির লুপে একটি প্রোগ্রামারকে বিদ্যমান রাখতে বাধ্য করা" ঠিক! প্রোগ্রামার কোড, ডিজাইনার ডিজাইন। আপনি এই কাজগুলিকে যত বেশি আলাদা করবেন, তত বেশি সমান্তরাল হয়ে উঠবে (এবং এইভাবে উন্নয়নের সময় হ্রাস পাবে)।
পিক

6

দ্বিতীয় পোস্টের লেখক হিসাবে আমি কয়েকটি বিষয় পরিষ্কার করতে চাই।

  1. জোশ পেট্রি যেমন পরামর্শ দিয়েছিলেন, কেবলমাত্র সবকিছু কঠিন কোডিংয়ের পরিবর্তে ডেটা ব্যবহার করার জন্য আপনার কোডকে কাঠামোবদ্ধ করা সর্বদা একটি জয়। আমি অন্যথায় পরামর্শ দিচ্ছিলাম না। আমি ইঙ্গিত করছিলাম যে ডিজাইনারের উপর সমস্ত কিছু ঠেলা ভাল ধারণা নয়। "ডেটা চালিত ডিজাইন" শব্দটির অর্থ বিভিন্ন লোকের কাছে বিভিন্ন জিনিস, সুতরাং আমি যখন মূল নিবন্ধটি লিখতাম তখন সম্ভবত আমার আরও নির্দিষ্ট হওয়া উচিত ছিল।
  2. আমি যে জায়গাতেই কাজ করেছি, সেখানে আমরা ইঞ্জিনে টুইটারযোগ্য এমন ডেটা স্ট্রাকচার তৈরি করি। পরিবর্তন করতে, আমাদের গেমটি পুনরায় সংকলন করতে হবে না। রানটাইমটিতে আমরা গতিশীলভাবে নম্বরটি পরিবর্তন করতে পারি। ডেটা স্ট্রাকচারগুলি প্রায়শই কোডে সঞ্চিত থাকে তবে কে সেগুলি পরিবর্তন করছে তার উপর নির্ভর করে এগুলি সহজেই একটি "ডেটা ফাইল" থেকে লোড করা যায়।
  3. বেশিরভাগ বিকাশ পরিবেশগুলি সি / সি ++ এর জন্য কিছু প্রকারের সম্পাদনা এবং চালিয়ে যাওয়া বা মডিউল পুনরায় লোডকে সমর্থন করে।
  4. বেশিরভাগ গেম ডেভলপমেন্ট স্টুডিওতে গেমপ্লে প্রোগ্রামার থাকে। তাদের কাজগুলি প্রায়শই একটি মজাদার অভিজ্ঞতা তৈরিতে ডিজাইনারের সাথে কাজ করা হয়। তাদের প্রধান উদ্বেগ প্রযুক্তিগত চ্যালেঞ্জ নয় বরং কোড থেকে মজাদার কৌশল তৈরি করা। আমি বহু বছর ধরে গেমপ্লে প্রোগ্রামার হিসাবে কাজ করেছি এবং প্রযুক্তিগত চ্যালেঞ্জগুলি সমাধান করার চেষ্টা করার চেয়ে আমি এটিকে আরও আকর্ষণীয় বলে মনে করি। আমার দায়িত্বগুলি বৈচিত্রময় হয়েছে, তবে আমি যখন বাস্তবায়নের দায়িত্বে থাকি তখন আমার কাজটি সবচেয়ে বেশি পরিপূর্ণ হয় এবং আমি শীতল কিছু তৈরি করার জন্য ডিজাইনারদের সাথে কাজ করি। ডিজাইনারদের কোডিং বা স্ক্রিপ্টিংয়ের সমস্যাটি হ'ল প্রোগ্রামারদের প্রায়শই বাগগুলি বাছাই করতে হয় যা আপনি প্রোগ্রামার হিসাবে করতে পারেন এমন একটি মজাদার জিনিস।
  5. স্টুডিওর জন্য কী সবচেয়ে ভাল কাজ করে তা গেমের উপর নির্ভর করে। আপনার যদি গেমটি তৈরি করতে দীর্ঘ সময় থাকে এবং আপনি আধুনিক সম্প্রদায়ের জন্য আপনার গেমের পা দিতে এবং সুযোগে বিশাল কিছু তৈরি করতে চান, তবে সম্পূর্ণ ডেটা চালিত একটি গেমটি বোধগম্য। অনেক গেমের সেই লক্ষ্য থাকে না। তাদের দুটি বছরের মধ্যে একটি নতুন গেমটি মন্থন করতে হবে এবং যদি তাদের হিট ফ্র্যাঞ্চাইজি না হয় তবে এটি সম্ভবত তাদের আগের কাজের চেয়ে আলাদা ধরণের খেলা
  6. একজন "ডিজাইনার" কী করে তা স্টুডিও থেকে আলাদা হয়ে উঠতে পারে। আমি এমন একটি উন্নয়ন স্টুডিও শুনেছি যা অন্য স্টুডিও থেকে গেমপ্লে প্রোগ্রামারদের ভাড়া করে, তাদের ডিজাইনার বলে এবং তাদের গেমের আচরণের স্ক্রিপ্ট দেয়। প্রোগ্রামিং কোডিং / স্ক্রিপ্টিংয়ের প্রশিক্ষণ প্রাপ্ত নয় এমন লোকদের সমস্যাটি এই বিষয়টিকে অগ্রাহ্য করে।
  7. গেম লজিক কোড এবং ইঞ্জিন কোডের মধ্যে সর্বদা একটি বর্ণনামূলক হওয়া উচিত। পাশাপাশি, আপনি সাধারণত অবজেক্ট প্লেসমেন্টের জন্য কোনও ধরণের ভিজ্যুয়াল এডিটর রাখতে চান। আমি কখনও এমন স্টুডিওতে কাজ করিনি যেখানে শত্রুর অবস্থানগুলি হার্ড কোডড থাকে। তারা একটি সম্পাদক এ স্থাপন করা হয়। আমি যে বিষয়ে কথা বলছি তার একটি উদাহরণ প্রস্তাব করুন। ধরা যাক ডিজাইনার শত্রু হিসাবে চিন্তা করে। স্ক্রিপ্টের চেয়ে ডিজাইনার কি এই নতুন শত্রু টাইপের আচরণ করে? এটিই আমি ডেটাচালিত নকশাকে বিবেচনা করি (টিম মোস এটি সম্পর্কে কী লিখেছিলেন সে অনুসারে)। আমি যেভাবে প্রস্তাব দিচ্ছি, প্রোগ্রামার ডিজাইনারের সাথে কাজ করে, তারা সম্ভবত মজাদার প্যারামিটারগুলির সাথে একত্রে একটি মজাদার শত্রু তৈরি করে এবং তারপরে সেগুলি স্তরে স্থাপন করা হয়।
  8. প্রোগ্রামার দ্বারা লিখিত নেটিভ কোডটি প্রোগ্রামার দ্বারা লিখিত স্ক্রিপ্টের তুলনায় রানটাইমে দ্রুত সম্পাদন করতে চলেছে, যা কম প্রযুক্তিগত বুদ্ধিমান ব্যক্তির দ্বারা লিখিত স্ক্রিপ্টের চেয়ে দ্রুত কার্যকর হবে। আপনি কোন ধরণের গেম তৈরি করছেন এবং আপনি কী করছেন তার উপর নির্ভর করে এই পারফরম্যান্স গুরুত্বপূর্ণ হতে পারে বা নাও পারে তবে এটি বিবেচনা করার মতো বিষয়।
  9. আপনি কোন পদ্ধতি চয়ন করেন না কেন আপনি গেমসের মধ্যে গেম কোড ভাগ করতে পারেন code আপনি এই পয়েন্টটি দিয়ে কী পাচ্ছেন তা আমি সত্যিই নিশ্চিত নই। এমনকি যদি আপনি কিছু আচরণের সংজ্ঞা দেওয়ার জন্য কোনও স্ক্রিপ্টিং ভাষা বা ভিজ্যুয়াল সরঞ্জাম ব্যবহার না করেন, আপনার গেমপ্লে কোডটি যথাসম্ভব পুনরায় ব্যবহারযোগ্য উপাদানগুলিতে আর্কিটেকিং করা উচিত। এমন সবসময় এমন জিনিস থাকবে যা আপনার পরবর্তী গেমের জন্য প্রযোজ্য নয়, তবে যে জায়গাগুলিতে আমি কখনও কাজ করেছি, আমরা যখন পরের খেলাটি শুরু করি তখন আমরা আগের থেকে কোডবেস দিয়ে শুরু করি - এমনকি এটি সিক্যুয়াল না হলেও। তারপরে আমরা সেই জিনিসটি বোধগম্য করি এবং গেমটি নির্দিষ্ট জিনিসগুলি সরিয়ে ফেলি।

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

এছাড়াও, পার্শ্ব নোট হিসাবে, আমার ব্লগ এন্ট্রি 5 বছরের পুরানো। দেখে মনে হচ্ছে অনেক বেশি স্টুডিওগুলি স্ক্রিপ্টিং ভাষার দিকে এগিয়ে চলেছে এবং আজকাল কী নয় তবে সেগুলি ডিবাগ করার জন্য পরিপক্ক সরঞ্জাম তৈরি করছে যা আমার মূল অভিযোগ ছিল। আমি যখন এটি লিখেছিলাম, আমি মনে করি না অবাস্তব কিসমেটের অস্তিত্ব ছিল, যা আমি ব্যবহার করি নি, তবে মনে হয় তারা স্ক্রিপ্টিংকে সহজ করার চেষ্টা করছে এবং সম্ভবত এটির একটি ডিবাগার রয়েছে। (যদিও এটি কতটা ভাল কাজ করে তা জানা নেই)

ছোট স্কেল গেমসের জন্য, আমি স্পষ্টভাবে মনে করি না যে আপনি নিজের প্রযুক্তিতে কোনও স্ক্রিপ্টিং ভাষা বা অনুরূপ কার্যকারিতা নিয়ে চেষ্টা করতে এবং রোল করতে চান তবে আপনার কাছে যদি একটি বিশাল দল এবং প্রযুক্তিতে উত্সর্গ করার জন্য অনেক সময় থাকে তবে এটি করা সম্ভব possible আপনার উন্নয়ন দল যেভাবে কাজ করতে পছন্দ করে তার উপর নির্ভর করে সঠিক এবং সময় বিনিয়োগটি বোধগম্য হতে পারে। ব্যক্তিগতভাবে, আমি সম্ভবত যতদিন সম্ভব সি +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>


1

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

জিডিসিতে 2011, নিক্লাস ডেটা চালিত রেন্ডারার সম্পর্কে একটি উপস্থাপনা করেছে ।


3
ডিওডি হ'ল ডেটা-ওরিয়েন্টেড ডিজাইন , এটি কীভাবে সমান্তরালতা এবং ক্যাশিংয়ের সুবিধা গ্রহণের জন্য মেমরিতে কার্যকরী ডেটা সংগঠিত করে তার উপর ভিত্তি করে প্রযুক্তিগত আর্কিটেকচারকে মূল্যায়ন করার একটি উপায়। ডেটা-চালিত ডিজাইন একটি ওয়ার্কফ্লো দৃষ্টান্ত যা কোনও নির্দিষ্ট সফ্টওয়্যার এজেন্ডাকে বোঝায়, তবে কোনও নির্দিষ্ট প্রয়োগ নয়।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.