기본적으로는 이진법이고 랜덤 스위치라는걸 사용함
이거 제외하면 랜덤을 배치할수있는 방법이 없음
유즈맵에서 확률이 딱떨어지게 10% 5% 이렇게 잘 안나오는 이유이기도 하고
(특정 경우에서 값을 산출하지 않고 리롤하는 방식을 쓰면 거의 근접할순 있는데 꽤 귀찮은 작업임)
가령 이런식임
[조건1: 1ms 마다]
[액션1: '스위치A'을 랜덤 상태로 지정함(0 or 1)]
[액션2: 이 액션을 무한반복]
이제 0.001초마다 '스위치A'는 0 혹은 1 무작위로 바뀌게됨
니가 돌림판 스톱! 외쳤을때 0이 나올 확률 1이 나올확률은 둘다 50%임
여기서 스위치의 개수를 10개로 늘리면
경우의 수가 1024개가 됨
13개로 늘리면 8192개
1/8192=0.000122=0.0122%
14개로 늘리면 16384개
1/16384=0.000061=0.0061%
0.0122+0.0061=0.0183
아마도 태초 확률인 0.019%에 근접한 숫자가 되는데 스위치를 몇개 더쓰면 차이는 좁힐수있음
어쨌든 스위치가 14개인 이 상황을 가정하고 쓰겠음
일반따리가 나오는건 이런식임
[조건1: 맨 앞자리(스위치A)가 1일때]
[조건2: 미네랄이 10 이상일때]
[조건3: 시민이 특정위치에 있을때]
[액션1: 일반 등급 유닛 생성]
[액션2: 미네랄 10 감소]
[액션3: 시민을 제자리로 이동]
간단하게 첫번째 스위치가 1일 확률은 50%임
이렇게만 하면 모든 뽑기 절반은 일반이 나오는것. 굉장히 쉬움
태초가 나오는건 이런식임
두 개의 조건문을 쓰면 됨
[조건1: 스위치A가 0일때]
[조건2: 스위치B가 0일때]
[조건3: 스위치C가 0일때]
......
[조건13: 스위치 M이 0일때]
이렇게 하나랑
[조건1: 스위치A가 0일때]
[조건2: 스위치B가 0일때]
[조건3: 스위치C가 0일때]
......
[조건13: 스위치 M이 1일때]
[조건14: 스위치 N이 0일때]
이렇게 설정하면 13번째 스위치까지는 전부 0
13번째 스위치인 M까지 0일 확률=0.0122%
13번째 스위치인 M이 1이고, 14번째 스위치인 N은 0일 확률=0.0061%
합치면 0.0183% 확률이 되겠지?
00000000000000: 태초 0.0061%
00000000000001: 태초 0.0061%
00000000000010: 태초 0.0061%
00000000000011: 다른 등급
이런식인거지
뒤에는 별거아님
[조건15: 미네랄이 10 이상일 때]
[조건16: 시민이 특정위치에 있을때]
[액션1: 태초 유닛 생성]
[액션2: 미네랄 10 감소]
[액션3: 시민을 제자리로 이동]
이 장치를 트리거라고 부름
물론 실제 트리거 제작할땐 코드를 써서 저걸 일일이 수작업으로 안해도 됨
그러나 근본적인 이진법 구조는 같다
드랍테이블이 정해져있어서 안나올판은 안나온다?
이것도 제작자가 마음만 먹으면 얼마든지 가능함
시작할때 임의의 스위치 Y와 Z를 딱한번 랜덤으로 정하게 하고
[조건: 스위치 Y, Z가 0, 0 이 아닐때(=0,1이거나 1,0이거나 1,1일 때)]
[액션: 스위치 L은 항상 1이다]
이러면 12번째 스위치인 L이 영원히 1에 고정돼있으므로
나머지 모든 스위치가 0이 되더라도 태초가 뜨지 않음
이렇게 될 확률은 3/4이니까 이걸 기반으로 플레이하면 태초가 뜰 확률은
원래 0.0183 x 0.25 (스위치 Y,Z가 0, 0일 때)=0.004575%가 되겠네
그것도 방을 4개 만들면 그중 3개는 무한미네랄을 써도 절대 태초가 안나오는 방식으로...
대신 방 갈리고 나서 같은 서로 기물만 주르륵 뜨는건 이걸로 설명이 안됨...
EUD맵은 뭐 신박한 맵제작법이 따로 있기라도한가? 내가 옛날에 할땐 안그랬는데
eud에디터에 lua로 그냥 rand() % n 식으로 넣을수있긴 한데 그맵 트리거 일부 추출된거는 스위치식이더라
근데 rand() 기능 자체가 0~65535이라서 거기서 거기일거고 그냥 몇이상을 짤라서 리롤 식으로 만들면 고르게 확률배분 가능을 할거임
구조적으로 스타는 확률을 이진수로밖에 못만들어내서그래 eud에디터는 보조 툴에 불과하기때문에 사람이 계산하기 힘든 영역까지 스위치를 늘리고 그걸 더해서 원하는 확률에 근접한 확률을 만들어낼뿐임
아니다 이건 내가 수작업으로 하던 시절에나 그랬던거고 리롤이 수작업이 아니라면 그냥 그 확률 나오겠네
10퍼라던가 떨어지는거는 일정범위 리롤아니면 불가능하긴 하지
eud 랜덤은 이 글이랑은 관련없음
클래식 트리거로 만들면 이진수가 한계고 epscript로 랜덤메소드 만들면 퍼센트수치 다조절가능 - dc App
작성자게이 15년전에 스타포지에딧쓸때방법설명하노.. 요즘 eud는전혀다른접근방식임
eud는 그냥 랜덤 변수 0~100000 숫자 xx에서 태초 땡이다 게이야..
옛날 방식을 장황하게도 써놨네
그냥 실력미달로 구현 못해놓은 거임 근데 확률 구현 얘기나오니까 지 실력으로 못해서 논란 커지기 전에 빤스런친거고
재밌게 읽었다 게이야
걍 Rand 함수 컴퓨터에 적용하면 각 플레이어마다 다른 변수 대입된다 스위치 쓸 필요가 없음