# Fighter Factory Studio - Reference Documentation

For problems and bug report, go to VirtuallTek Game Studio web site. For doubts related to some specific engine, go to their own web pages or community forums.

# Backgrounds

The Backgrounds editor is used to edit the background elements of current project.

See Backgrounds menu for more details.

## Controls

All controls available to the backgrounds editor are listed below:

#### Background selection scroll bar

Defines the current background element to work on.

#### Name field

Defines the name of the current background element.

#### Type

Defines the type of the current background element. Available options are:

Null: null background.

Normal: single sprite background.

Animation: animated background.

Parallax: animated or single sprite background to be perspective projected or pre-projected. Besides perspective projection, this has the effect of the bottom moving faster than the top, or the opposite, as the camera moves.

Dummy: non graphical background. Can be used in combination with Ground link to move players Ground level.

#### Sprite Group field

Defines the group number of the sprite to be used in the current background element. Note: only valid for Normal or Parallax.

#### Sprite Index field

Defines the index number of the sprite to be used in the current background element. Note: only valid for Normal or Parallax.

#### Animation field

Defines the animation number to be used in the current background element. Note: only valid for Animation or Parallax (M.U.G.E.N. 1.1 only).

#### Masked

Enable alpha channel, otherwise sprite will be rendered fully opaque. Note: Animated backgrounds always have this enabled.

#### Start X field

Defines the starting position of the background element in the x axis.

#### Start Y field

Defines the starting position of the background element in the y axis.

#### Delta X field

Defines how much the background element will move to follow the camera movement in the x axis.

#### Delta Y field

Defines how much the background element will move to follow the camera movement in the y axis.

#### Velocity X field

Defines the lifetime velocity of the background element in the x axis. Note: this can't be changed using VelSet or VelAdd controllers (they stack on top of this).

#### Velocity Y field

Defines the lifetime velocity of the background element in the y axis. Note: this can't be changed using VelSet or VelAdd controllers (they stack on top of this).

#### ID field

Defines the ID of the background element. This will be used to make controllers of the same ID affects this element.

#### Layer field

Defines the rendering layer of the background element. For Stages and Storyboard there's only 0 (background) and 1 (foreground). Motifs have also 2 (On top of foreground).

#### Link to previous

Make the position of this background element as an offset to the previous element.

#### Tile X field

Defines the number of times this background element will be repeated in the x axis. 0 = one time, 1 or negative = infinite, 2 or more makes it repeats this number of times forward.

#### Tile Y field

Defines the number of times this background element will be repeated in the y axis. 0 = one time, 1 or negative = infinite, 2 or more makes it repeats this number of times forward.

#### Tile Spacing X field

Defines the space between each tile in the x axis.

#### Tile Spacing Y field

Defines the space between each tile in the y axis.

#### Transparency

Defines how this background element will blended to the framebuffer color. Available options are:

None: no blending, the sprite fully raplaces previous color.

Default: inherits the blending mode of the animation, or none if isn't an animated type.

Addition: additive blending. Source and Dest defines the intensity of the effect.

Addition 50%: additive blending on a 50% darkened destination. Source and Dest are set to 256, 128 respectively. This is a shortcut to these Source and Dest settings on M.U.G.E.N. 1.x. Previous versions doesn't support arbitrary source/dest, so this is the only option besides full additive blending.

Subtraction: reverse subtraction blending. This has a similar effect to color inversion.

#### Sounce field

Defines the transparency of the sprite. 0 means fully transparent, 256 fully visible.Note: unavailable on M.U.G.E.N. versions older than 1.x.

#### Dest field

Defines how much dark the destination color will be before additive blending. 0 means black, 256 original color.Note: unavailable on M.U.G.E.N. versions older than 1.x. Setting this to 0 and Source to 256 is the same as no blending, but loosing performance, so avoid this.

#### Parallax mode

Defines the mode of the parallax effect to be applied. Options are:

Width (centered): applies perspective projection to the sprite, based on the specified width for top and bottom of the sprite. The x axis is changed to half width, so centered.

Width (x axis aligned): applies perspective projection to the sprite, based on the specified width for top and bottom of the sprite. The x axis remains intact.

X Scale (pre-projected): Intended for already perspective projected sprites, so only the top/bottom movement is applied.Note: Animated Parallax doesn't support X Scale mode.

#### Top width field

Defines the top width of the sprite. Mismatching top and bottom widths creates a perspective effect on the sprite.Note: only available for Width parallax modes.

#### Bottom width field

Defines the bottom width of the sprite. Mismatching top and bottom widths creates a perspective effect on the sprite.Note: only available for Width parallax modes.

#### Scale start X field

Defines the starting scale of the background element on the x axis.Note: only available on M.U.G.E.N. 1.1.

#### Scale start Y field

Defines the starting scale of the background element on the y axis.Note: only available on M.U.G.E.N. 1.1.

#### Scale delta X field

Defines how much the scale changes as camera moves on the x axis.Note: only available on M.U.G.E.N. 1.1.

#### Scale delta Y field

Defines how much the scale changes as camera moves on the y axis.Note: only available on M.U.G.E.N. 1.1.

