Reagent X's

ThinkTanks Website

Movie info

Basic Setup

I had to experiment quite a bit to get it right. Here's what didn't work first. I tried SnapZpro, which has a free demo (it is kind of like Fraps for the PC). These programs capture anything you can see on your screen as a video file. The problem is, if you try to capture a game while you are playing, your CPU will bog down to the point of total ridiculousness (yes even with a G5). Talk about lag! This is actually very intensive because it is writing to the hard drive at the same time as you are playing.

The -jSave and -jPlay commands are truly an amazing feature of the game. It amazingly captures all the game information in a text file that is really small. You can capture an entire 15 minute game in only a ~10 MB file! Then you can play it back from within the game engine to view a high quality capture of your game. I have had a fair amount of hard crashes though when doing this (mostly during playback). Part of the problem may be that I like to play in fullscreen mode at fairly high resolution. It probably works better in a windowed mode. Would be interested to hear how this works for others. I have also tried sharing these text files with other computers, but would get crashes all the time. I think the screen resolutions have to be identical for both record and playback. Another weird thing about this is that the playback speed can be like 1.5x normal, which is OK, but not what I wanted.

The next issue as OM pointed out is importing that video into a video editing program. When I used SnapZpro to capture the -jPlay movie, it again bogged down the CPU so that the video speed I got was way too slow. Here your CPU is re-creating the gameplay in Torque and capturing a firehose of video capture at the same time.

More info on using -jSave and -jPlay

The -jSave function is a way to essentially capture a record of your TT session. It stores all the info as a text file that can be played back through the TT game engine. The good thing is that the text files are reasonably small compared to a real video capture.

