আপনি কতটা সঠিক হতে চান? একটি ভাল তবে জটিল পছন্দ সেই সমস্ত ইতিহাসকে অনুকরণ করে:
- এই অঞ্চলগুলির মধ্যে একটি এলোমেলো অঞ্চল তালিকা এবং সংলগ্নতা তৈরি করুন।
- জনসংখ্যা, যুদ্ধক্ষেত্র, প্রযুক্তি ... এবং অঞ্চলগুলিকে বসানোর মতো বৈশিষ্ট্য সহ এলোমেলো সভ্যতা তৈরি করুন।
- আপনি যতগুলি ইতিহাস চান সিমুলেট করুন সভ্যতার বৈশিষ্ট্যের ভিত্তিতে ফলাফল নির্ধারণ করে।
উদাহরণস্বরূপ: দুটি সংলগ্ন যুদ্ধবিগ্রহ সভ্যতার একে অপরের বিরুদ্ধে যুদ্ধ শুরু করার উচ্চ সম্ভাবনা রয়েছে, যা সময়ের সাথে সাথে জনসংখ্যা কমিয়ে তোলে। বণিক সভ্যতার উচ্চতর সংস্থান রয়েছে তবে আক্রমণগুলির জন্য এটি দুর্দান্ত লক্ষ্য। উচ্চ জনবহুলগুলি দ্রুত বৃদ্ধি পাবে তবে ক্ষুধার সম্ভাবনাও রয়েছে। সাংস্কৃতিকভাবে-ভিন্ন ভিন্ন সিভির অভ্যন্তরীণ যুদ্ধের সম্ভাবনা কম থাকে (যা বিচ্ছেদের কারণ হতে পারে)
এটি কিছু প্রক্রিয়াজাতীয় গল্প বলার জন্যও মঞ্জুরি দেয়: আপনি কেবল কোনও অঞ্চল চিত্রটিই আউটপুট করতে পারবেন না, তবে ইতিহাসের পাঠ্য বিবরণও সময়ের সাথে সাথে আউটপুট করতে পারেন। আপনি এই সিস্টেমটিকে আপনার পছন্দ মতো জটিল করে তুলতে পারেন।
সম্পাদনা করুন: এখানে চ্যালেঞ্জটি কোনও প্রযুক্তিগত সমস্যা নয়, তবে বাস্তববাদী এবং আকর্ষণীয় ইতিহাস প্রজন্মের জন্য হিউরিস্টিক্সকে সামঞ্জস্য করে। কাছ থেকে দেখুন এবং 3 পূর্বোক্ত পয়েন্টগুলি সম্পর্কে চিন্তা করুন ... এটি আপনার প্রযুক্তিগত ব্যাখ্যাটি বেশ! এটিকে একটি লুপে অনুবাদ করুন (প্রতিটি পুনরাবৃত্তি আপনার পছন্দমতো সময়ের প্রতিনিধিত্ব করতে পারে, 1 বছর, অর্ধ বছর, 1 মাস ...) এবং এটিই। আপনাকে অভ্যন্তরীণ (ডেটা স্ট্রাকচার, হিউরিস্টিক্স) কাজ করতে হবে এবং এটি আপনার নির্দিষ্ট সমস্যা এবং প্রয়োজনের সাথে খাপ খাইয়ে নিতে হবে। এটি এখানে কঠোর অংশ এবং কেউ আপনাকে সহায়তা করতে পারে না, কারণ এটি কল্পনা, পরীক্ষা এবং ত্রুটি সম্পর্কিত।
প্রায় কোনও সমস্যার জন্য আপনি যেগুলি ব্যবহার করবেন সেগুলি ছাড়াও এই সমস্যার জন্য কোনও সাধারণ ডেটা স্ট্রাকচার নেই: তালিকা, সারি, গাছ ... এবং এগুলি আপনার নির্দিষ্ট প্রয়োগের জন্য আবদ্ধ হবে (আমার কি বংশবৃদ্ধির গাছ দরকার? সভ্যতার একটি তালিকা? যুদ্ধে? প্রতিটি সিভির জন্য কাজের সারি?) অবশ্যই আপনার সভ্যতার একটি তালিকাও প্রয়োজন। পছন্দগুলি সুস্পষ্ট এবং বেশ সাধারণ জ্ঞান।
সিমুলেশন সুযোগ / সম্ভাবনার বিষয় এবং আপনি এলোমেলো সংখ্যার সাহায্যে হাজার হাজার উপায়ে এটি তৈরি করতে পারেন। অন্য যে কোনও খেলাগুলির কথা চিন্তা করুন যেখানে সিমুলেশনটি ফুটবল পরিচালক, আরপিজি (সর্বোপরি হিটপয়েন্টস / স্ট্যাটাস কেবল যুদ্ধের সিমুলেশন ), কৌশল গেমগুলির মতো জড়িত রয়েছে ... এটি কেবল বৈশিষ্ট্যগুলি (যাতে আপনার সভ্যতার বৈশিষ্ট্য এবং ডেটা সংরক্ষণ করার কোনও উপায় প্রয়োজন) এবং এলোমেলো ফলাফল তাদের উপর ভিত্তি করে পরিসংখ্যানগতভাবে ফলাফল (তাই আপনাকে এলোমেলোভাবে এই বৈশিষ্ট্যের উপর ভিত্তি করে সিমুলেশন রাজ্যটি পরিবর্তন করতে হবে))
এটিই আপনার অ্যালগরিদমের মূলমন্ত্র: হিউরিস্টিক্সকে সামঞ্জস্য করা শক্ত: প্রতিটি সভ্যতার জন্য সিমুলেশনের শুরুতে কীভাবে বৈশিষ্ট্যগুলি বন্টন করা যায় এবং তাদের ভিত্তিতে সিমুলেশন রাষ্ট্রটি কীভাবে পরিসংখ্যানগতভাবে পরিবর্তন করা যায়।
সংক্ষেপে: আপনার অ্যালগরিদমটি কোনও পছন্দসই বৃদ্ধি সহ সিমুলেটেড সময়কালীন একটি লুপ। সংক্ষিপ্ত বর্ধন সূক্ষ্ম historicতিহাসিক সিমুলেশনের দিকে পরিচালিত করে তবে স্পষ্টতই বেশি সময় লাগবে। আপনার লুপের ভিতরে একদল হিউরিস্টিকস থাকবে (মোটামুটি):
for each civilization
if civ.isAtWar
civ.population -= civ.population * 0.05;
civ.wealth -= 1000.0;
civ.belligerence += 1.0;
if civ.population < 100
civ.negotiatePeace()
এই সমস্ত কাজ করার পরে (বা আপনি যদি ডেটা সঞ্চয় করতে না চান তবে) আপনাকে অবশ্যই সমস্ত সিমুলেশন স্টেটটি মানব-পঠনযোগ্য ফর্ম্যাটের মতো পাঠ্য, চিত্র বা আপনার ইচ্ছার মতো ব্যাখ্যা করতে হবে। এটি ট্রায়াল এবং ত্রুটিও এবং আপনার প্রয়োগের জন্য খুব নির্দিষ্ট।
আপনার প্রশ্নের ক্ষেত্রে সুনির্দিষ্ট: আপনার প্রশ্নের মতো একটি চিত্র তৈরি করতে আপনাকে বিশ্বের অঞ্চলগুলি (ডায়াগ্রামের শীর্ষে, এক্স অক্ষের, যে পয়েন্ট 1: আমার উত্তরে অঞ্চল তালিকা তৈরি করতে হবে ) এবং তাদের সভ্যতাগুলি (বর্ণের বর্ণগুলি ডায়াগ্রাম, পয়েন্ট 2 ) সময়ের মাধ্যমে (y অক্ষ, বিন্দু 3 তে সিমুলেশন লুপ )
রাজ্য মেশিনবিস্তৃত বিষয়গুলির অনুকরণে বেশ ভাল (উপরের কোডের নমুনাটি একটি হার্ড-কোডেড রাজ্য মেশিনের একটি অনুমান) - যাতে আপনি একটি সহজ রাষ্ট্র মেশিন কাঠামো প্রয়োগ করতে শুরু করতে পারেন যা সামগ্রিকভাবে টুইঙ্ক করা সহজ। প্রতিটি সভ্যতা এই রাষ্ট্র মেশিনগুলির মধ্যে একটি দিয়ে শুরু হবে এবং সিমুলেশন প্রতিটি বারের জন্য প্রতিটি রাষ্ট্রীয় মেশিন চালাবে। প্রতিটি রাষ্ট্রের মেশিনকে অন্য রাষ্ট্রের মেশিনের সাথে যোগাযোগ করতে সক্ষম হতে হবে: উদাহরণস্বরূপ যুদ্ধ শুরু করা অন্য সভ্যতার রাষ্ট্রীয় মেশিনকে প্রভাবিত করবে, সম্ভবত তাদের অভ্যন্তরীণ অবস্থার উপর ভিত্তি করে বিভিন্ন ফলাফল - যেমন তারা 'দুর্ভিক্ষ' অবস্থায় থাকলে তারা সম্ভবত শান্তির জন্য আলোচনা করতে চান, তবে একটি সভ্যতা 'সমস্যার সন্ধানে' সম্ভবত প্রতিশোধ নেবে। যন্ত্রের প্রতিটি রাষ্ট্র সভ্যতার উপর অর্থবহ প্রভাব ফেলবে ' প্রতিটি 'ফ্রেম'-এর সময় উপরে বর্ণিত মেট্রিকগুলি (সম্পদ, বিগ্রহ, জনসাধারণ, ইত্যাদি)। সর্বাধিক গুরুত্বপূর্ণ আপনি প্রতিটি ফ্রেমে রাষ্ট্র পরিবর্তন করতে হবে না - যখন সুযোগ এবং / অথবা এলোমেলো সুযোগ আসে: এটি দীর্ঘায়িত ইভেন্টগুলি (যুদ্ধের মতো) ঘটতে দেয়।