3
\$\begingroup\$

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?

\$\endgroup\$
1
  • 1
    \$\begingroup\$ 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 ... \$\endgroup\$
    – user712092
    Commented Nov 10, 2011 at 21:10

2 Answers 2

4
\$\begingroup\$

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
\$\endgroup\$
7
  • \$\begingroup\$ +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. \$\endgroup\$ Commented Nov 10, 2011 at 19:39
  • \$\begingroup\$ 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. \$\endgroup\$ Commented Nov 10, 2011 at 21:21
  • 1
    \$\begingroup\$ Supreme commander 2 is fairly modern and has many saved replays online. \$\endgroup\$ Commented Nov 10, 2011 at 22:25
  • 1
    \$\begingroup\$ @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. \$\endgroup\$ Commented Nov 10, 2011 at 22:27
  • 1
    \$\begingroup\$ @cloudraven Starcraft2 does support quite some high-end settings. You can even have screen space ambient-occlusion enabled. \$\endgroup\$
    – bummzack
    Commented Nov 10, 2011 at 22:59
4
\$\begingroup\$

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.

\$\endgroup\$
0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .