작은 수치 적 이점이 만남의 균형을 지배하지 못하게하려면 어떻게해야합니까?


27

나는 게임으로 한동안 땜질을 해왔고 무언가에 많은 어려움을 겪고 있습니다.

나는 두 개의 문자를 가지고 있으며, 각각은 범위 (1과 20 사이)에 속성 (약 10 개)이 있습니다. 이 속성을 사용하여 높은 롤이 특정 만남에서 이길 수 있도록 '롤'을 생성하고 싶습니다. 두 캐릭터가 서로 피해를 주거나 방어 하지 않는다는 점은 주목할 가치가 있습니다. 둘 다 우리가 기술 점검이라고 부를 수있는 것으로 보이는 것을 통과하는지 확인하려고합니다. 둘 다 공통의 가치에 반하여 실패하거나 실패합니다. 그들은 서로 상호 작용하지 않습니다.

그러나 캐릭터 중 하나가 작은 수치 적 이점을 가질 때, 내가 만든 수식은 대다수의 시간 동안 우승 한 약간 뛰어난 결과를 낳습니다. 이것은 바람직하지 않습니다.

테스트에 '가장 관련성이 높은'속성을 80 %로 가중치를 부여하고 다른 속성의 합계를 20 %로 가중치를 부여했습니다. 나는 또한 상대적인 차이를 만들기 위해 평균을 비교하고 더 약한 특성을 높이기 위해 그것을 사용했습니다. 두 가지 접근 방식 모두 내가 제거하려고하는 중요한 이점을 가져 왔습니다 (예 : 만남을 5,000 번 실행하면 한 번에 5,000면을 얻는 매우 정기적 인 결과를 얻습니다).

"행운"구성 요소를 추가하는 것이 중요합니다. 어쨌든 덜 작은 캐릭터를 선호하여 가중치를 부여하면 균형이 맞지 않습니다.

작은 수치 적 이점의 영향을 무뎌 뜨리기 위해 어떤 접근법을 취할 수는 있지만 특성의 상대적인 간격이 증가함에 따라 그 이점을 유지하고 향상시킬 수 있습니까?


요청에 따라 여기까지 내가 가진 세부 사항이 있습니다. 내가 아직 알지 못했던 것들이 일반으로 남아 있습니다.

현재 롤은 다음과 같이 생성됩니다.

0.8 * (mainAttribute) + 0.2 (1/3 * subAttA + 1/3 * subAttB * 1/3 subAttC)

현재이 수치는 4.0 부근에서 숫자를 생성합니다. 지정된 범위 사이에서 속성이 임의로 생성됩니다. 현재 테스트는 2에서 4 사이의 특성을 가진 하나의 문자와 3에서 5 사이의 상대 문자를 사용합니다. 예상대로이 결과는 각각 평균 ​​3과 4에 가깝습니다.

이 원 포인트 우위를 통해 시간의 55 % ~ 60 % 영역에서 2 승 중 더 강한 것을보고 싶습니다. 5 또는 6, 7 또는 8의 이점에서 90 %, 차이가 커질 때 가능성이 거의 없음 나는 승리를 보장하지는 않았지만 아마도 격차가 커질 때 99.5 % 또는 99.6 %의 승리를 거두는 경향이있을 것입니다.

현재 공식은 임의의 숫자가 아닙니다. 무작위성은 어떤 속성이 관련되어 있는지 선택하는 데 있습니다. 각 롤에 모든 속성이 사용되는 것은 아닙니다 . 전체적으로 약한 속성을 가진 사람이 해당 롤과 관련된 영역에서 강해져 승리를 도용 할 수 있습니다. 그러나 예상대로 거의 발생하지 않습니다.

다음 시도는 각 통계의 평균을 취하고 서로 통계를 나누고 그 값을 사용하여 작은 특성을 약간 강화함으로써 상대 강도를 측정하는 것이 었습니다. 이로 인해 상황이 약간 완화되었지만 5,000 회 시도 중 한 사람에게 5,000 회 승리하는 경향이 여전히 뚜렷했습니다.


2
"역할이 생성되었습니다"라고 말하지만 항상 고정 된 숫자를 생성하는 수식을 게시합니다. 무작위성은 어디에 있습니까?
Philipp

