কীভাবে ডেটা সংরক্ষণ করবেন?


25

একজনকে একটি মাছ দিন এবং আপনি তাকে একদিনের জন্য খাওয়ান। একজন মানুষকে মাছ শিখিয়ে দিন এবং আপনি তাকে আজীবন খাওয়াবেন। - চীনা প্রবাদ

আমার প্রকৃত প্রকল্পের জন্য আমার কী ধরণের ডেটা স্টোরেজ ব্যবহার করা উচিত তা জিজ্ঞাসা করতে পারি, তবে আমি মাছ শিখতে চাই , তাই প্রতিবার নতুন প্রকল্প শুরু করার সময় আমাকে কোনও মাছের জন্য জিজ্ঞাসা করার দরকার নেই ।

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

সুতরাং প্রশ্নটি নিম্নলিখিত: কোন গেম প্রকল্পের জন্য আমি কীভাবে ডেটা স্টোরেজ চয়ন করব?

এবং নির্বাচন করার সময় আমি নিম্নলিখিত মানদণ্ডে আগ্রহী:

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

আমার সম্পাদনা সম্পাদনা করুন গেমের বিষয়বস্তু সঞ্চয় করার জন্য কি এক্সএমএল / জেএসএন / পাঠ্য বা একটি ডাটাবেস ব্যবহার করা ভাল? , কিন্তু ভেবেছিল এটি আমার বক্তব্যকে ঠিকভাবে সম্বোধন করে না। এখন আমি যদি ভুল হয়ে থাকি তবে আমার দিকে ভুলভাবে ত্রুটি দেখানো হবে।

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


আমি জানতে চাই, কেন আমি ডাউন-ভোট পাব? আমার প্রশ্ন কি খুব বিস্তৃত? অন্য প্রসঙ্গ? অতিরিক্ত তথ্যের দরকার আছে কি?
এলড্রোস

আমি ডাউনভোটার নই তবে দয়া করে, এটি বহুবার আলোচনা হয়েছিল। কীভাবে অনুসন্ধানের ক্ষেত্রটি চেষ্টা করছেন? এটি আমাকে এতে নেতৃত্ব দিয়েছে: গেমদেব.স্ট্যাকেক্সেঞ্জার.কম
সেকশনস

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

অন্যথায়, আমি জানতে চাই যে আমার কী পরিবর্তন করা উচিত তা পরিষ্কার করার জন্য এটি আরেকটি প্রশ্ন।
এলড্রোস

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

উত্তর:


21

জেনারগুলির নিছক সংখ্যার কারণে আপনার প্রশ্নটি সত্যই বিস্তৃত, তবে এখানে পেশাদার সফটওয়্যার বিকাশকারীের দৃষ্টিভঙ্গি।

আপনি কোন মানদণ্ডের প্রক্রিয়াটি ব্যবহার করেন তা নির্ধারণ করতে আপনি যে মানদণ্ডের ব্যবহার করতে চান তা সরবরাহ করে। সেগুলো ছিলো:

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

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

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

ফ্ল্যাট ফাইলগুলির জন্য:

  • এক্সএমএল
  • তাদেরকে JSON
  • YAML
  • XAML
  • সাধারণ পাঠ্য

ডাটাবেসের জন্য:

  • SQL সার্ভার
  • মাইএসকিউএল
  • DB2
  • আকাশবাণী
  • আরো অনেক

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

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

প্রকল্পের আকার।

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

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

প্ল্যাটফর্মটি গেমটি দ্বারা চিহ্নিত।

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

ডেটা কাঠামোর জটিলতা।

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

অনেক প্রকল্পের মধ্যে ডেটা বহনযোগ্যতা।

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

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

কতবার ডেটা অ্যাক্সেস করা উচিত

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

একই অ্যাপ্লিকেশনটির জন্য একাধিক ধরণের ডেটা

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

খেলার ধরণ

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

আশা করি এই মতামতগুলির কয়েকটি সাহায্য করবে। এটি কোনওভাবেই বিস্তৃত নয় এবং সিদ্ধান্ত নেওয়া শেষ পর্যন্ত আপনার উপর নির্ভর করে তবে আমার ভাষ্যটি আপনাকে কিছু চিন্তাভাবনা করা উচিত।

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

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


