PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2016/12/28 00:19:16
Name tjsrnjsdlf
Subject [질문] 프로그램적으로 완전한 랜덤을 만드는게 불가능한가요?
완전한 랜덤이라고 표현하니까 사실 완전한 랜덤이 뭔지 저도 잘 모르겠기는 한데...
몇몇 게임을 즐기다 보니까 랜덤이라고 생각한 요소들이 사실 다 정해진 난수표에 따라 움직이는거고
그 난수를 통제하면 랜덤성도 다 통제가 되더군요. 난수에 의지하지 않고 랜덤성을 구현하는건
불가능한건가요? 예컨데 온라인 게임의 강화같은것도 사실 뜯어서 알아내기 어려울 뿐이지 다 난수로 구현된건가요?

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
16/12/28 00:30
수정 아이콘
난수(亂數)란 정의된 범위내에서 무작위로 추출된 수를 일컫는다. 난수는 누구라도 그 다음에 나올 값을 확신할 수 없어야 한다.

난수 자체가 무작위로 추출된 수인데.. 무작위로 추출된 수 없이 무작위를 구현할순 없죠...

덧붙이자면 컴퓨터에서 쓰는 난수는 저 사전적 정의에는 부합하지만 완벽한 무작위는 아닙니다.
tjsrnjsdlf
16/12/28 00:31
수정 아이콘
근데 사실 그때그때 난수가 무작위로 추출된다면 모르겠는데... 아마 게임 설계할때 한번 추출하고 그 뽑은 표로 계속 돌리는가봅니다. 몬헌 시리즈들은 얼마 안가서 난수가 아예 세세하게 다 분석되서 나오더라구요.
16/12/28 00:34
수정 아이콘
어떤말을 하시는건지 모르겠는데

당연히 난수값에 따라 결과는 '모든 게임이 정해져있죠'

난수 자체가 무작위니깐 1~10이 나오면 강화성공 / 11~20이 나오면 강화 실패. 라고 되있으면 확률이 50%가 되는거고요.

온라인 게임은 그 난수를 서버쪽에서 만들고 검증하지만..
패키지 게임들은 클라이언트에서 난수를 만드는게 정상인거고

무작위로 나온 난수를 '직접 통제했으면' 이미 무작위가 아닌건데 당연히 정해진 결과가 나오겠죠.
tjsrnjsdlf
16/12/28 00:35
수정 아이콘
어떤말을 하시는지 모를 수 밖에 없는게 저도 제가 정확히 뭘 모르는지를 모릅니다...
16/12/28 00:30
수정 아이콘
제목의 질문에 답변만 하자면 일단 난수 자체가 완전 랜덤한 수열을 나타내는건데, 컴퓨터로 완전한 난수를 구현하는건 불가능합니다.
NightBAya
16/12/28 00:32
수정 아이콘
https://namu.wiki/w/난수생성

나무위키 해당 항목도 참고해보세요.
tjsrnjsdlf
16/12/28 00:34
수정 아이콘
읽고 대충 알았습니다... 양자컴퓨터 이야기까지 나오는거 보니 분석 불가능한 랜덤 이런건 지금 단계에선 만들수가 없겠네요.
16/12/28 00:35
수정 아이콘
제목의 질문에 답하자면
컴퓨터는 난수를 생성할 수 없습니다만 난수 비슷하게 값을 뽑아낼 수는 있습니다.
난수표에 현재 시간을 대입하는거죠 ㅡ.ㅡ

본문에서 말씀하고싶으신건 확률이 아닐까 생각합니다.
강화같은경우 5%의 성공확률을 가질경우 1~100의 난수를 뽑은다음
뽑은값이 1~5일경우에만 강화 성공메세지를 띄우는 방식으로 확률을 제어합니다.
tjsrnjsdlf
16/12/28 00:37
수정 아이콘
굳이 따지면 강화, 무기옵션 뭐 이런 문제에서 뽑는 순간까지 '정해진 결과가 없는 상황'을 만드는게 가능한가 뭐 이런 문제였습니다. 제가 하는 몬헌 시리즈는 뽑는 순간은 커녕 게임 키는 순간 많은게 결정되고 어떤 시리즈는 아디를 만드는 순간 많은게 결정되더군요.
16/12/28 00:48
수정 아이콘
어떻게 코딩했느냐에 따른 차이인것같습니다.