1
내가 당신을 올바르게 이해한다면, 당신의 게임 메카닉에서 유일한 무작위성은 주 속성의 무작위 선택입니까?
Philipp

2
그러나 @Philipp에서 알 수 있듯이 5000 번의 시도로 똑같은 결과를 얻을 수 있습니까? 아니면 매 시뮬레이션마다 새로운 속성을 생성합니까
Felsir

1
두 사람 중 하나가 서로 상호 작용하지 않으면 어떻게 이기는가? 여기에 누락 된 데이터가있는 것 같습니다.
Erik

1
각 롤이 생산하는 롤은 도달해야하는 목표와 비교됩니다. 하나는 그것에 도달하고 다른 하나는 그렇지 않으면 그 하나가 이깁니다. 그들이 둘 다 도달하면 두 승리 중 더 높은 것입니다. 둘 다 도달하지 않으면 점수를 얻지 못합니다. 동률이 아닐지라도 요점을 나누었습니다. '상호 작용하지 않음'은 전통적인 의미에서 서로를 때리거나 방어하지 않는다는 것을 의미했습니다.
ffenliv

답변:


36

당신의 접근 방식의 문제는 당신이 메인 스탯을 결정하는 순간 전투 결과를 결정한다는 것입니다. 4 가지 주요 능력치가 있고 전투기가 그중 하나만있는 경우, 차이가 얼마나 크든 상관없이 승리 확률은 항상 4 분의 1입니다. 더 세분화 된 결과를 원할 경우 더 세분화 된 임의성이 필요합니다.

우선, 나는 당신이 주요 속성에 대한 무작위 선택을 유지할 수 있고 원한다면 수식을 유지할 수도 있다고 생각합니다. 이 특정 전투에서이 전투원이 얼마나 많은 우위를 차지하는지를 나타내는 숫자입니다. 이 게시물의 나머지 부분에서는이 내용을 그냥이라고 power합니다.

내가 게임을 꽤 많이 사용하는 방법은 아주 잘이 둘 사이의 결투에 올 때 저를 역임 일정으로 power, 사이의 임의의 부동 소수점 숫자를 출시하는 것입니다 0power모두 높은 압연 사람을 참조하십시오. 다음은이 방법의 예상 결과 목록입니다. 백분율은 계산되지 않고 조합 및 반복 횟수 당 100000 건의 전투를 실행하고 누가 얼마나 자주 승리했는지 계산하여 실험적으로 생성됩니다.

PowerA | PowerB | Win chance of A
  9    |   1    |    94.5%
  8    |   2    |    87.5%
  7    |   3    |    78.6%
  6    |   4    |    66.6%
  5    |   5    |    50.0%
  4    |   6    |    33.3%
  3    |   7    |    21.5%
  2    |   8    |    12.5%
  1    |   9    |    5.5%

이 알고리즘의 좋은 점은 처리하는 숫자의 크기에 관계없이 확장된다는 것입니다. 0.3 대 0.7의 확률은 3 대 7, 7, 300 대 700 또는 3,000,000,000 대 7,000,000,000의 확률과 같습니다.

이것이 여전히 귀하의 취향에 비해 너무 예측할 수없는 경우, 각 전투원에 대해 여러 난수를 굴려서 합산하여 전투를보다 예측 가능하게 만들 수 있습니다. 많은 수법칙 으로 인해 많은 무작위 이벤트가 발생하여 더 예측 가능한 결과가 발생합니다. 반복 횟수가 다른 테이블이 있습니다.

| A | B | Iterations
|   |   |       1 |     2 |     3 |     4 |     5 |     6 |     7 |     8 |     9 |
-----------------------------------------------------------------------------------
| 9 | 1 |   94.5% | 99.3% | 99.9% |100.0% |100.0% |100.0% |100.0% |100.0% |100.0% | 
| 8 | 2 |   87.4% | 96.3% | 98.8% | 99.5% | 99.8% |100.0% |100.0% |100.0% |100.0% | 
| 7 | 3 |   78.7% | 89.2% | 94.0% | 96.6% | 97.8% | 98.9% | 99.2% | 99.6% | 99.7% | 
| 6 | 4 |   66.8% | 74.3% | 79.2% | 82.9% | 85.7% | 88.0% | 89.9% | 91.2% | 92.5% | 
| 5 | 5 |   50.0% | 50.0% | 50.0% | 50.0% | 50.0% | 50.0% | 50.0% | 50.0% | 50.0% | 
| 4 | 6 |   33.6% | 25.6% | 20.9% | 17.1% | 14.7% | 12.0% | 10.2% |  8.9% |  7.5% | 
| 3 | 7 |   21.4% | 10.7% |  6.0% |  3.5% |  2.0% |  1.2% |  0.7% |  0.4% |  0.3% | 
| 2 | 8 |   12.7% |  3.7% |  1.2% |  0.4% |  0.1% |  0.1% |  0.0% |  0.0% |  0.0% | 
| 1 | 9 |    5.5% |  0.7% |  0.1% |  0.0% |  0.0% |  0.0% |  0.0% |  0.0% |  0.0% | 

