| [ ComputerGamenia ] in KIDS 글 쓴 이(By): striker (얼라맨) 날 짜 (Date): 2006년 5월 10일 수요일 오후 12시 02분 35초 제 목(Title): Re: 스타 리플레이를 볼 때, 되돌려 보기 � 답변주신 분들 감사합니다. 생각하고 있는 주제가 많이 정리가 되었습니다. "상태 저장을 통한 되돌아가서 순방향 재생"은 가능하겠네요. (물론 모듈을 하나 더 만들어야 한다는, 귀찮은 일이 발생지만요. ^^) 하지만 아직 역방향 재생에 관한 의문점이 남아있습니다. ^^; LingLing님의 답변 중에, >역방향 재생에 대해 생각해보면, >게임의 상태를 S = {S1, S2...}로 표현하고, 각 유저 이벤트를 발생순으로 나열한 >total ordering을 E = (e1, e2...)으로 표현하면 "순방향 게임 진행 엔진"은 >f:(S,E) -> (S,E)인 함수 f()로 표현될 수 있습니다. >이때 f()가 전단사함수라면 역함수가 존재하겠네요. 이 부분은 귀차니즘의 영역을 넘어섰다고 고려됩니다. 한 유닛의 상태로 미세하게(microscopic)하게 접근을 해보면, 예를 드신 것과 비슷하게 처럼 g:domain(S,E) -> range(S)인 함수 g()를 가정할 수 있습니다. range영역에서 E를 뺀것은 어느 순간부터는 이 유닛에 이벤트가 없다는 뜻입니다. g나 f는 전단사(one to one)함수가 아닙니다. 가령 (5, 5)지점에 두 질럿있는 상태를 가정할 수 있습니다. 이 질럿들이 (5, 5)오게 된 경로는 같을 수도 있고, 다를 수도 있습니다. 역방향 재생의 관점에서 보면, (5, 5)에 있다가 이제 두 질럿이 서로의 갈길을 가야 하는데, 그 시점의 게임의 상태(S)로만은 두 질럿의 경로를 알 수 없습니다. 역방향 재생시 시간순서를 고려해보면 이 모든 것에 답을 할 수 없는시각이 분명히 있습니다. 한 상태에 같이 있더라도 그 상태는 수많은 과거중 어느 과거에서 어느 경로를 통해 왔는 지 모른다는 것입니다. 유저 이벤트가 아닌 신의 이벤트를 가정하던지, 아니면 더 앞선 시각의 두 질럿 에 대한 정보를 알아서 대입을 하던지 해야 하는데, 첫번째의 경우는 논외이고, 두번째의 경우는 꼬리에 꼬리를 물고 즉, 전체관점(macroscopic)에서 보면, 두 질럿만이 아닌 모든 유닛들를 고려해보면, 게임의 시작점까지 거슬러 올라가 야 하는 상황이 됩니다. 제 결론은 LingLing님 께서도 잠깐 언급하셨듯이 f나 g는 전단사 함수가 아닙니다. 역방향 재생을 하기 위해서는 과거의 모든 게임의 상태와 이벤트(S, E)가 정보(information, degrees of freedom)가 기억되고 참조가능해야 된다는 결론입니다. 무리한 확장일지 모르겠지만, 만약 시간이 거꾸로 갈 수 있다면 당연히 스타리플레이를 보는 사람앞의 리플레이 장면이 거꾸로 갈 수 있어야 합니다. 하지만 역방향 재생이 되지 않는다면, 시간이 거꾸로 갈 수 없음의 반증이 됩니다. 스타의 경우 어떻게든 역방향 재생이 가능해 보이긴 합니다. 그렇지만 고려해야할 개체가 증가하고 자유도가 증가하게 되면 점점 확률이 작아지네요. 결국엔 어떤 게임에서는 불가능하게 될 것입니다. 또한 문제는 많은 정보를 누가 기억하고 있을 지도 의문이구요. 이상 제 생각이었구요, 다른 의견있으면 꼬옥 답변주시기를 부탁드립니다. |