#### Scale start Y field

Defines the starting scale of the background element on the y axis, in percentage, so 100 = 1X = original size.Note: on M.U.G.E.N. 1.1 this functionality is superseded by scale start/delta parameters.

#### Scale delta Y field

Defines how much the scale changes as camera moves on the y axis.Note: on M.U.G.E.N. 1.1 this functionality is superseded by scale start/delta parameters.

#### Window delta X field

Defines how much the clipping window moves to follow the camera movement on the x axis.

#### Window delta Y field

Defines how much the clipping window moves to follow the camera movement on the y axis.

#### Window mode

Defines the mode of the clipping window (this is the maximum area the sprite will be drawed into). Options are:

Full screen (disabled): sprite is rendered without any restriction.

Top left (normal): the area coordinates are relative to the top-left corner of the screen.

Top center (mask): the area coordinates are relative to the top-center of the screen.Note: only available on M.U.G.E.N. 1.1.

#### Window left field

Defines the left bounds of window clipping area.

#### Window top field

Defines the top bounds of window clipping area.

#### Window right field

Defines the right bounds of window clipping area.

#### Window bottom field

Defines the bottom bounds of window clipping area.

#### Sine (x/y axis)

Creates a sine-wave effect on the background element position, in their respective axis. It's calculated as follows: Sin((Period + Offset) / CurrentPeriod * PI * 2) * Amplitude

#### Sine amplitude field

Defines the amplitude of the sine effect.

#### Sine period field

Defines the period of the sine effect.

#### Sine offset field

Defines the offset of the sine effect.

## Controls (Controllers panel)

All controls available to the background controllers editor are listed below:

#### Controller definition selection scroll bar

Defines the current background controller definition to work on.

#### Controller definition Name field

Defines the name of the current controller definition.

#### Controller definition Loop time field

Defines when the controller's internal time will be reset. Use a negative number to never loop.

#### Controller definition ID fields

Defines up to 10 background element IDs that will be affected by this controller definition. You must start from the first field. As you change from -1 (invalid) the next ones will be enabled for use.

#### Controller selection scroll bar

Defines the current background controller to work on.

#### Controller Name field

Defines the name of the current controller.

#### Controller Type

Defines the type of the current background element. Available options are:

Null: does nothing.

Enable: defines if the affected background elements are enabled or disabled. Use the Enabled checkbox to set this. An enabled background element is rendered and its animation updated.

Visible: defines if the affected background elements are visible or hidden. Use the Enabled checkbox to set this. A visible background element is rendered and its animation updated even while hidden.

Animation: changes the animation of the affected background elements.

Set position: resets the position of the affected background elements to this values (X/Y). Note: This doesn't change start position neither affects the position incremented by background's lifetime velocity.

Add position: increments the position of the affected background elements by these values (X/Y).

Set velocity: resets the additional velocity of the affected background elements to this values (X/Y). Note: This doesn't affects the background's lifetime velocity.

Add velocity: imcrements the additional velocity of the affected background elements by these values (X/Y). Note: This doesn't affects the background's lifetime velocity.

Sine (x axis): changes the sine effect of the affected background elements on the x axis. Use Amplitude, Period and Offset fields to define the new values.

Sine (y axis): changes the sine effect of the affected background elements on the y axis. Use Amplitude, Period and Offset fields to define the new values.

#### Enabled checkbox

Used by the Enabled and Visible controllers. This turn on or off the effects of that controllers.

#### Animation field

Defines the animation to be set by the Animation controller.

#### X field

Defines the x value to be used by Set position, Add position, Set velocity and Add velocity controllers. The checkbox next to it turns on or off the use of this value.

#### Y field

Defines the y value to be used by Set position, Add position, Set velocity and Add velocity controllers. The checkbox next to it turns on or off the use of this value.

#### Amplitude field

Defines the amplitude of the sine effect to be set by the Sine controllers.

#### Period field

Defines the period of the sine effect to be set by the Sine controllers.

#### Offset field

Defines the offset of the sine effect to be set by the Sine controllers.

#### Time Start field

Defines the starting time this controller starts being executed.

#### Time End field

Defines the last time this controller is executed (stops on next game tick).Note: this defaults to the start time.

#### Time Loop field

Defines when the controller's internal time will be reset. Use a negative number to never loop.Note: This defaults to the controller definition loop time.

## Controls (Stage panel)

All controls available to the stage editor are listed below:

#### Bounds left field

Defines the left limit of camera movement.

#### Bounds top field

Defines the top limit of camera movement.

#### Bounds right field

Defines the right limit of camera movement.

#### Bounds bottom field

Defines the bottom limit of camera movement.

#### Start X field

Defines the starting position of the camera in the x axis, relative to the center of the screen.

#### Start Y field

Defines the starting position of the camera in the y axis, relative to the top of the screen.

#### Cut low field

Defines the maximum amount of pixels that can be cut at the top to fit the stage on taller aspect ratios. Note: M.U.G.E.N. 1.x only.

#### Cut high field

Defines the maximum amount of pixels that can be cut at the bottom to fit the stage on taller aspect ratios. Note: M.U.G.E.N. 1.x only.

