제목을 적고 보니 엄밀히 말하면 랜덤이 아닐지도 모르겠네요.
예를 들어 스타크를 할때 종족을 random으로 선택하면
항상 다른값이 나오는경우에는 '시간'을 쓸거같은데요.
닌텐도의 파이어엠블렘 트라키아776이라는 게임을 하면서
강제세이브/로드 를 하다가보니까.
캐릭터가 죽기 직전에 세이브해놨는데
아무리 강제로드해도 역시 죽고 마는것이었습니다..
그래서 혹시? 하고 그 옆에있던 캐릭터를 이동시키고, 전체적인 배치를 조금 다르게 하자
다른 결과가 나왔습니다.
트라키아776에서는 '시간'외에 캐릭터간의 배치등의 조건이 결과에 영향을 미치는게
확실하더군요.
'모든 조건이 같을 경우'에는 결국 시간으로 랜덤을 결정하면 되겠지만.
(비슷한 장르인 수퍼로봇대전은 역시 시간으로 랜덤이 결정되는걸로 기억합니다..)
파이어 엠블렘을 플레이하고 보니, 여러 게임에서 시간외에도
랜덤(혹은 그처럼 보이게 하는 조건이랄까)의 효과를 내게해주는
아이디어나 방법들이 쓰이고 있을거같은데..
어떤것들이 있나 궁금하네요.
질문을 다시 하자면.
시간을 쓰지않고서는 완벽히 똑같은 조건에서는 항상 같은일이 일어날수 밖에 없겠지만
어떤식으로 마치 랜덤인것처럼 보이게하는 결과를 창출하는 케이스에 대해서
더 알고싶네요.어떤게임에서 어떤식으로 쓰이고 있는지..구체적으로..
파이어엠블렘의 경우 캐릭터간의 배치등에 따라서 결과에 영향을 미치게 만든다 였다면요.
(강제세이브/로드를 하지않았다면 이걸 알아내지 못했을겁니다 ; )
따라서 꼭 시간이 아니더라도 계속 바뀌는 수치라면 어떤것이라도 랜덤값을 만든느 seed로 사용할 수 있지요.
벼라별 방법이 다 동원되고 있습니다만..
유명한걸로는 예전에 cpu틱값을 가지고 시드로 많이 사용했고요..
틱보다 정밀한 타이머가 없어서 였지요 .
요즘은 어떤 하드웨어든지 정밀한 타이머를 가지고 있기때문에
기획적으로 의도된 어떤요소를 넣으려는게 아니라면 대부분 하드웨어에서 제공하는
시간( 기준이 무엇이든 )을 시드로 쓰는것이 일반적입니다.