| [ ComputerGamenia ] in KIDS 글 쓴 이(By): LinLing (링링) 날 짜 (Date): 2006년 5월 9일 화요일 오후 06시 23분 27초 제 목(Title): Re: 스타 리플레이를 볼 때, 되돌려 보기 � 아웃사이더님 말씀대로 중간중간에 checkpoint를 넣으면 거기까지 되돌아가서 순방향으로 재생을 재개하는 건 가능하겠죠. 질문의 요지가 "역방향 재생"이냐, 아니면 "좀 되돌아가서 순방향 재생을 재개"냐에 따라 답이 달라지겠습니다. 역방향 재생에 대해 생각해보면, 게임의 상태를 S = {S1, S2...}로 표현하고, 각 유저 이벤트를 발생순으로 나열한 total ordering을 E = (e1, e2...)으로 표현하면 "순방향 게임 진행 엔진"은 f:(S,E) -> (S,E)인 함수 f()로 표현될 수 있습니다. 이때 f()가 전단사함수라면 역함수가 존재하겠네요. 역함수의 존재가 증명가능하다고 해도 그걸 구현하는 건 또 별개의 얘기입니다. 프로그래밍적인 정답은 귀찮아서 안한다... 같은데요. 순방향 엔진 f() 만드는데도 죽을 고생을 했을텐데, 역방향 재생 지원하자고 역함수까지 구현할 리가 있겠습니까? 어떤 함수 f()를 구현했다고 해서, 그 역함수 f^{-1}()를 거저먹기로 구현할 수 있는 건 아니죠. 일반적으로는 애시당초 역함수가 존재하지 않거나, 혹 존재한다 하더라도 그걸 계산하기는 굉장히 어려운 경우가 더 많죠. 처음부터 "순방향 게임 엔진 f()"가 역함수를 계산하기 용이하게 설계되지 않은 이상 역함수를 구하기는 거의 불가능에 가깝지 않을까요? 시간의 가역성과는 무관한 얘기 같지만, 게임 엔진 f()란 것도 결국 실세계를 단순하게 모델링한 거니까 아주 약간은 서로 연관이 있을지도 모르겠네요. |