ReMaic Studio 1.15 documentation
The most recent version of the documentation that you are now reading is
that on the ReMaic Studio web page. If you are reading a local copy,
and having problems, do check the current
version since some updates may have been made since the version that
you are reading. You can also check the latest
news on ReMaic and ReMaic Studio.
Contents
1. Introduction
1.1. What is ReMaic Studio?
ReMaic Studio is a useful tool for refilming demos of Quake game-play
and full-blown "Quake movies". Recordings that are shot "live" by an observer
on a multiplayer server tend to have somewhat jerky camera-work. ReMaic
Studio allows you to add the optimal camerawork to footage you have
already recorded.
The software combines the functionality of several existing refilming
utilities (ReMaic, AutoCam,
and some parts of DemTool),
and also adds the ability to position cameras and trigger areas that activate
them interactively within a Quake level. It is composed of two parts; a
Quake -game modification for setting up cameras, and a Win32 executable
for using this information on an existing *.DEM recording to generate
a screenplay for further tweaking and/or using this screenplay to refilm
the recording.
If you already use ReMaic, or ReMaic in combination with
AutoCam, you will want to switch to using ReMaic Studio.
It runs substantially faster, avoids the use of the intermediate *.LS
format, and provides an easier interface for specifying screenplay data
than having to work out numerical co-ordinates.
And if you have not used any refilming utilities for Quake before, it's
now time to start!
1.2. Availability
ReMaic Studio can be downloaded
as a ZIP file that contains:
-
This documentation, ReMStud.html.
-
Documentation for ReMaic, ReMaic.html, that includes a
description of screenplay syntax.
-
The ReMaic Studio executable, RemStud.exe.
-
The ReMaic Studio Quake mod, progs.dat.
-
A configuration file for this mod, autoexec.cfg.
-
A batch file for using this mod, rs.bat.
-
A set of example files:
-
e1m1.sav - positions of cameras for e1m1.bsp.
-
e1m1.log - the same camera position information in a format suitable
for ReMaic Studio (as a console log.)
-
e1m1.dem - an unfilmed speed run of the level by Yonatan Donner,
taken from Quake Done
Quicker.
-
example.dem - probably the first of the qdq runs, "Yonatan in the vaults
of Zin"
-
example.cam - a script for the run that demonstrates most of the features
of ReMStud
You can use these files along with the tutorial
below for an example of how to use ReMaic Studio.
1.3. Installation and running
Unzip ReMaic Studio into your main Quake directory. Run rs map
to place cameras in the level map.bsp, or enter the remstud
subdirectory and run ReMStud.exe to start refilming.
2. ReMaic Studio basics
When you use the Quake engine to record a demo, it notes down the important
events in the world surrounding you. These include the positions of other
entities, the sounds that are played, and other assorted effects. The demo
also notes the direction you were looking in. On playback, Quake remodels
the world from the list of events that it has and displays it from the
recorded perspective, using the game engine to render the scene just as
if you were there for the first time.
This means that we can change the perspective from which a demo is seen
quite easily, since the events themselves that make up the demo are not
very dependent on your perspective when you recorded it. (But note that
there is some dependency - only events within the same "visibility leaf"
as the original view are recorded.)
A good way of specifying new camerawork for an existing recording is
via a script of camera instructions that we call a screenplay. The original
ReMaic used this mechanism for refilming; ReMaic Studio reimplements
all the screenplay functionality of ReMaic. For details of possible
screenplay instructions, you should read the appropriate
section of the ReMaic documentation. ReMaic Studio is
fully compatible with ReMaic v4. However, there was a little addition
to the format in Remaic Studio 1.15 : in the eyes command you can now specify
the entity you want to switch to (use "eyes 1" to switch to player's eyes).
If you don't specify the entity, the default is 1. Note that ReMaic v4.0
doesn't support this command, so if you want to be able to refilm using
ReMaic, don't use this feature.
Rather than writing a screenplay by hand, you can also generate a screenplay
for a recording automatically from information about fixed cameras. When
you place cameras using ReMaic Studio, you define a trigger for
each camera. The trigger is a rectangular area within the level, and the
camera bound to a trigger is activated when the player (the center of player's
model) passes through the trigger. It's recommended to create large triggers
that cover the whole coridor to make sure the trigger doesn't "miss" the
player.
ReMaic Studio then refilms a demo by checking during each frame
if a player passed through one of the camera's triggers. If he did, the
associated camera is activated. If there is a direct line from previous
camera to the new one, the camera view will glide from its previous position
to the new one, otherwise it will cut instantaneously.
To get the best of both worlds, you can automatically generate a screenplay
or series of screenplay fragments as a first step to take advantage of
the convenience afforded by set cameras, and then alter these by hand,
adding extra effects and fine-tuning the details to take advantage of the
flexibility provided by screenplays.
3. How to use ReMaic Studio
3.1 Using the Quake -game mod
Run the batch file rs.bat with the name of the map on which you
wish to place cameras in order to start. ReMaic Studio will automatically
check if you have already placed cameras for that level, and if you did
- it will load them.
While you're in the camera positioning mode, the level may look a bit
strange; there are no doors or plats, and the light is turned on. This
is done to make it easier to navigate through the level.
While you are using the mod, the following new console commands are
available to you. Most are bound to keys.
-
putcamera (bound to ENTER key)
-
This places a camera at your exact location. The camera looks like a player's
head. One of the heads will be bleeding; this it the active camera you
are currently working on.
-
changecamera (bound to TAB key)
-
This selects the camera that is closest to you as the active camera.
-
delcamera (bound to BACKSPACE key)
-
This deletes the active camera.
-
gotocamera (bound to HOME key)
-
This moves you to the active camera's location and makes you look in the
direction of the trigger, so that you can see what the view from the active
camera looks like.
-
gotointermission
-
This moves you to the inermission spot. It's usefull when the level exit
is in sight from the intermission spot and you want the camera to get to
the intermission position while the player exitsamera (bound to
SPACE key)
-
puttrigger (bound to DEL. key)
-
This defines one corner of a trigger. A trigger is defined by two corners
of a box and appears as a rectangle full of white sparks. While defining
the second corner of a trigger, you see the trigger as brown sparks.
-
print (bound to P key)
-
This prints all the camera info into the console. The console log is used
to transmit this information to ReMaic Studio.
-
save name
-
Type this in the console to save the current state of cameras.
-
load name
-
Type this in the console to load a previously saved state of cameras.
3.2 Using the main RemStud.exe
RemStud.exe offers you a few dialogue boxes to enter some data:
-
Source file
-
This is the recording you want to refilm.
-
Script
-
This is the name of the screenplay script. Even if you want ReMaic Studio
to generate one for you, you must still give it a name (so, e.g. temp.cam
should be fine).
There are also some check boxes:
-
Generate script
-
If you want to make your life easy, check this box and then ReMaic Studio
will use camera positions you've prepared using Quake -game mod. In case
you didn't place cameras in the level you want to refilm, ReMStud will
use chasecam.
-
Play when done
-
If you want to see the results of your filming right after the filming
is done, check this box.
-
Print exact exit time
-
Check this box if you want ReMStud to print exact time of the intermission
start a few seconds before the intermission
-
Fade out at exit
-
Check this box if you want ReMStud to add a nice fade-to-black during the
intermission. [Similar to demtool -o.]
-
Player bleeding
-
If you want to add visualization of the pain the player suffers, check
this box, and you'll see a "trail" of blood behind the player according
to their health. [Similar to demtool -b.]
-
Remove centerprinted messages
-
If you want existing messages such as "1 more to go" to be removed from
the final movie, check this box. [Same as demtool -c.]
-
Remove usual messages
-
If you want existing messages such as "You got 10 shells" to be removed
from the final movie, check this box. [Same as demtool -m.]
-
Remove stufftext messages
-
If you want existing stufftext messages such as palette shifts to
be removed from the final movie, check this box.
-
Remove entities outside FOV
-
You can compress the demo by removing the entities that are outside player's
Field Of View. [Same as demtool -v. Warning: this feature is untested,
and probably has some errors. If you find any, please report them. In the
mean time you could still use DemTool to do the FOV compression
instead]
-
Change player colors
-
You can change player shirt and pants colors. The default is QdQ colors,
white shirt and red pants. [Same as demtool -u.]
-
Set FPS to
-
You can compress the demo by removing extra frames and reducing frame rate.
This feature does NOT increase FPS, it can be only decreased. [Same as
demtool -f.]
-
Chain another demo
-
If you want to show another demo just after the current demo ends, use
this option. [Same as demtool -p.]
-
Print credits at the beginning
-
You you want to show credits for a speedrun, use this option
3.2 Using the main RemStud.exe
RemStud.exe can be run as a console application, without loading
to the GUI.
If it's the use you want, simply run "RemStud Source.dem [script.cam]
Destination.dem"
In any case of error, RemStud will load the GUI and inform you.
4. Tutorial
Follow the instructions below to learn how to perform basic refilming tasks
with ReMaic Studio.
Let us suppose that you have a recording made on the e1m1 level, placed
in the ReMaic Studio subdirectory and named e1m1.dem, that
you wish to refilm.
-
Run rs e1m1, to start editing camera positions.
-
Use your normal Quake controls to move around in the world.
-
Press HOME key (or, enter gotocamera in the console) to find the
current camera.
-
Move away from this camera (after going to a camera, you'll be exactly
inside it), and try to fly around it.
-
Find the camera's trigger. Remember, the trigger looks like a force field
with white particles blinking inside it.
-
Relocate the trigger (using the DEL. key or puttrigger command)
until you are happy with it's position. Remember, the trigger should be
placed on player's route, in an area that the camera can see well, enclosing
the entire area the player will be in. Don't be afraid to make the trigger
a bit too big, it will be activated once the center of player's model will
touch it.
-
Fly around looking for other cameras. If you want to see a camera's trigger,
make that camera active (using the SPACE key or changecamera command.)
-
Keep updating cameras and triggers until you are happy with the cameras.
-
Press F10 to exit the game. (Do NOT use the menu to exit. The game modification
needs to write camera information to the console log before exiting.)
-
Run ReMStud.exe, setting the checkboxes as you desire, and press
the "GO" button.
-
Enjoy the movie. If you are unhappy with it, return to step 1. Alternatively,
you could edit the screenplay file that ReMaic Studio generated
for you by hand.
5. Version history
0.60 Internal testing, never released
1.00 First public release
1.10 *Added support for quake v.1.07 format changes
in clientinfo message
*Improved
error detecting system
*Added
command line options
+Fixed
"Exit time 0.0" on demos without intermission
+Fixed
a log-reading bug that caused Remaic Studio stop responding if console
log contained lines after "---END---"
1.15 +Fixed some problems with pan command
*Improved
eyes command
+Fixed
script printing, now the script has valid ends of lines
There will probably be newer versions of ReMaic Studio, so please
check the ReMaic homepage
from time to time. If there is a feature you think might be useful in ReMaic
Studio, or if you find bugs, please send your ideas / opinions / bug
reports to WarKosign.
(Anything sent to the main ReMaic e-mail concerning ReMaic
Studio will simply be forwarded on there, so you are better to write
directly to him.)
6. Credits
ReMaic Studio was created by Priborkin
Roman, but was based on many existing programs:
The splash screen was created by Evan Wagner for original ReMaic.
This documentation was written by Priborkin Roman & Anthony Bailey.
And of course nothing would have happened without Quake, by id Software.
(Quake is a registered trademark of id Software.)