গেমের উপর ভিত্তি করে থিয়োরিট্যাক্টের পরিসংখ্যানগুলির একটি সরঞ্জামের জন্য অ্যালগরিদম (কিংবদন্তীর লিগ)


10

আমি একটি গেম (কিংবদন্তী লীগের) জন্য একটি সিমুলেটর তৈরি করতে চাই (মূলত পরীক্ষার উদ্দেশ্যে)।

গেমের বুনিয়াদি:

আপনার একটি বীর রয়েছে যার কিছু পরিসংখ্যান রয়েছে:

  • স্বাস্থ্য পয়েন্ট
  • আক্রমনে বিনষ্ট
  • আক্রমণের গতি
  • বর্ম
  • যুদ্ধযানের প্রবেশ
  • চলার গতি

হিরোতে 4 টি দক্ষতা থাকতে পারে (আপনি প্রতিটি স্তরে একটি দক্ষতা অর্জন করতে পারেন) (এগুলি ম্যানুয়ালি সক্রিয় করা হয়, বেশিরভাগ সময় কন্ডাউনডাউন, ক্ষয়ক্ষতি, আক্রমণশক্তি / আক্রমণাত্মক স্কেল অনুপাত এবং দক্ষতা স্তর থাকে) + একটি প্যাসিভ দক্ষতা

আপনি শত্রু নায়ক বা নিরপেক্ষ দানবকে হত্যা করতে পারেন, তাদের একই পরিসংখ্যান রয়েছে:

  • স্বাস্থ্য পয়েন্ট
  • আক্রমনে বিনষ্ট
  • আক্রমণের গতি
  • বর্ম

আমি কি করতে চাই:

কোনও নির্দিষ্ট আইটেম বা একটি নির্দিষ্ট স্ট্যাটাস বৃদ্ধি আপনার হত্যার শক্তি / গতি বাড়িয়ে তুলবে কিনা তা পরীক্ষা করার জন্য একটি সরঞ্জাম তৈরি করুন।

মানচিত্র: http://evtron.com/Evtron-Alpha/wp-content/uploads/2011/02/Summoners-Rift.jpg

স্ট্যাটাস উদাহরণ:

  • এইচপি: 420
  • বিজ্ঞাপন: 55
  • অ্যাটাকস্পিড: 0.613 (আক্রমণ / গুলি -> প্রতিটি আক্রমণ 1 / 0.613 গুলি)
  • বর্ম অনুপ্রবেশ: 25

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

আমি অ্যালগরিদম সম্পর্কে ভাবছিলাম:

  1. আমি ভেবেছিলাম আমি যদি কেবলমাত্র i = 0 থেকে i = 30000 (এমএসিং গণনা) করতে পারি তবে আমি শত্রু এইচপি এবং আমার এইচপি পাশাপাশি প্রতিটি এমএসে খুব খারাপ দেখতে পেলাম (সুন্দর সিপিইউ ভারী, এবং আমি চাই) এটিতে কিছু এলোমেলোভাবে রাখার জন্য, যাতে আমার 1k পুনরাবৃত্তি যোগ করা সম্ভব, যা অসম্ভব)

  2. দ্বিতীয়ত, আমি ভেবেছিলাম আমার কেবল i = 1 থেকে 30 পর্যন্ত কিছু করা উচিত এবং প্রতি সেকেন্ডে যাচাই করা উচিত এবং শেষ সেকেন্ডে কী ঘটেছিল তা পরীক্ষা করে দেখুন, তবে কিছু নিরপেক্ষ দানব একটি বড় শিবিরে রয়েছে (4 টি দৈত্য পর্যন্ত), এবং এইভাবে কোডটি জটিল এবং জটিল হয়ে উঠছিল।

  3. আমি প্রতিটি খেলোয়াড় / দানবদের জন্য থ্রেড তৈরি করতে যাচ্ছি এবং তারা মারা যাওয়ার পরে তারা একবার অনুসন্ধান করবে এবং প্লেয়ারের এইচপি হ্রাস করবে।

আমার প্রশ্ন, এটাই কি সঠিক পথ?

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

আমি জাভা পছন্দ করবো, তবে এটিএম আমি অ্যালগরিদমে আটকে আছি।


@ ক্যারোলি এস: হ্যাঁ, এটি 'আমার খারাপ, .কম -> .ইউ

আমি এটি নিয়ে কাজ করছি:

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

যদি অবজেক্টটিতে 0 সময় বাকী থাকে তবে এটি যা করতে হবে তা করবে।

আমি জানি না এটি কার্যকর উপায় আছে কিনা, তবে আমি এটিই সেরা করতে পারি।


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

দ্রুত উত্তর দেওয়ার জন্য ধন্যবাদ, আপনার সাহায্যের প্রশংসা করা হয়েছে। আমার অনুমান ঠিক আছে যে আপনিও হানি?

অবশ্যই, এটি এমন কিছু যা আমি প্রায় গভীরতার সাথে না হলেও আমি এটি সম্পর্কে চিন্তাভাবনা করব but আমি আপনার সাথে আরও বেশি দৈর্ঘ্যে আলোচনা করতে চাই love এবং হ্যাঁ, আপনার অনুমানটি সঠিক হবে :)
করলি এস

আমার কাছে দুর্দান্ত লাগছে, আমি বিষয়টি খোলা রেখে দেব, সম্ভবত কারও সম্পর্কে এটি সম্পর্কে ইতিমধ্যে ধারণা রয়েছে। আমার ইমেল (গেলিকান ডট কম

ভাল লাগছে, আমি এর মধ্যে কিছুটা চিন্তাভাবনা করব এবং আজ একটু পরে আপনাকে ইমেল করব।
করোলি এস

উত্তর:


1

ফ্রেম বাই ফ্রেম সিমুলেশন বিকল্প:

আপনি যেমন একটি সূত্র দ্বারা সিমুলেশন জন্য যুক্তিসঙ্গত এক ধরণের কাছাকাছি পেতে পারেন

rawDamage = <some function of strength?)
Damage = rawDamage - enemyArmorReduction
DPS = (attackSpeed * Damage) * enemyArmorMod
myRemainingHP = myDPS / theirHP  - theirDPS / myHP

আপনি চলন-সারিটিও বজায় রাখতে পারেন, যাতে আপনি প্রতি-টিক না করে প্রতি চলতে সিমুলেট করে রাখতে পারেন:

// my aspd = 4 attacks per second, his aspd = 3 attacks per second
0.0s : start battle
0.25s: I attack
0.33s: He attacks
0.50s: I attack again
...
1.00s: I attack
1.00s: He attacks
...

সরানো সারিটি আরও নির্ভুল হবে, কারণ এটি সঠিকভাবে ক্ষতিটি পৃথক নয়, এই ক্ষতিটিকে পৃথক করে তোলে with উদাহরণস্বরূপ, আমি যদি 0 সেকেন্ডে 50 টি ক্ষতি করে এবং 1 সেকেন্ডে আরও 50, আমার ডিপিএস 50 হবে, তবুও আমি 1 সেকেন্ডে 100 টি এইচপি লক্ষ্যমাত্রা মেরে ফেলব।

@ হ্যামার: সত্য। লড়াই যত কম হবে, কোনও ডিপিএস-ভিত্তিক অনুমান কম হবে।
জিমি

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