Before people would get crashes when they tried to share these files. Napalm and I were able to share them successfully when we kept our game settings identical and used similar machines (both Mac G4's). This is a significant breakthrough! Part of the success of this is keeping the settings the same.


Here are the settings we would suggest (set in your TT options window):
Resolution: 800 x 600
Details: High, 32 bit
Mode: Fullscreen

Do not toggle between windowed mode and fullscreen mode when recording.

The downside: there is now way to quickly turn recording on and off. Thus you have to start TT (via the Terminal command) to begin recording and quit TT to stop recording. Therefore, this is probably best suited for League games where you know the exact start and end time of a good game. At this point files recorded this way on a G4 will also play back on a G5 without crashing, BUT playback speeds are way too fast! Similarly, playback speed is way too slow for files captured on a G5 and played back on a G4. More research is underway!

One additional finding: When recording with jSave, avoid leaving the game and re-entering a server. This somehow breaks the synchronization and from that point on you won't capture anything. You need to quit and start recording to another file if you have to leave and re-join another server.

Mac Directions

  1. This assumes your TT application is located in your main Applications folder.
  2. Open the Terminal application.
  3. Type in the following: /Applications/ThinkTanks/ThinkTanks.app/Contents/MacOS/ThinkTanks\ OSX -jsave TTmovie1.txt
  4. Press return!
  5. ThinkTanks will automatically open and you can start playing.
  6. To stop recording, you must quit TT.
  7. To play it back, open up Terminal and type: /Applications/ThinkTanks/ThinkTanks.app/Contents/MacOS/ThinkTanks\ OSX -jplay TTmovie1.txt
  8. The TTmovie1.txt file will be located in your Contents/Resources folder (same place as the main.cs file and any sceenshots you take).
  9. This generates about a 150kb file per minute of TT.

PC Directions

  1. Go to the think tanks directory. I think it should be C:Program Files/BraveTree/ThinkTanks/dedicated.
  2. Open any of the batch files and replace the contents with
    cd..
    ThinkTanks -jsave TTmovie1.txt
  3. Then select "Save as..." and name this file something like -jsave.bat.
  4. Right click and open the file you just saved (-jsave.bat)
  5. That's it.
    It will launch TT and record the action as you play, from your perspective.
    There will be a file in the C:Program Files/BraveTree/ThinkTanks directory called TTmovie1.txt (or whatever you named it).

Example Files

Short 30 second clip recorded on a Mac G4 under the exact settings above: FS_G4_test.txt.zip (60 Kb).

Give this a try and see if it works for you!

Highlight Reel Project

Napalm and I would like to see more folks to record League games (especially using the Observer script) so that we can collect the best plays from the season and make a NFL-style Highlight Reel DVD!

Well then I got my new video card (an ATI Radeon 9800) - which by the way solved the older problems I was having with game freezes. This card I noticed one day has an S-video out. This is when I got the idea to just hook up my digital camcorder (Sony miniDV) to the S-video port. This way I could control when to turn capture on and off. And I could capture without bogging down the computer in any way (so I can still have fun while I play). The only issue here is that you are in essence hooking up a 2nd monitor, and in order for it to see exactly what you see on your screen you have to put it in "mirroring" mode. This means you have to lower your screen resolution to normal video, which is 800 x 600. This is still very playable, even though my preferred TT resolution is 1024 x 640 (I have an Apple 20" flat screen! XD). The only disadvantage is that I can't toggle to windowed mode with this set-up, which is only an issue if I am hosting (to be able to boot morons for example). For the audio I had to get a splitter cable so I could send sound into my camera as well as out to my regular computer speakers.

So with this set-up, I can capture an hour of footage on a miniDV tape. Then when the tape is full I imported it into iMovie where I had to review all the footage to find the best plays. There were several tapes where I knew my playing sucked or where I didn't witness any good stuff so I didn't bother importing them. IMovie is fantastic and easy to trim the clips down to short snippets, add titles, transitions, effects, soundtracks, etc. (BTW this is one of the best reasons to get a Mac, since iMovie can bring in photos from iPhoto and music from iTunes). The rest is up to your imagination!

The final step is compressing the movie down to a size that is viewable on the web. Here I had to muck around a lot. Having a G5 for this really helps. Compression is achieved using iMovie's "Share..." command in the File menu. Blind Cide and I have experimented with several compression codecs and settings. Our best conditions at the moment use the On2 VP3 codec which is a Quicktime plug-in. Here are the rest of the compression settings:

UPDATE 5/28/05: Now that Quicktime 7 has come out, I have been experimenting with the H.264 compression codec. I used the following compression settings: H.264 (low quality, 15 fps, key frame 90), size 600 x 450. I found this to be better than a similar sized file with medium quality and a smaller window size. But, it seems H.264 leaves the image a bit washed out (lower constrast and lower saturation). The wierd thing is that the file size gets about 40 to 50% bigger if I correct the contrast and saturation in the filter settings. So I left them at the smaller size. Too bad. But at least it is now reasonable to post an entire match. A 45-minute match compressed to 111 MB, which comes out to about 2.5 MB/min.

Filming Games as an Observer

Over in the PsychoScrum League we have been discussing the feasibility of filming key league games to have a permanent record of some of the historical (and oftent hysterical) action that takes place.

I have a set-up that allows me to film the games on miniDV via my S-Video out port on my graphics card. The good thing about this is that it allows me to record games without introducing any lag.

Since, the observer has to be a tank on the field of play, this could confuse the radar to have an extra blue or green dot. But, thanks to Sluggy's admin tools, I have the ability to make myself RED so as to not confuse the radar. That's cool, but leaves the final challenge: can the filmer to stay far enough away from the action so as not to interfere with the game play and yet be close enough to effectively capture the live drama that is taking place.

Here is an example of such an experiment. This can work well and is a good option. But there is always a risk of the Observer interfering with the game action.

Then, in a MAJOR technical step forward, MonkeeMan wrote an Observer script! This is an absolutley amazing innovation that allowed me to leave my tank "body" behind and float around in space anywhere above the action! There is no observer radar dot, and the positioning of the oberver does not interfere with the game play! You can zoom in close, pan along a runner, or step back and see team positioning develop and watch strategies unfold. Here is an example of such a film from the HeliCam!

With the success of this experiment, we went ahead and filmed the PsychoScrum Season 7 Team Scrum Championships game!

The filming came out to be truly awesome!

I can see future possibilities: multiple cameras to get different angles, voice-over announcers, music soundtrack... Woot!!


Get your copy of the Observer script here!