말씀하신 경우는 정해진 난수표로만 확률을 구하거나 아니면 그 난수표에 대입하는 값이 고정되었을 때 그럴수도 있습니다.
위에 나무위키문서에서 나오는 [시드]가 고정된다고 생각하시면 될듯..
tjsrnjsdlf
16/12/28 00:52
수정 아이콘
고정 되는건 아닌데 뭐가 골라지는지 알 수 있는 상황입니다. 난수표 13개를 쓰고 그 난수표는 게임을 킬때 혹은 아이디를 만들때 결정되는데 그렇게 결정된건 게임 도중엔 바뀌지 않고(이게 제일 크다고 봅니다.) 무슨 난수표가 결정됬는지도 알 수 있습니다. 결국 랜덤같은건 없어지는거죠. 다만 이건 난수표까지만 구하는거고 그 난수표 내에서 어떤 난수가 선택되는지까지는 고를 수 없습니다. 하지만 난수 표를 구하는것만으로도 원하는것을 얻을 확률을 13배(난수표가 13개이므로) 올릴 수 있죠.
16/12/28 01:00
수정 아이콘
그냥 코딩의 차이입니다.
완전히 랜덤으로 할 수 있는데 그렇게 안한거죠
왜 그렇게 했는지는 개발자가 알지 않을까..
Supervenience
16/12/28 01:02
수정 아이콘
가능합니다. 강화 순간의 사용자 컴퓨터의 잡다한 주변 정보를 이용한다면 가능합니다. 시각(시간)정보를 사용하는 것도 그런 방식 중 하나지요.
tjsrnjsdlf
16/12/28 01:08
수정 아이콘
컴퓨터가 아니라 휴대용 게임이용 게임인데 그래서 난수 선택을 단순히 이뤄지게 만들었나보네요. 강화 순간 정보 수집해서 난수 정하고 이런 시스템 만들면 게임기 스펙상 딜레이 걸리니까...
Supervenience
16/12/28 01:15
수정 아이콘
난수 뽑는게 별로 시간 오래걸리는 일도 아니고 강화 등에 쓰는 거면 게임 플레이에 전혀 영향을 안 줄텐데
성능 문제보다는 그냥 휴대용 게임기에 들어가는 게임이다 보니 실질적인 난수성이 그리 중요하지 않아서 그렇게 만든 (신경을 안 쓴) 것 같습니다.
Soul of Cinder
16/12/28 01:08
수정 아이콘
그 게임이 그냥 그렇게 만든 것일 뿐입니다. 만든 사람이 원한다면 모든 이벤트 순간마다 새롭게 주사위를 던져서 다른 결과를 만들어낼 수 있습니다. 다만 그 게임은 처음에 한 번 주사위를 던져놓으면 그 다음부터는 주사위를 던지지 않게 한 것 뿐입니다.
tjsrnjsdlf
16/12/28 01:12
수정 아이콘
그런식으로 매 이벤트 순간마다 주사위를 다시 던지게 만드는게 휴대용 게임기 수준의 스펙에선 어렵나요? 제가 하는게 휴대용 게임기 게임인데 비교적 최근 버전까지도 계속 이 난수문제가 생기더군요. 플레이어들이 난수 분석하는걸 장려할 이유를 찾을 순 없으니 어쩔 수 없이 이렇게 만든다는건데, 어쩔수 없이 이렇게 만들 이유라면 게임기의 스펙 문제밖에 안떠오르네요.
Soul of Cinder
16/12/28 01:30
수정 아이콘
시스템 자원은 부족하지 않을 것으로 생각되고... 제가 그 게임을 해본 적이 없어 잘은 모르겠으나 각 난수에 따라 일종의 시나리오나 방향성이 정해져 있다면 그냥 그렇게 만드는 게 (매번 주사위를 던지지 않는 식) 더 편해서 그랬을지도 모릅니다. 이미 난수에 따른 다양한 분기가 결정되어 있는데 굳이 주사위를 다시 던질 필요가 없고, 왜 미리 다양한 분기를 결정해 놓느냐... 이것이 질문의 요지가 될 것 같긴 합니다만, 이미 다양한 분기가 (밸런스를 고려해서) 굳이 주사위를 던지지 않아도 될 정도로 마련되어 있다면 귀찮게 주사위를 던질 필요가 없겠죠. 게임이라면 어쩌면 일본식 야리코미 요소를 고려해서 그렇게 만들었을 수도 있겠고요.
tjsrnjsdlf
16/12/28 01:31
수정 아이콘
뭔가 진짜 이런것도 파고들라고 만든건가 하는 헛웃음이 나오긴 하네요.
래쉬가드
16/12/28 01:13
수정 아이콘
말씀하시는건 다르게 이야기해서 '풀리지 않는 완벽한 암호를 만드는게 가능한가' 와 비슷하다고 여겨집니다.
만약 절대로 예측못할 난수로 만들어진 암호라면 그걸 풀 방법이 아예 없겠죠. 암호의 측면에서 그게 무슨 의미가 있나 싶습니다만 완전한 렌덤이라면 그런 의미 같습니다.