위 표에서 100 % 및 0 %의 결과는 반올림 차이로 인한 환상입니다. power전투원이 정확히 0이 아니면 항상 승리 할 가능성이 있습니다. 위의 테스트에서는 발생하지 않았으므로 1 : 100000 미만일 것으로 예상 할 수 있습니다.

java.lang.Random의 분위기 변화로 인한 약간의 불규칙성을 발견 할 수 있으며 다른 시드로 코드를 다시 실행할 때 나타나지 않을 수 있습니다.

이 테이블을 생성하는 데 사용한 프로그램 (Java).

public class Main {

    private static Random random = new Random();
    private static final int SAMPLES = 100000;

    public static void main(String[] args) {        
        for (int i = 1; i < 10; i++) {
            double powerA = 10.0 - i;
            double powerB = i;
            System.out.print("| ");
            System.out.print((int)powerA);
            System.out.print(" | ");
            System.out.print((int)powerB);
            System.out.print(" |   ");

            for (int iterations = 1; iterations < 10; iterations++) {
                int wins = 0;
                for (int j = 0; j < SAMPLES; j++) {
                    if (fight(powerA, powerB, iterations)) wins++;
                }
                System.out.print(String.format("%2.1f", 100.0 * (double)wins / (double)SAMPLES));
                System.out.print("% | ");
            }
            System.out.print("\n");
        }       
    }

    private static boolean fight(double powerA, double powerB, int iterations) {        
        double sumA = 0.0f;
        double sumB = 0.0f;     
        for (int i = 0; i < iterations; i++) {
            sumA += random.nextDouble() * powerA;
            sumB += random.nextDouble() * powerB;

        }       
        return sumA > sumB;
    }
}

게임에서이 코드를 사용하려면 Sam Hocevar가 게시 한 WTF Public License Version 2에 따라 라이센스 가 부여됩니다 .


이것은 흥미로운 접근법입니다. 내 시도 중 일부에서 나는 이것의 중간에 갔다. 이것을 연결하고 시도해 볼 것입니다. 많은 감사합니다.
ffenliv

10
첫 번째 표의 백분율은과 정확히 계산할 수 있습니다 1 - powerA / ( 2 * powerB ).
Kyle

2
@Kyle 그것은 오랫동안 작동합니다 powerA < powerB. powerA가 크면로 전환해야 powerB / (2 * powerA)합니다.
Dorus

1
라이센스가 라이센스보다 허용적인 경우에도 StackExchange ToS를 사용하여 컨텐츠 및 코드에 대한 필수 사이트 라이센스를 벗어날 수 있다고 확신하지 않습니다. 물론, 그것이 제안 된 MIT인지 또는 여전히 CC인지를 찾는 것은 불가능합니다.
Lars Viklund

5
@LarsViklund 여기서 논외 토론을 시작하고 있지만, 아닙니다. stackexchange 라이센스는 비 독점적이므로 원하는 경우 다른 라이센스 조건에 따라 지적 재산을 자유롭게 제공 할 수 있습니다. CC-BY-SA (Stackexchange에서 규정 한대로) 및 WTFPL에 따라 이중의 라이센스가 부여됩니다. 내 기부금을 사용할 조건을 선택할 수 있습니다.
Philipp

13

당신의 실수는 "주사위 기반"접근 방식을 사용하고 있습니다. 당신은 당신이 원하는 모든 시스템을 사용할 수있는 컴퓨터에 있습니다. 값의 차이를 % age로 이길 수있는 테이블을 만든 다음 원하는 값으로 설정할 수 있습니다. 예 :

