https://youtu.be/11_vC9nktSo
1) 인겜 시작순간 나올 순서는 가챠 이외에
시드값을 바꿀 요소가 없기 때문에 사실상 정해진게 맞음
섞여있는 카드패를 서로 나눠 갖는다고 이해해도 좋음
위 영상은 임의의 시드를 대입후 순서를 미리 안채로 연출한것임
이후 난수고정 태초
2) 유닛이 나올순서를 예측 가능함?
이론상 가능한데 전혀 할 필요 없음
eudplib/random.py at c5c6ed554f30a39de743aeed95671a587898087e · armoha/eudplib (github.com)
위 구현된 코드에 인겜 seed 값을 입력하면 다음값 예측 가능함
다만 이건 메운디에만 한정되어 있는것임 (뽑을때만 난수변경 되는경우)
중요한건 이미 seed값이 뭔지 알아내는 노력을 들인 시점부터
예측이고 뭐고 그냥 원하는걸 뽑을 수 있음
매 프레임 갱신되는것도 아니고, EUDVariable()은 미네랄, 가스처럼
메모리 변조 즉시 방이 갈리는것도 아니기 때문에
4명이 치트엔진으로 같은 난수로 고정 한뒤, 동기(synchronous)문제만 없다면
멀티 플레이도 됨
3) 그래서 확률 조작임?
개발자 실수 정도로 보임
버그 수정 난이도는 매우 간단하기 때문에 (매 프레임 randomize()를 호출 하면 됨)
도와준 아스나 이 사람은 10초만에 고칠수 있을것임
실제 맵에선 이런 형태로 구현됐을거라 생각함
randomize(); //내부 시드값 초기화. onPluginStart()내에서 한번만 이루어짐
function gacha_unit(cp) {
var rand = dwrand() % k //k는 전체 경우의 수
if (rand >= x1 && rand < x2) { //x는 해당 경우의 수
CreateUnit(1,"일반드라군","Location",cp);
}
else if (rand >= x2 && rand < x3) {
CreateUnit(1,"일반히드라","Location",cp);
}
//이하 줄줄이 개노가다
}
오 바로 이해됨
진짜 이해됬냐 난 무슨말이지 몰라서 계속 보는중이다 ㅋㅋㅋ
분석추
맵 꼬라지 ㅋㅋ
개고수네 ㄷㄷ
이건 사실 큰문제는 아니긴한데 싱글안되는게임상 꼬우려면 한없이 꼬울수도있다
근데 어짜피 시드 비꿔도 결국 같은 수도 랜덤 아님?
코드가 중졸수준이긴하네
태초뽑는것좀 알려주라 제발... 일반 레어 고대 유물 나올때마다 바뀐값 안바뀐값 으로 검색해서 4개 코드 나와서 값고정 시켜도 랜덤으로 계속나옴 ㅠ
find out what writes to this adress 이거 누르면 자꾸 스타멈추고 튕기는데 이유가뭐지 ㅠ
카드 패 중에 태초나 신화가 아예 안 들어있는 경우는 없었다고 봐도 됨?
그럼 표기된 확률은 의미가 없는 거임?
누가 코드를 저렇게짬 발적화하려는것도 아니고 - dc App