만약 그게 아니라 이미 존재하는 난수표로 만들어지는 암호라면, 암호가 만들어지는 방식은
암호 = f(원래글자, 난수표)
이런 식으로 만들어질텐데 이 함수 f가 원래 글자와 난수표를 조합해서 암호문을 만드는 역할을 하는 함수겠죠

즉 이 암호를 뚫기 위해서는 2단계를 뚫어야 합니다. 일단 정확한 난수표를 구해야 하고, 함수 f가 어떻게 동작하는지 알아야죠.

그런데 난수표 자체도 무척 방대한 분량일 수 있고 그 자체가 철통같은 보안으로 보호되거나 수시로 바뀔 수 있으며,
기가막히게 난수표를 구한다고 하더라도 암호를 생성하는 함수 f 가 무진장 복잡한 방식일 수도 있습니다. 이걸 둘다 뚫어낸다는건 사실상 매우매우 어려운 일이죠.

원본인 게임아이템으로 돌아가서, 난수표를 구한다 하더라도 그게 쓸모있는 난수표인지, 정말 안 바뀌는 난수표인지 검증할 필요가 있으며
그 난수표를 가지고 예를 들어 1에서 100 사이의 숫자를 뱉어내는 함수 f가 있을 때, 대체 어떤 식으로 숫자를 뱉어내는지까지 알아야 역으로 추적해서 게임아이템을 먹을 수 있겠죠.

위에 암호만드는 함수는 f(원래글자, 난수) 이렇게 단순하게 썼지만 게임 아이템의 경우 f(난수, 현재시간, 캐릭터 현재 위치, 캐릭터가 이제껏 먹은 고급템 갯수, 플레이시간, 유저의 나이...) 등등 수많은 인자를 받을 수도 있고 이를 매우 복잡하게 조합해서 결과를 뱉을 것입니다.
물론 이 모든 비밀을 알아낸다면 딱 원하는 아이템을 손에 넣을수 있겠죠. 그래서 완전한 랜덤이란 없는거고요. 근데 그걸 다 뚫어낼거 아니라면 어지간하면 완전한 랜덤에 가깝다고 봐야 할 것 같습니다.
tjsrnjsdlf
16/12/28 01:18
수정 아이콘
댓글달아주신분들 다 감사합니다. 위키 글도 읽고 하면서 몬스터 헌터의 난수라는게 대체 뭐하는 시스템인지 이제야 좀 알겠네요. 물론 아직도 대체 왜 이 난수를 플레이어가 분석가능하게 만들어서 플레이어들이 게임은 안하고 엉뚱한 난수분석을 하게 만드는지는 모르겠지만 이건 게임회사 문제겠죠.
래쉬가드
16/12/28 01:21
수정 아이콘
전 몬스터 헌터라는 게임에 대해 잘 모르지만 유저가 난수분석을 한다면 2가지 중의 하나라고 생각합니다.