Difference (A-B) | %chance A wins
-----------------|---------------
+5 or greater    | 100%
+4               | 95%
+3               | 85%
+2               | 70%
+1               | 55%
0                | 50%

(표의 절반 만 필요합니다. 항상 통계가 더 높은 것으로 A를 선택하면됩니다)

분명히,이 숫자는 단지 예일뿐입니다. 배포가 좋아하는 모든 것을 따르도록 만들 수 있습니다.


2
현재 승인 된 답변을 기반으로 한 시스템으로 작업하고 있지만 이것은 매우 간단하며 좋은 해결책 일 수 있습니다. 나는 좋은 ol 'StackExchange가 나를 위해 올 것이라는 것을 알았다.
ffenliv

5

솔직히 말하면 게임 역학의 관점에서 볼 때 매우 깊은 질문입니다. 그러나 도움이 될만한 몇 가지가 있습니다.

첫째, 이것이 대부분의 게임이 히트와 데미지에 대해 별도의 구성 요소를 가지고있는 이유입니다. 여기에서 데미지를 입 었는지 확인하기위한 "롤"이 있고 주어진 캐릭터의 데미지 테이블이나 범위에 대한 "롤"이 있습니다. 이로 인해 장르 전체에 걸쳐 일부 표준 아키 타입이 생겨 적중 횟수는 적지 만 더 큰 피해를 입히는 (유리 대포 마법사, 특정 유형의 도적) 큰 피해를 입히는 더 큰 기갑 캐릭터 (탱크, 전사) ).

이것은 작은 캐릭터가 깨지기 쉬운 자연스러운 균형을 가져 오지만 민첩성 유형의 능력으로 인해 자주 타격을 피하고 더 많은 데미지를가함으로써 경기장을 손상시킵니다. 시각). 전차의 속도가 느려지고 자주 타격을받을 수는 있지만 유지해야 할 체력이나 체력이 크지 만 타격 당 피해가 적습니다 (또는 초당 피해량).

이것에 대한 배경은 많은 게임들이 지속적으로 무기와 클래스와 통계의 균형을 맞추는 이유입니다. World or Warcraft, Destiny, Diablo, Battlefield : 모든 장르의 게임 유형은 종종 시간이 지남에 따라 균형을 잡고 조정합니다.

이것은 직접적인 대답은 아니지만 일반적인 아이디어를 요구했습니다. 플레이 시스템도 평가 해 봅시다.

이러한 속성은 어떻게 작동합니까? 다른 모든 것이 동일하다면 (아키 타입이없고, 갑옷이 없거나 무기가 더 좋거나 그렇지 않은 경우), 약간의 이득은 일방적으로 유리하게 물건을 던질 가능성이 높습니다. 전투에 패싯을 추가하면 모든 시스템이 복잡해 지지만 유연성이 향상됩니다.


옆으로, 나는 이것이 훌륭한 질문이라고 생각하며 매우 흥미로운 게임 메커니즘 토론으로 이어질 수 있습니다. 이로 인해 의견 기반이 될 수 있으므로 이러한 접선 (이 게임이이 게임보다 더 나은 작업 등)에주의하는 것이 중요하지만 더 많은 사람들이 게시 할 때 깨달을 수있는 몇 가지 기본 사항이 있습니다.
Jesse Williams

흥미롭게도, 나는 '히트'와 '손상'정비공을 먼저 가졌지 만 더 이상 기억하지 못하는 이유로 그것을 긁었습니다 (어제는 어제였습니다. 내 기억은 조금 ... 열악합니다). 서로 공격하거나 방어하지 않습니다. 손상 요소가 없습니다. 롤이 '통과'하는지 확인하기 위해 둘 다 공통 값과 비교하여 확인되는 기술 검사입니다.
ffenliv

2

두 가지 큰 일이 있습니다.

먼저, 컴퓨터에 있다는 것을 기억하십시오. 원하는 시스템을 만들 수 있습니다. 플레이어가 이해하기는 쉽지만 자신을 d20 롤로 제한 할 필요는 없습니다. 6 d6 주사위를 굴리는 것과 같은 것은 컴퓨터에서 쉽게 할 수 있으며 훨씬 적은 무작위 결과를줍니다.

