টার্ন ভিত্তিক গেম বা রোগুয়েলাইকগুলিতে হিট গণনা করার বৈশিষ্ট্য


22

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

আমার এখন পর্যন্ত যা কিছু রয়েছে তা এলোমেলো পূর্ণসংখ্যার পাশাপাশি খেলোয়াড় এবং শত্রু বৈশিষ্ট্যের মধ্যে পার্থক্য যুক্ত করছে:

if ((player.dex - enemy.dex) + (player.speed - enemy.speed) +
    (player.luck - enemy.luck) + random_integer_below_6()) >= 10) {
    hit(enemy);
}

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

উত্তর:


18

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

ডি অ্যান্ড ডি একটি "সমতল" সিস্টেম, যেখানে সম্ভাব্যতা সম্ভাব্য রোল ফলাফল জুড়ে সমানভাবে বিতরণ করা হয়। অন্যান্য সিস্টেমে আরও বাঁকানো বিতরণ ব্যবহার করে, সাধারণত একাধিক ডাইস ঘূর্ণায়িত করে সেগুলি যুক্ত করে achieved এটির মতো একটি বক্ররেখা তৈরি করা যথেষ্ট সহজ (র্যান্ড () + র্যান্ড ()) / 2 মনে আসে)

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

সুতরাং একটি বাঁকানো রোল সহ একটি সম্ভাব্য পন্থা, নিখোঁজ হওয়ার গ্যারান্টিযুক্ত সুযোগ এবং ডাইস ফেটে যাওয়ার কিছু হবে:

function getRoll():Number
{
  var result:Number = (rand() + rand()) * 3; //Curved result from 0 to 6
  if(result > 5.75) result += getRoll(); //Explode over a certain threshold, recursively
  return result;
}

function attackHits():Boolean
{
  var roll:Number = getRoll();
  if(roll < 0.25) return false; //Guaranteed chance of miss
  else return ((player.dex - enemy.dex) + (player.speed - enemy.speed) +
    (player.luck - enemy.luck) + roll) >= 10; //Your original test.
}

অবশ্যই, এটি অরক্ষিত এবং ভারসাম্যহীন; যতক্ষণ না তারা ঠিকমতো অনুভূত হয় ততক্ষণ আপনি এই সমস্ত ম্যাজিক নম্বরগুলি সামঞ্জস্য করতে চান।

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


3
মজার ধরণের ডিক্স নিয়ে কোন ভাষাটি? নাকি এটি কেবল সিউডোকোড?
দশগুণ

2
আমি মনে করি এটি অ্যাকশন স্ক্রিপ্ট বা জাভাস্ক্রিপ্ট হতে পারে তবে আমাকে এটি ধরে রাখবেন না।
কম্যুনিস্ট হাঁস

এটি অ্যাকশন স্ক্রিপ্ট ৩। আমি ফ্ল্যাশ বিকাশকারী।
গ্রেগরি অ্যাভেরি-ওয়েয়ার

6

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

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

আমি আর একটি সমস্যা দেখছি, এটি হ'ল আপনার সূত্রটি স্কেল করে না এবং সম্ভবত এটিই আপনি অভিজ্ঞ হচ্ছেন। DEX, LUCK এবং SPEED ধরে নিলে গেমটি চলাকালীন আরও বাড়তে থাকে, সেই পরিসংখ্যানগুলিতে প্লেয়ার এবং দানবের মধ্যে পার্থক্যও বাড়তে থাকে। যেমন একটি উদাহরণ হিসাবে, যদি কোনও খেলোয়াড়ের শুরুর গেমটি ডেক্স 4 থেকে 6 ব্যাপ্তিতে থাকে এবং তেমন দানব হয় তবে এটি 10-10% থেকে হিট সংশোধক হবে। গেমের পরবর্তী পর্যায়ে যদি পরিসীমাটি 10 ​​থেকে 20 এর মতো হয় তবে এটি 100% সংশোধক পর্যন্ত।

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

আর একটি উপায় হ'ল সেই হার্ডকোডযুক্ত "10" স্তরটিকে স্কেল পরিবর্তন করতে, সুতরাং এটি "10 + দানব স্তর" বা "10 + অন্ধকার স্তর" বা এমন কিছু হতে পারে যা খেলোয়াড়ের স্তর অবধি খেল না করলে গেমের অগ্রগতি না হওয়ায় অসুবিধা কিছুটা বাড়িয়ে তোলে তাদের পরিসংখ্যান অনুসারে।

তৃতীয় উপায়, যেমন অন্যেরা বলেছেন, সর্বোচ্চ এবং সর্বনিম্ন গ্রহণযোগ্য থেকে হিট%-তে হার্ড ক্যাপ সেট করা এবং কেবল "গণনা করা মান যদি X এর চেয়ে কম হয় তবে এর পরিবর্তে এক্স ব্যবহার করুন" say

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


এটি একটি দুর্দান্ত উত্তর।
সানিকাস

3

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


0

প্রচুর গেমস সাধারণ হিট সূত্র ছাড়াও সমস্ত কারণ নির্বিশেষে হিটের পাঁচ শতাংশ পরিবর্তন ব্যবহার করে।

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