1. 정말 쉽고 간단하게 게임회사가 알고리즘을 발로 만듬
2. 그냥 유저들이 '이런 원리 아닐까?' 하고 추측하는 유희에 불과

개인적으로는 2번에 가깝다고 여겨집니다. 난수만 안다고 풀리는것도 아니고 그 난수 절대 바꾸지 않는다는 보장도 없고... 근데 실제로 시스템이 해독될정도로 부실하다면 문제가 많아보이는 게임이네요
tjsrnjsdlf
16/12/28 01:27
수정 아이콘
차라리 2번이면 좋겠지만 슬프게도 아닙니다. 그냥 난수 테이블에 따라 보상 자체가 달라지는게 보이거든요. 그리고 이런 난수가 플레이어들에게 해석되서 생기는 문제들이 주로 항상 휴대용 게임기용 게임들에서 발생되는걸 보니... 스펙문제가 싶네요. (전 온라인 게임에서 난수가 분석됬다는 이야기를 못들어봤습니다.)
래쉬가드
16/12/28 01:33
수정 아이콘
말씀하시는 의미를 잘 모르겠습니다.
난수가 달라지면 당연히 보상이 달라져야 하는거 아닌가요?
보상을 계산하는 공식이 다 밝혀졌나요?
전 그게 어렵다 보는게 '동일한 조건' 이라는건 애초에 불가능에 가깝습니다. 아이템 먹는 시간, 캐릭터 레벨, 캐릭터 위치나 심지어 유저의 성별이나 닉네임 같은 쓰잘데기 없어보이는 정보도 랜덤 알고리즘에 넣으려면 얼마든지 넣을수 있거든요
tjsrnjsdlf
16/12/28 01:39
수정 아이콘
좀더 구체적으로 적으면 난수표가 13개가 있고, 그 난수표 내에 무수히 많은 난수가 순서대로 돌아갑니다. 이중 구체적으로 무슨 난수가 정해지는지는 말씀하신대로 수없이 많은 요소가 고려됩니다. 그런데, 최초에 난수표중 무엇이 정해지는지는 그냥 게임을 키는 시간만 고려됩니다. 또 특정 옵션은 특정 난수표에서만 나옵니다. 이 결과로 1. 게임을 키는 시간을 조절함으로서 13개의 난수표중 플레이어가 원하는 난수표를 고르고, 이걸 통해 원하는 옵션을 얻을 확률을 증가시킬 수 있습니다. 이 1번까지는 단순히 인플레이상의 경험으로 터득가능합니다. 2. 앞서 언급한 온갖 쓰잘데기없는 정보들이 정확히 '어떻게' 작용하는지가 밝혀졌습니다. 예컨데 오른쪽으로 한발자국은 난수값 50 증가 특정 위치를 경유하면 120 증가 이런식으로요. 그런데 이건 프로그램 자체를 뜯어서 알아낸거라 회사의 문제로 돌릴 순 없겠네요. 사실 2번은 난수값을 알아도 유저가 그것까지 통제하는게 불가능에 가까워서 실제론 1번 즉 난수표의 선택까지만 일반적으로 유저들이 시도합니다. 그런데 1번으로 난수표를 선택해도 원하는 옵션이 나올 확률이 0.2%정도여서 2번을 시도하는 사람이 종종 있습니다. 문제는 래쉬가드님도 아시겠지만 난수값을 안다 해도 그정도까지 캐릭터를 정밀하게 통제하는게 인간인 우리에게 어렵다보니 2번은 매우 어렵습니다. 무엇보다도 다른 요소는 몰라도 1/60프레임 단위의 시간변화를 통제하는게 불가능합니다. 2번을 시도하는 분들은 이 프레임 변화까진 포기하고 다른 모든 요소(예컨데 목적지까지 가는 걸음수 등)를 고정해서 오직 프레임 변화만 운으로 남긴 후 시도합니다.
래쉬가드
16/12/28 01:47
수정 아이콘
아하 이 답변을 보니 이제 이해가 좀 갔습니다.
가장 큰 문제는 게임을 키는 시간으로 겨우 13개의 난수표중에 뭐가 선택되는지 파악할 수 있다는거고
특정 옵션이 특정 난수표에서만 나온다는게 밝혀질 정도로 랜덤성이 허술하다는 것 이 2개이겠네요.