둘째, D & D와 같은 다른 시스템을 살펴보면 속성의 영향을 크게 줄일 수 있다는 것이 명백합니다. 기본 스탯이 규칙에 80 %의 가치를 더하는 대신 스케일을 낮추고 더 미묘하게 만듭니다. 예를 들어 D & D에서 민첩이 18 개인 경우 방어구 등급에 보너스로 4를받습니다.

간단히 말해서 숫자로하면 범위를 더 잘 맞추기 위해 도메인을 축소 할 수 있습니다. 그러나 질적으로 나는 다른 시스템을보고 덜 수학적으로 보이는 것들을 생각해 내면 더 만족스러운 시스템을 만들 수 있다고 생각합니다.


1d20 또는 6d6 또는 5d4-결과는 더 이상 무작위가 아니며 범위 만 변경합니다. 무작위는 무작위입니다. 범위와 도메인을 축소하는 것만으로는 시스템 균형을 맞추기에 충분하지 않습니다. 물건을 더 오래 끌기 만합니다.
Jesse Williams

8
@JesseWilliams 사실이 아닙니다. 1d20은 가능한 모든 값을 얻을 수있는 기회입니다. 5d4를 사용하면 20을 얻는 것보다 12 또는 13을 얻을 가능성이 훨씬 높습니다.
Rob Watts

다수의 롤은 또한 번호 생성기의 결함을 숨기므로 컴퓨터에서 특히 중요합니다. 실제로 비트 수준의 롤을 결합하는 것은 많은 발전기의 기초입니다.
Yudrist

나는 정정되었다.
Jesse Williams

3
@RobWatts는 다소 무작위 적이 지 않으며 단지 다른 분포입니다. 이전의 "롤"에 대한 정보가 있다고해서 미래의 결과를보다 정확하게 예측할 수는 없으므로 (RNG의 결함을 무시 함) 무작위입니다.
chbaker0

1

방법 : 관련된 모든 속성에 상수 (예 : 1000)를 추가하십시오. 그러면 상대적인 차이가 매우 작아집니다.


1

당신의 숫자를 알고

rand [y]와 비교하여 rand [x] 가 Philipp 의 답변에 약간을 추가하면 항상 기대하는 것을 생성 할 수는 없습니다. A와 B를 비교 한 표 아래. A와 B는 모두 1 ... 10입니다. 우리는 두 가지 방법으로 비교합니다 (주 : rand ()는 정수, 즉 롤을 생성합니다) :

  1. 랜드 [A]> 랜드 [B]
  2. 랜드 [A] ≥ 랜드 [B] (즉, 크거나 같음)

또한 우리는 비교

  1. rand [A * 1000000]> rand [B * 1000000]
    (이 경우 너무 가깝거나 ≥인지 여부는 관련이 없습니다). 이 큰 숫자는 괄호 안에 있습니다.

셀은 %를 보유합니다. 각 결과는 백만 번의 반복을 보유합니다 ( Dyalog APL 사용 ).

┌────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┐
 A      B  1 (1000000)│ 2 (2000000)│ 3 (3000000)│ 4 (4000000)│ 5 (5000000)│ 6 (6000000)│ 7 (7000000)│ 8 (8000000)│ 9 (9000000)│10(10000000)│
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 1 (1000000)│ >0(50) 100  >0(25) 50  >0(17) 33  >0(13) 25  >0(10) 20   >0(8) 17   >0(7) 14   >0(6) 13   >0(6) 11   >0(5) 10
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 2 (2000000)│>50(75) 100 >25(50) 75 >17(33) 50 >12(25) 38 >10(20) 30  >8(17) 25  >7(14) 21  >6(13) 19  >6(11) 17  >5(10) 15
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 3 (3000000)│>67(83) 100 >50(67) 83 >33(50) 67 >25(37) 50 >20(30) 40 >17(25) 33 >14(21) 29 >12(19) 25 >11(17) 22 >10(15) 20
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 4 (4000000)│>75(87) 100 >62(75) 88 >50(62) 75 >37(50) 63 >30(40) 50 >25(33) 42 >21(29) 36 >19(25) 31 >17(22) 28 >15(20) 25
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 5 (5000000)│>80(90) 100 >70(80) 90 >60(70) 80 >50(60) 70 >40(50) 60 >33(42) 50 >29(36) 43 >25(31) 38 >22(28) 33 >20(25) 30
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 6 (6000000)│>83(92) 100 >75(83) 92 >67(75) 83 >58(67) 75 >50(58) 67 >42(50) 58 >36(43) 50 >31(38) 44 >28(33) 39 >25(30) 35
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 7 (7000000)│>86(93) 100 >79(86) 93 >71(79) 86 >64(71) 79 >57(64) 71 >50(57) 64 >43(50) 57 >38(44) 50 >33(39) 44 >30(35) 40
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 8 (8000000)│>88(94) 100 >81(87) 94 >75(81) 87 >69(75) 81 >63(69) 75 >56(62) 69 >50(56) 62 >44(50) 56 >39(44) 50 >35(40) 45
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
 9 (9000000)│>89(94) 100 >83(89) 94 >78(83) 89 >72(78) 83 >67(72) 78 >61(67) 72 >55(61) 67 >50(56) 61 >44(50) 56 >40(45) 50