+1 দুর্দান্ত উত্তর, এবং আমি ইতিমধ্যে এটি থেকে অনেক কিছু শিখেছি। সে কারণেই আমি এটি করতে ঘৃণা করি, তবে কয়েকটি বিষয় রয়েছে যা সঠিকভাবে সম্বোধন করা হয়নি। এবং এটি সম্ভবত কারণ আমি তাদের পর্যাপ্ত পরিমাণে প্রকাশ করতে পারিনি। 1) মাইনর পয়েন্ট, তবে আমি যখন প্ল্যাটফর্মের কথা বলছিলাম তখন আমি আসলে উন্নয়ন প্ল্যাটফর্মের কথা বলছিলাম। তবে আপনি যেভাবেই এই বিষয়টিকে সম্বোধন করেছেন। 2) বহনযোগ্যতার দ্বারা, আমি পুনরায় ব্যবহারের যোগ্যতা বোঝাতে চাইছিলাম, তবে বহনযোগ্যতার বিষয়ে আপনার বক্তব্য আসলে এমন একটি বিষয় ছিল যা আমি বিবেচনা করি নি, তবে এটি নিজেকে বেশ প্রাসঙ্গিক বলে প্রকাশ করেছে। (-> অবিরত)
এলড্রস

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

আপডেট করা হয়েছে .. এই আপনার প্রশ্নগুলির ঠিকানা। :)
এড অলটারফার

1

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

আমি যা করছি তা হল ডেটাবেজে জসন এনকোডড ডেটা এবং একটি মোড়ক ব্যবহার করে যা ডেটাটিকে জসনে রূপান্তর করে এবং যখনই এটি প্রয়োজন হয় ফিরে আসে। সুতরাং একটি মৌলিক চরিত্রের প্রোফাইল ডেটাবেসে এই জাতীয় দেখতে পাওয়া যাবে:

{"char_id":24,"char_name":"tchalvak","level":43,"profile":"Some profile here."}

জেসন এখনও ডাটাবেসে খুব ভালভাবে পঠনযোগ্য তাই আপনি যদি এসকিএল দিয়ে ধাতুতে খালি কাজ করে থাকেন এবং মাঝে মাঝে সরাসরি ডাটাবেস অ্যাক্সেস করেন তবে আপনি যদি চান তবে এটি ম্যানুয়ালি সংশোধনযোগ্য।

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


0

আরটিএস জিনে, গেমের ডেটা ফাইলগুলিতে সংরক্ষণ করা হয়েছে।

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

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


"এআই যুদ্ধ" এর ক্ষেত্রে এটি নয় (ওয়েবসাইটটি এটিএম নিচে)। আচরণের সিদ্ধান্ত নেওয়ার সময় লিনক কোয়েরি করতে সক্ষম হতে তিনি এআইয়ের জন্য একটি সম্পর্কিত সম্পর্কিত ডাটাবেস ব্যবহার করেন।
নাইলার

0

ডাটা স্টোরেজ করার একটি পদ্ধতি কেন ব্যবহার করবেন?

বেশিরভাগ ক্ষেত্রে, আপনি যে গেমটি বিশ্বের কাছে ছেড়ে দেন তার বিকাশের সময় গেমটির একই ডেটা স্টোরেজ কার্যকারিতা প্রয়োজন হয় না।

এখানে কিছু প্রকাশ / বিকাশের প্রয়োজনীয়তার তুলনা করা হল:

Requirement      |  Release  |  Development  |  QA
==================================================
Multi user       |    No     |      Yes      |  No
Writable         |    No     |      Yes      |  No
Revision Control |    No     |      Yes      | Yes (but only reading)
Compact          |   Yes     |       No      |  No
Fast             |   Yes     |       No      |  No

আদর্শভাবে তখন, আপনি আপনার ডেটা লোডিং মডিউলে একটি ইন্টারফেস সংজ্ঞায়িত করবেন এবং তারপরে প্রতিটি নির্দিষ্ট প্রয়োজন অনুসারে একাধিক সংস্করণ তৈরি করবেন।

একটি প্রকল্পে আমি বহু বছর আগে কাজ করেছি, সিডি বন্ধের লোডিং স্তরের ডেটাটি অনেক বেশি সময় নিচ্ছিল (এইচডি ছাড়াই দুর্দান্ত ছিল না)। সুতরাং আমি নিম্নলিখিতটি নিয়ে এসেছি। স্তরের ডেটা লোড করার জন্য আমার কাছে তিনটি পদ্ধতি ছিল: -

  1. সাধারণ লোডিং - উন্নয়নের সময় যখন সম্পদ পরিবর্তিত হয়
  2. প্রাক-প্রকাশ - কার্যকরভাবে দ্রুত লোডিং ডেটাতে সাধারণ ডেটা রূপান্তর করার একটি পদ্ধতি
  3. প্রকাশ - দ্রুত ডেটা (সম্পাদনযোগ্য নয়)

এটি লোড হওয়ার সময়কে মিনিট থেকে সেকেন্ডে হ্রাস করে।

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