완벽한 랜덤 생성까지는 갈 것 없이, 이 허술한 부분만 보완하면 게임을 플레이하는 정도의 랜덤성에는 전혀 문제가 없을것 같습니다.
시스템이 좀 심하게 단순하네요. 요즘 휴대용 기기들의 스펙은 저정도 계산을 못할정도로 떨어지지 않습니다. 게임에서 계산 능력이 필요한건 사실 그래픽이 대부분이죠. 그래서 컴퓨터에도 CPU 말고 그래픽카드를 따로 다는거고요.
tjsrnjsdlf
16/12/28 01:50
수정 아이콘
아마도 이렇게 단순하게 만드는 이유는... 진지하게 일본 게임회사니 이런것도 일종의 야리코미랍시고 남겨둔게 아닌가 하는 우울한 생각을 하게되네요.
아이군
16/12/28 04:34
수정 아이콘
일부러.. 라기 보다는 나무위키에 나온 내용대로 휴대용 게임기는 시간을 1/60초 밖에 체크하지 못하기 때문일 겁니다.
Supervenience
16/12/28 01:21
수정 아이콘
의사 난수 생성 알고리즘 자체는 널리 알려진 것들 중에 골랐을 겁니다. 그렇기 때문에 사실 어떤 메커니즘으로 생성하고 있는지 리버싱하는게 생각만큼 그리 어렵진 않습니다.
게다가 그 회사 전작들에서 써오던 알고리즘을 그대로 차용했을 가능성이 높기 때문에 더더욱 쉽게 뚫리겠죠.
The Art of Computer Programming 책에서도 의사난수 생성, 그를 위해 알려진 알고리즘들과 그 난수성 품질 평가 등에 대해서 자세히 다룹니다. 참고해보시면 많은 도움 되실 것 같습니다.
래쉬가드
16/12/28 01:27
수정 아이콘
알고리즘 자체에 물리적으로 보안이 되는 난수를 도입하면 뚫기가 매우 어렵긴 합니다.
즉 그때그때 알고리즘에 따라 생성하는 난수를 그대로 사용하는게 아니라 방대한 난수를 한번 생성한 다음, 그걸 물리적으로 보관하고, 그걸 새로운 난수를 만드는 시드로 다시 사용하는거죠.
이렇게 되면 알고리즘을 아는것만으로는 뚫지 못합니다. 물리적인 난수표를 획득해야만 하니 그거 없이는 해독이 불가능에 가깝죠.

실제로 이건 우리나라 육군의 암호문 체계와 유사하기도 합니다...;
tjsrnjsdlf
16/12/28 01:30
수정 아이콘
사실 엄밀히 말하면 난수표를 완벽하게 알아낼 필요는 없습니다. 일부만 해석되도 충분하죠. 그것만으로도 확률을 10배이상 올릴 수 있습니다. 사실 지금 제가 하는 게임에서 유저들이 하는것도 난수표 내의 난수 해석이라기 보다 애초에 난수표 13개중 몇번째 난수표가 골라졌는지입니다.(물론 이것도 일종의 난수죠) 그것만 알아도 확률이 13배가 증가합니다. 증가 하고도 0.2%라는게 개그지만 원래 확률이 0.015%정도였다는걸 고려하면... 0.2%도 엄청난 증가죠.
래쉬가드
16/12/28 01:38
수정 아이콘
질문할게 몇개 있는데요
- 일단 13개의 난수표가 존재한다는 사실 자체는 제작사가 밝힌건가요 아니면 그것도 유저의 추측인가요?
- 13개의 난수표에서 내가 몇 번째 난수표에 해당한다는 사실은 어떻게 알수있나요?
- 몇 번째 난수표인지 알았다고 칩시다. 그럼 그걸 기반으로 획득확률을 높이는 방법이 뭔가요? 특정 시간에 특정 장소에서 어떤 몹을 잡는다 같은 건가요?
tjsrnjsdlf
16/12/28 01:42
수정 아이콘
1. 13개의 난수표가 존재한다는건 그냥 프로그램을 뜯어내서 알아내었습니다. 뜯어내기 전에는 유저들이 경험론적으로 12~16개로 예측했으나 실제론 13개였습니다.
2. 특정 퀘스트의 보상이 난수표에 따라 다릅니다. 이 보상은 난수표 내에서 어떤 난수인지와 무관하며, 오직 난수 표가 무엇인지와만 관련이 있습니다. 그래서 특정 퀘스트의 보상을 확인하면 됩니다.
3. 애초에 특정 옵션이 특정 난수표에서만 나옵니다. 물론 선호되는 옵션이 나올 확률은 0.2% 내외입니다.