├────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┼────────────┤
10(10000000)│>90(95) 100 >85(90) 95 >80(85) 90 >75(80) 85 >70(75) 80 >65(70) 75 >60(65) 70 >55(60) 65 >50(55) 60 >45(50) 55
└────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┘

A = 2 및 B = 3 (및 백만 테스트)을 보면 :

  • rand (2)가 rand (3)보다 17 % 더 큼
  • rand (2000000)이 사례의 33 %에서 rand (3000000)보다 큽니다 (알림 스케일링 ./ .. 정수 반올림).
  • rand (2)가 사례의 50 %에서 rand (3)보다 크거나 같습니다.
  • (rand (2000000)도 50 %에서 rand (3000000)보다 크거나 같습니다)

놀랍게도 :

  • rand (2)> rand (3) 중 17 % 만 사례에서
  • 사례의 45 %에서 rand (10)> rand (10)
  • rand (6)> rand (5) 격마다

실제로 원하는 백분율로 10x10 테이블을 손으로 입력 하여이 Q를 다르게 해결할 수 있습니다 (불규칙을 원할 수도 있습니다). 그런 다음 두 값 사이의 보간이 필요한 경우 정확한 백분율을 얻으려면 어떤 이유로 든 53이라고 말합니다. 그런 다음 단순히 rand (100)을 실행하고 테스트하여 53 % 확률 적중 (0 또는 1)을 쉽게 생성 할 수 있습니다. 53보다 작거나 같은 경우 :-).

즉, 선을 따라입니다 잭 Aidley는 언급하고있다.


1
정수를 생성하는 난수 생성기를 사용하고 있습니까? 내 대답은 0.0과 사이에 배정 밀도 부동 소수점 숫자를 생성하는 RNG를 사용합니다 1.0. 이 경우의 차이 >와는 >=무시할 수있다. 당신은 그것을 지적하고 싶을 수도 있습니다.
Philipp

예, 그것은 의도 된 메시지의 일부입니다. 작은 값의 정수 (거친 세분성) 대 큰 값의 정수 (실제로도 떠오름)는 세분화됩니다. 나는 "정수"를 어딘가에 삽입 할 것이다. 나는 실제로 그 무시할 점을 지적한다. "(이 경우에는 그것이 너무 가깝거나 ≥인지 여부는 상관이 없다"). 시스템이 균형을 추구하도록 장려되지 않으면 종종 숫자가 놀라운 가치를 찾는다. 일반적으로이 경우에 반드시 ofc는 아닙니다.
Stormwind

0

몇 가지 답변이 암시 적으로 참조했지만 실제로 철자가 없었던 전통적인 접근 방식은 작업에 고정 다이 롤이 필요하고 통계에서 파생 된 기능 수정자를 추가하는 것입니다.

예를 들어, 두 명의 플레이어가 절차를 따르는 경우 :

  • 14면 다이를 굴립니다
  • 다이 롤에 수정 제 추가

한쪽이 다른 쪽을 이길 때까지 반복하면 범위의 숫자를 얻을 수 있습니다. 수정 자에게 주어진 수치 적 이점을 가진 승리 확률은 다음과 같습니다.

0   50%
1   57%
2   64%
3   70%
4   76%
5   81%
6   85%
7   89%
8   92%
9   95%
10  97%

0

