ইতিহাস প্রজন্মের অ্যালগরিদম কীভাবে কাজ করে?


19

আমি বামন দুর্গের খেলাটি শুনেছি, তবে কেবলমাত্র আমি এখন ইউটিউবে যে লোকদের অনুসরণ করি তাদের মধ্যে একটি মন্তব্য করে ... আমি যখন অবাক হয়ে দেখি যে বামন দুর্গ আসলে কীভাবে বিশ্বের ইতিহাস তৈরি করে!

এখন, এই অ্যালগোরিদমগুলি কীভাবে কাজ করবে? সিমুলেশনের দৈর্ঘ্য বাদে তারা সাধারণত ইনপুট হিসাবে কী নেয়? তারা কতটা নির্দিষ্ট হতে পারে?

এবং আরও গুরুত্বপূর্ণভাবে; সেগুলি জাভাস্ক্রিপ্টে তৈরি করা যেতে পারে, বা জাভাস্ক্রিপ্টটি খুব ধীর? (আমি অনুমান করি যে এটি সিমুলেশনটির গভীরতার উপর নির্ভর করে তবে বামন দুর্গকে উদাহরণ হিসাবে গ্রহণ করুন))


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

2
তার অর্থ স্কেল যেমন "বামন দুর্গের স্তরে"।
মাইকেলহাউস

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

1
খুব স্পষ্ট করে বলতে গেলে: পৃথিবী যত পুরানো হয়, প্রতি বছর ধীর হয়। একটি অল্প বয়স্ক যুগে এটি কয়েক বছরের মধ্যে ছুটে আসবে, কয়েকশ বছরের পুরানো বিশ্বে, পরের বছরটি উত্পন্ন হতে দ্বিতীয় বা কয়েক সেকেন্ড সময় নিতে পারে।
ডপপেলগ্রিনিয়ার

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

উত্তর:


27

প্রথমে, বামন দুর্গ সম্পর্কে ইতিহাস তৈরির জন্য কিছু ইঙ্গিত রয়েছে are কেউ কিছুক্ষণ আগে বে 12 ফোরামে জিজ্ঞাসা করেছিলেন , এবং একটি প্রতিলিপি ভাগ করা হয়েছিল এবং আপনি অনুসন্ধানটি কোথায় শুরু করে তা সন্ধানের মাধ্যমে খুঁজে পেতে পারেন: "আমাদের আজকের বিষয়টি বিশ্ব প্রজন্ম এবং ইতিহাস প্রজন্ম"।


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

এখানে চিত্র বর্ণনা লিখুন

এগুলি সেলুলার অটোমেশনগুলির উদাহরণ এবং তারা কী উত্পাদন করতে পারে। মূলত আমি বিভিন্ন দৌড়ের জন্য নিয়ম তৈরি করব। নিয়মের কয়েকটি উদাহরণ হ'ল:

  • অন্যান্য দৌড় প্রতি তাদের শত্রুতা
  • তাদের জলবায়ু পছন্দ
  • তাদের সংস্থান প্রয়োজনীয়তা
  • তাদের জন্মের হার এবং আয়ুকাল
  • তাদের ইচ্ছা (প্রযুক্তি গবেষণা, বাণিজ্য, শান্তিপূর্ণ অস্তিত্ব, বিশ্ব আধিপত্য)
  • তাদের ক্ষমতা (কাঠামো নির্মাণ, সম্পদ সংগ্রহ, যুদ্ধ তৈরি ইত্যাদি)
  • এবং আরও ...

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

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

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

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

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


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

এটি সমস্ত সিমুলেশন (জটিল হলেও), আপনি কেবল গুরুত্বপূর্ণ ইভেন্টগুলি সেই পথেই রেকর্ড করছেন এবং এটিকে ইতিহাস বলছেন।

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


সর্বদা দুর্দান্ত এবং তথ্যপূর্ণ, @ বাইট 56। :)
jcora

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

4

পার্শ্ব বিন্দুর মতো, জাভাস্ক্রিপ্ট আপনার ভাবার মত ধীর নয়

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

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

আমি আসলে একটি মন্তব্যে এই সব লিখতে যাচ্ছিলাম, তবে আমি স্থানের বাইরে চলে গেলাম।


1

হ্যাঁ, এটি জাভাস্ক্রিপ্টে নির্মিত হতে পারে, ASM.js এর মতো প্রোবাইকগুলি পরীক্ষা করতে পারে যা সি এর চেয়ে প্রায় 2x কম গতি পায় আপনি যদি একাধিক কোর (ওয়েবকার্স ব্যবহার করে) যত্ন নেন তবে এটি ডিএফের চেয়েও দ্রুত হতে পারে (সংস্থার দিক থেকে) , যা এখনই মনোকোর ore

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