+ 추가적으로 유저들이 최초로 난수표를 인식하게된건 지극히 경험론적인데, 앞서 언급한 0.2%의 극도로 희소한 옵션이 달린 장비가 아니라 3%내외로 비교적 흔한 장비중에서도 '특정 난수표에서만 나오고 특정 난수표에선 절대 안나오는' 장비가 있습니다. 이 때문에 어느날은 수십개를 먹었는데 어느날은 한개도 못먹더라 하는 기묘한 경험담(상식적으로 10개나오다가 30개 나올순 있어도 50개 나오다가 0개가 나오면 뭔가 이상하게 여기기 마련입니다.)들, 그리고 그런 상황에서 게임을 껐다가 키면 갑자기 또 나오더라 하는 경험담들이 쌓이면서 나왔습니다.
래쉬가드
16/12/28 02:00
수정 아이콘
자세한 정보 감사합니다. 이제 이해가 잘 되네요.
16/12/28 01:47
수정 아이콘
난수는 기본적으로 난수 생성 알고리즘을 보시면 아시겠지만 난수의 초기값이 정해지면 그다음은 정해진 패턴이됩니다.
정확히는 난수표라기보다는 난수 생성 공식에 관여하는 변수를 찾아내서 역으로 추정했을껍니다. 0.2%라고 하지만 사실 컴퓨터 랜덤은 결과가 정해져있으니까.. (주사위로 확률을 결정한다 치면 주사위 값이 나오는게 고정되어있으니 되고 안되고가 미리 결정되있음) 우리가 찾아낸 이런 환경 변수들을 이렇게 통제하면 확률이 높드라 정도죠..
게임에 대한 엄청난 열정으로 추정해낸 산물이죠.
래쉬가드
16/12/28 01:57
수정 아이콘
제가 말하던 부분과 좀 차이가 있어서 첨언하면, 그 정해진 패턴을 알기 힘들게 한단계를 더 두는 것이 바로 난수표라는 물건입니다.
말씀해주신 대로 난수 생성 알고리즘은 r = f(a,b,c) 과 같이 초기값 a, b, c 가 주어지면 일정한 패턴으로 난수 r 을 생성하는데요
a, b, c 를 현재 시간같은 뻔한 값으로 하면 당연히 금방 뚫려버리겠죠.
그래서 '난수표' 를 미리 생성해두고 이 난수표를 초기값으로 사용함으로써, 일반적인 방법으로는 추정할 수 없도록 하는겁니다.