캐릭터들은 패권을 위해 서로에게 도전하지 않습니다. 그들은 요구 사항에 도전합니다. 둘 다 요구 사항을 통과하면 어떻게됩니까? 누가 이겼어? 나는 당신이 그것을 계산하기에 충분히 논리에 도전하지 않은 것에 놀랐습니다.

어느 쪽이든, 여기에 당신을 도울 두 가지가 있습니다.

다음과 같은 이점이있는 우연한 사례 :

IF 패스 바 / 스킬 체크는 10의 롤입니다. A 롤 40. B 롤 42. 한 명만 이기면. 동등한 A 50 % Win / B 50 % Win에서 시작합니다. 우위에 따라 확률을 얻기 위해 %를 추가 할 수 있습니다. 롤 B는 롤 측면에서 (42-40) / 40 = 5 % 이점이 있습니다. 직접 추가하면 B의 승률이 55 %가됩니다. 또는 이점 비율 당 사용자 지정 승리 확률을 결정할 수 있습니다. 100 % 우위를 점할 때마다 10 %의 확률로 승리합니다. A가 10을 굴리고 B가 20을 굴린다면 A는 40 %, B는 60 %를 이깁니다.

공정한 무작위성 개념 :

표준 30 % 확률로 승리하면 100 점 중 38 점을 얻습니다.

어떤 사람들은 공정성에서 한 걸음 더 나아가고 100 % 만남 중 30 % 확률이 항상 정확히 30 번 이기고 순서에서 어떤 만남이 이기고 어떤 손실인지 알 수없는 무작위성으로 충분합니다.

이것은 잘 계산 된 게임 경제에 특히 유용합니다. 70 % 확률로 무작위 확률이 승리하기 때문입니다. 폭도가 5 골드를 떨어 뜨릴 확률이 70 %라고 말합니다. 폭도들은 결국 100에서 81 번 금을 떨어 뜨릴 수 있습니다. 그러면 수입 / 비용이 균형을 잃게됩니다. 그리고 얼마나 많은 엔티티 / 인스턴스를 사용하는지에 따라 그러한 롤 팽창 및 / 또는 부족이 불가피하게 발생합니다. 물론 많은 사람들은 그들의 경제에 대한 전체 투입 / 비용의 대략적인 추정치조차 가지고 있지 않습니다. 많은 사람들이 "가장 경제적 인"경제 포인트로 충분합니다. 그리고 계산되지 않은 일부 생성 변수를 남겨두고 공정한 임의성으로도 초과 근무 시간을 초과합니다.

인플레이션과 부족은 스스로 문제가되지 않습니다. 경제가 인플레이션과 부족에 적절히 대응하도록 설정되어 있으면 불공정 한 무작위성 및 예기치 않은 변수를 관리 할 수 ​​있습니다.

많은 수법칙 이 장기적 으로 문제를 해결하기 때문에 왜 이것을 귀찮게 합니까?

모든 환경이 디자인 동작을 유지할 수있는 것은 아니며 나중에 문제를 해결할 수도 있습니다.


나는 특히 마지막 문장을 좋아합니다. 다른 곳에서 잡기 : 예를 들어 Viking Lotto의 in : out 비율은 장기적으로 약 4 : 1 ( "long"을 "large"로 대체 할 수 있음)이라고 생각합니다. 거의 논쟁의 여지가 있지만 잘 정의 된 디자인 동작을 가지고 있으며 기능을합니다. 디자인 동작을 먼저 정의하지 않으면 수학을 실행할 수 없습니다. 숫자는 통제없이 통제되지 않는 경향이 있습니다 ...
Stormwind

물론 @Stormwind. 설계 / 이론이 부족하면 수학은 쓸모가 없습니다. 도구 일뿐입니다. 5 학년 수학 수준의 디자이너가 좋은 경제를 끌어내는 것을 보았습니다. 그들은 논리적으로하고 싶은 것을 매핑하고 수학 비트를 수행하는 방법에 대한 도구 / 조언을 위해 수학 전문가 (보통 코더)에게 갔다. 그래도 여전히 모든 사람에게 분명하지는 않습니다. 청사진에 더 많은 문제가있을수록 건설시 더 많은 두통이 발생합니다. 일부 시스템을 잡고 조정하면 요점이 완전히 사라집니다. 무엇이든 먼저 일을 시작하면 실제로 창의적이지는 않습니다.
helena4
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.