Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I am doing a study in modern games graphics, and as part of the study it would be really helpful to be able to replay a sequence in the game multiple times. For example, recording a series of inputs to get the exact video sequences, but being able to replay them in different computers or different graphics configurations.

I want to do this study with a couple of existing commercial games with sophisticated graphics (something released in the last 1 or 2 years if possible). I was thinking on hooking with detours or something similar, calls to time() or srand() to fix all pseudo-number generated results. It would be ideal to have a general solution that works with any game. Since admittedly that is pretty ambitious, I would be happy just having 2 or 3 games in which it is known that I can get deterministic output for a given input.

In the end, I will be comparing video output, so I want to avoid noise generated by differences on each execution caused by non-determinism. Any sugestions?

share|improve this question
1  
Doom, Wolf3D, Quake has it. They also come with source code. But they are not 1-2 years old. :) There are action replays in Need For Speed (in few I played You could replay any part of record like a VCR) and in smaller way in beat-them-ups ... –  user712092 Nov 10 '11 at 21:10

2 Answers 2

up vote 4 down vote accepted

Some games let you record "demos". These demos are essentially recordings of everything that happened in the game and can be re-watched exactly as it was. Here are a couple games that I know do this:

  • Starcraft II
  • Counter-Strike 1.6 & Source
share|improve this answer
    
+1 I think this is the solution. Just find a game that allows you to record your match and play it back (not as a video, but actually in game). It's probably the easiest way to do it. –  Richard Marskell - Drackir Nov 10 '11 at 19:39
    
Agreed. If it was easy to achieve deterministic gameplay in a game, every game would have it (because it's fantastic for debugging purposes, and every developer wants that!) If you want deterministic gameplay, you should really be focusing on the games which have done the hard work to provide it, because it's not going to be easy to modify an existing game to gain that feature. –  Trevor Powell Nov 10 '11 at 21:21
1  
Supreme commander 2 is fairly modern and has many saved replays online. –  George Duckett Nov 10 '11 at 22:25
1  
@cloudraven Unreal Engine supports it, here's a list of games you may like: unrealengine.com/showcase . Googling "Record Demo in Your Favourite Game" seems to come up with some reasonable results. –  John McDonald Nov 10 '11 at 22:27
1  
@cloudraven Starcraft2 does support quite some high-end settings. You can even have screen space ambient-occlusion enabled. –  bummzack Nov 10 '11 at 22:59

Noel Llopis has some articles in Game Developer Magazine a few years ago about implementing deterministic replay; they're reprinted here and here.

tl;dr version: record all your input and be able to play it back, avoid real randomness (pseudo-randomness is fine for most cases), and implement determinism testing early so that you know when you break it.

share|improve this answer
    
+1 Good article, thanks. –  Nick Wiggill Nov 11 '11 at 13:36

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.