그런데 지금 문제는 그 난수표를 13개정도 만들어놓고 돌려쓰고 있는데
유저들에게 어떤 난수표가 언제 선택되는지 뚫려버린 것이죠. 그리고 특정 난수표에 특정 아이템이 나온다는 것도 말이 안되는 디자인인 것 같습니다.
난수표가 뚫렸다기 보다는 1/13 확률의 난수표의 선택 여부가 뚫린건데 이정도로도 아이템 획득확률이 차이나는 게임디자인이라는게 좀 말이 안되는 개발같이 여겨지네요.
16/12/28 02:00
수정 아이콘
포켓몬 같은 경우도 야생포켓몬 특성 스텟 맞추기를 어떻게든 노가다로 찾아서 처음 랜덤 수치 몇개만 가져다 쓰는걸 생각해보면 저기서 말하는 아이템 획득확률 차이도 비슷할 가능성이 큽니다.
tjsrnjsdlf
16/12/28 02:01
수정 아이콘
정말로 동의합니다. 단순히 난수표가 뭘로 정해지든 아이템 획득 확률은 똑같게 만들기만 했어도 제가 쓸데없이 계산기 두드리고 있진 않을것 같네요.
Supervenience
16/12/28 03:00
수정 아이콘
리버싱 및 부채널 공격이 가능할 뿐만 아니라.. 육군암호 해독 시도와는 달리 입력 및 출력 데이터(암호로 치자면 평문 및 대응 암호문) 확보가 가능하고 이걸 원하는대로 반복 가능하기 때문에 넘사벽으로 쉽다고 봅니다.
육군암호집을 주기마다 교체하는 큰 이유 중 하나는 누출 염려 뿐만 아니라 유한한 난수표를 반복하여 사용하면 결국엔 심지어 암호문에 대응하는 평문 없이도 뚫어내는게 가능하기 때문이라 생각합니다
네임드선비
16/12/28 02:03
수정 아이콘
일본 게임들의 특징입니다. 파고들기(노가다) 요소를 이런식으로 게임에 집어 넣는거죠. 요즘은 모르겠는데 예전에는 게임잡지에 대놓고 타임테이블/아이템 표가 있었어요.
tjsrnjsdlf
16/12/28 02:05
수정 아이콘
우와 크크크 난수표를 대놓고 일부 공개한다는건 뭐 대놓고 이런 토나오는것까지 파고들라는거네요. 그런 류의 게임을 하고 있으면서도 대체 이런식의 파고들기는 왜만드는지 모르겠습니다. 헌팅액션게임인데 헌팅액션하면서 몬스터 패턴을 이해하게 유도하면 되지 대체 왜 게임 키는 시간이 몇번째 프레임인지를 따지게 만드는걸까요 ㅠㅠㅠ
16/12/28 02:06
수정 아이콘
뭐 공략집 없으면 대화가 안되는 게임도 있던 시절이 있었긴 합니다만.. 하하;
MirrorShield
16/12/28 12:58
수정 아이콘
대부분의 일반 유저는 난수조절 같은거 신경 안쓰고 겜해도 그냥 재미있게 즐길수 있고

야리코미 좋아하는 유저는 파고들면서 즐기는거죠.

양쪽을 모두 만족시킬수 있기 때문에 굳이 난수조절을 크게 터치하지 않는겁니다.
Rorschach
16/12/28 09:56
수정 아이콘
댓글에서 적은 내용들을 보니 의도적으로 그렇게 만든 것 같네요.

이게 의도적이 아니라 효율성을 따지는거라면 생각할 수 있는 가능성은 하나뿐인데,
난수가 필요한 상황에서 정해진 테이블을 불러오는거라서 랜덤함수를 실행시키지 않아도 되니 계산시간이라던가 cpu에 부하가 미세하게 덜 걸릴수는 있겠지만 이게 사실 무의미한 수준이거든요.

윗 분들께서 말씀하신대로 난수생성시에 시간을 1/100초 단위로만 넣어도 난수 자체는 유저입장에서는 "사실상" 완전한 난수와 같습니다.
겨울삼각형
16/12/28 12:00
수정 아이콘
간단하게.. 난수가 고정되는게임이 있고, 아닌게임이 있습니다.

전자의경우 세이브로드해도 조건만 같으면 결과가 동일하고(시행턴, 행동순서..)

후자의경우 세이브로드하면 결과가 바뀌지요.

둘의 차이는 개발자가 어떻게 구현하느냐입니다.


XCom의 경우도 기본적으로는 난수고정이라 빗나갈샷은 빗나갑니다만,
세컨드웨이브옵션으로 난수고정을 풀수있죠.
그리고 세로신..

윗댓글에도 나와있지만, 난수를 일부로 고정하는 게임들이 있습니다.
예전 드퀘9 의경우 게임기 켜고 몇초후에 상자를 열면 뭐가나오는지까지 분석글에 올라온적이 있지요..
동네형
16/12/28 18:25
수정 아이콘
글쑨분이 원하시는게 분포의 균형인지 난수인지를 모르겠네요.