#### Side tension field

Defines the horizontal distance a player can get from the left and right edges before the camera starts to follow.

#### Floor tension field

Defines the the minimum vertical distance the highest player has to be from the floor (given as a positive value), before the camera starts to move up to follow him. This parameter is used only with the Vertical Follow camera scrolling mode. This parameter is ignored if High Tension and Low Tension are used.

#### Low tension field

Defines the vertical distance a player can get from the bottom edge before the camera starts to follow. Note: M.U.G.E.N. 1.1 only. If used, Vertical Follow and Floor Tension will be ignored.

#### High tension field

Defines the vertical distance a player can get from the top edge before the camera starts to follow. Note: M.U.G.E.N. 1.1 only. If used, Vertical Follow and Floor Tension will be ignored.

#### Overdraw left field

Defines the number of pixels beyond the left of the screen that may be drawn. Overdraw specifies the how much can be seen during an EnvShake. Overdraw pixels will also be used when the screen aspect is taller than the stage aspect.. Note: M.U.G.E.N. 1.x only.

#### Overdraw right field

Defines the number of pixels beyond the right of the screen that may be drawn. Overdraw specifies the how much can be seen during an EnvShake. Overdraw pixels will also be used when the screen aspect is taller than the stage aspect. Note: M.U.G.E.N. 1.x only.

#### Overdraw top field

Defines the number of pixels beyond the bottom of the screen that may be drawn. Overdraw specifies the how much can be seen during an EnvShake. Overdraw pixels will also be used when the screen aspect is taller than the stage aspect. Note: M.U.G.E.N. 1.x only.

#### Overdraw bottom field

Defines the number of pixels beyond the top of the screen that may be drawn. Overdraw specifies the how much can be seen during an EnvShake. Overdraw pixels will also be used when the screen aspect is taller than the stage aspect. Note: M.U.G.E.N. 1.x only.

#### Vertical follow field

This value affects the vertical movement of the camera to follow the highest player. It should be set between 0 and 1. A value of 0 means the camera does not move up at all. A higher value makes the camera track the higher player closer. A value of 1 makes the camera track the player as close as possible.

#### P1 Facing field

Defines the facing direction of Player 1. 1 means right, -1 left.

#### P1 Start X field

Defines the starting position of the Player 1 in the x axis, relative to the center of the screen.

#### P1 Start Y field

Defines the starting position of the Player 1 in the y axis, relative to the Ground position.

#### P2 Facing field

Defines the facing direction of Player 2. 1 means right, -1 left.

#### P2 Start X field

Defines the starting position of the Player 2 in the x axis, relative to the center of the screen.

#### P2 Start Y field

Defines the starting position of the Player 2 in the y axis, relative to the Ground position.

#### Zoom Start field

Defines the starting zoom level. Note: M.U.G.E.N. 1.1 only.

#### Zoom In field

Defines the maximum zoom level. Note: M.U.G.E.N. 1.1 only.

#### Zoom Out field

Defines the minimum zoom level. Note: M.U.G.E.N. 1.1 only.

#### Bound Left field

Sets the minimum allowable distance between players and the left edge of the screen. Must be positive.

#### Bound Right field

Sets the minimum allowable distance between players and the right edge of the screen. Must be positive.

#### Local coord Width field

Defines the width of the coordinate space of the stage. Defaults to 320. Note: M.U.G.E.N. 1.x only.

#### Local coord Height field

Defines the height of the coordinate space of the stage. Defaults to 320. Note: M.U.G.E.N. 1.x only.

#### Scale X field

Defines the horizontal scale of the stage. Note: M.U.G.E.N. 1.x only.

#### Scale Y field

Defines the vertical scale of the stage. Note: M.U.G.E.N. 1.x only.

#### High resolution

Sets the stage scale to 0.5 on both axis. Note: Use scale instead on M.U.G.E.N. 1.x.

#### Auto turn

Enable this to make characters automatically turn to face each other.

#### Reset BG

Enable this to reset background elements between rounds.

#### Ground position field

Defines the vertical distance of the ground level from the top of the screen, given in pixels.

#### Ground link field

Links the Ground position value to the y-position of a background element with the specified ID number.

## Workspace

The Backgrounds editor is used to manipulate the background elements of the project. The graphic workspace contains the timeline, rulers, guide lines, screen size delimiter, all background elements at same time and two crosshairs (on Stages only, to show P1/P2 starting position). Some of these can be enabled/disabled in the View menu.

You can change the starting position of the background by dragging it to the desirable position. The guide lines can be placed in the same way. All other points will move the entire screen (or if you hold the Ctrl key).

The timeline can be used to manually set the current time and see how background elements are changing/moving based on their properties and the execution of background controllers.

In stopped state, there's a screen size delimiter and no content is clipped to the screen size, so you can freely position elements outside of the screen area. Otherwise, the screen is clipped just like in-engine for final simulation and you can move the camera limited to stage bounds. Use arrow keys to move, Hold Shift to move 2px and Alt to move 10px..

The zoom can be changed using the mouse wheel.