동전던지기를 100번 해서 50/50 이 나온다고 완전한랜덤인거도 아닙니다.
1부터 13이 쓰여진 공을 상자에서 꺼낸다면 나올거는 완전힌 난수가 되고 분포는 정확하게 맞습니다.

동전던지기 앞면이 연속으로 열번 나오는것도 난수입니다. 확률싱 존재하는 확률이구요.
tjsrnjsdlf
16/12/28 18:58
수정 아이콘
그냥 단순하게 플레이어가 확률통제가 불가능한걸 바란것 같네요.
Supervenience
16/12/28 19:08
수정 아이콘
1부터 13이 쓰여진 공이 무한히 들어있는 상자에서 두 번 뽑는데 첫 번째 뽑은 공 번호가 1이라고 칩시다. 그런데 이 공이 1번이라면 그 다음 나오는 공이 무조건 2라는 것을 알 수 있다면 난수가 아닌거죠. 그리고 1번을 방금 뽑았다면 아무리 세이브/로드를 한다고 해도 항상 2만 나올테니 랜덤과는 거리가 멉니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
95554 [질문] 비틀즈 앨범 추천 받고 싶습니다 [9] 삭제됨3422 16/12/28 3422
95553 [질문] 핸드폰에 넣을 micro sd카드 관련 질문입니다 [10] 유나2817 16/12/28 2817
95552 [질문] 진료기록 열람 동의서를 써달라는데 [6] LA5376 16/12/28 5376
95551 [질문] PS4 미개봉인지 아닌지 구분하는 방법 있나요? [7] 회전목마10015 16/12/28 10015
95550 [질문] 차량 블랙박스 사용으로 인한 배터리 방전 질문입니다. [10] Kurzweil4083 16/12/28 4083
95549 [질문] 왕복100km, 경차 어떨까요? [18] 파랑파랑6091 16/12/28 6091
95548 [질문] 블러드본.언챠티드시리즈만 보고 플스사는건 좀 후회할까요? [10] 선동가4351 16/12/28 4351
95547 [질문] 현재 핸드폰은 아이폰이 답 인가요? [24] 카스트로폴리스4092 16/12/28 4092
95546 [질문] 윈10 타블렛으로 FM 2017이 실행 가능할까요? [3] 비스군3877 16/12/28 3877
95545 [질문] 한 통신사 인터넷을 쓰는 회사 내부에서 부서별 보안관련 질문 [4] 손나은x배주현2390 16/12/28 2390
95543 [질문] PC용 스피커 가성비 좋으면서 저렴한것 추천 좀 해주세요~! [4] Mindow4350 16/12/28 4350
95542 [질문] 런닝맨 2015,2016년 재미있었던 편 추천 부탁드립니다. [3] CaféMocha13082 16/12/28 13082
95541 [질문] 중고등학생들과 라라랜드를 봐도 재미있게 볼수있을까요? [16] 서현진4143 16/12/28 4143
95540 [질문] 중국 역사 관련 질문 [2] 몽랑2256 16/12/28 2256
95539 [질문] v20 소유하시면서 카카오톡 pc 쓰시는분 있나요? [3] 하나3939 16/12/28 3939
95538 [질문] [하스스톤] 복귀 질문입니다. [8] 전력질주2892 16/12/28 2892
95537 [질문] 역체탑은 누구인가요? [25] 예니치카4575 16/12/28 4575
95536 [질문] 엑셀함수 질문입니다 [5] 교자만두2658 16/12/28 2658
95535 [질문] 첫 회사 선택 관련 조언 부탁드립니다. [14] 삭제됨3481 16/12/28 3481
95534 [질문] 차량 뺑소니 사건처리 질문드립니다. [7] NSNL2820 16/12/28 2820
95533 [질문] 문화가 있는 날 영화관 사람 많은가요? [12] 누네띠네2347 16/12/28 2347
95532 [질문] [스타2] 스2잘알 님들께 질문드립니다. [11] 여우왕1992 16/12/28 1992
95531 [질문] 차 아주 초보가 기초적인 질문 드려요. [12] 레너블3161 16/12/28 3161
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로