Author: woofer
Author Website:

Requirements: No addons required

Version: 1.12
Signed: Yes

Short description: The core idea for indiCam is to use a separate computer to record secondary gameplay footage around a player on a multiplayer server without the need to manually move the camera around.

Date: 2018-12-28 12:47

Comments: (0)


indiCam - independent camera


This is a script that I built to help me with recording Arma 3 cinematics.

The core idea for indiCam is to use a separate computer to record secondary gameplay footage around a player on a multiplayer server without the need to manually move the camera around.

That stems from me wanting a secondary perspective to mix with my regular first-person footage in a video editor.

No actual recording is done by the script. For that you will have to use screen recording software like OBS, nVidia Shadowplay or Radeon ReLive on the machine that is running indiCam.

So it turns the game into an automatic camera robot. Once it has been started, it will follow your selected unit around while automatically switching between camera angles depending on situation and visibility of the target. The target unit can be a player or AI as well as of any faction.

The camera will completely take up the screen. The computer running it will not be able to participate in regular gameplay.

indiCam is short for independent camera. It needs to run independently on a separate copy of Arma, preferably on another machine entirely.

Examples of usage:
Observe players on a multiplayer server (and record it) to get all the juicy details
Let AI duke it out in epic single player scenarios and use as screensaver, cause the Arma must go on.
Record your own gameplay in a multiplayer scenario from another client, since it’s never enough.
Record the trials and tribulations from the perspective of the opposing force so that you can watch that after the fact and bask in your own shock and awe.

Technical description
Definition: actor - the technical name for the current unit that the camera is tracking

Definition: scene - the complete set of variables that defines how the camera should behave at any given situation such as camera position, zoom, target object or things like that.

The script is built in a modular fashion and picks a scene type depending on the current situation. Each scene can be tweaked and optimized to suit by editing the code.

The main factor that the script takes into account is for vehicle type. If the actor is on foot - which is considered a vehicle type - the scenes will look different from when the actor is in a helicopter for example.

Depending on vehicle type, the script will then adjust for level of action around the target and speed/altitude of vehicles.

Currently you select an actor on the battlefield using a map selection functionality through the scroll wheel menu. If the actor dies, the script will automatically switch to the nearest unit of the same side. If it was a specific player that died and you want the camera to keep following that person around, you’ll have to manually assign that player as an actor again.

Each scene has an individual duration time defined. After that time has run out, the script will do a line of sight check and pick a new scene where the actor is visible from the camera position. Currently that means that the actor might not necessarily be in frame, but below or behind the camera. There is also a possibility of making the scene ignore the line of sight check so that it will be applied anyway.

Many scenes randomizes the camera position in space and zoom level. So each time they are applied they will not look exactly the same. This makes the footage more varied. It also helps with finding a camera position that works within a confined space like a house as well as open areas by placing those far away camera angles with a high level of zoom.

So creating new scenes of your own should be pretty straightforward, just copy a similar existing one and put it in the situation where you want it. In the scene selection script there is a code block that can force a scene to execute. This is where new scenes can be trimmed in properly before being put into the randomizing loop.

On the more advanced side of things, the script uses hidden proxy objects for camera placement and orientation. They’re called “game logic” in code, but maybe should have been called proxies instead. These proxies allow for producing movement of the camera that is decoupled from the unit it is tracking. It makes for much more smooth camera movement and tracking.

To install indiCam - independent camera you should use modfolders to keep it seperate from the official game content to prevent issues.
With Arma 3 you can use different ways to set up your modfolders to use custom content you have downloaded.
Please visit the Arma 3 Mod install instructions page for more information about using custom mods and addons in Arma 3.

Included files:

Media: has its own Youtube channel where we will cover the Community made releases.
Subscribe to the Youtube channel

Future plans:
Between work and family life I just cannot reliably commit much time to projects like these. That is the main reason it was released in it’s initial not-really-perfect state. If you want something changed, please report it but don’t expect too much in way of fixes or releases quickly. I’ll try to stay on top of things, but it never seems to work out entirely as I hoped.

With that said, I have a bucket full of ideas that I want to implement as soon(TM) as I can manage. Stuff like more types of camera movement with camera shake, panoramics, vehicle weapon cameras and so on. Then there is always the weapon cam that I wanted to make work.

The other way to have things changed, by the way, is to do it yourself. Feel free to modify the script, it was written with that purpose in mind. If you create any new scenes that are especially cool, consider posting them on the BI forum thread so that others can get those killer camera shots.

Credits & Thanks:
Many thanks to Reggaeman, Ripppe and Mad_Cheese that helped me test and come up with ideas as I built this from just being my own little helper to something that is polished enough for others to use.

Special thanks goes out to Reggaeman for condensing hours and hours of gameplay into shorter videos with the little gold nuggets where indiCam did something interesting or just plain weird. It has been incredibly helpful and I wouldn't have been able to spend that kind of time myself.

You’ll find his videos here:

1.2 published 2018-12-27
//ADDED- Automatic switching between players or AI depending on what the current actor is. Cycles intervals ON-10min/ON-5min/ON-2,5min/ON-1min/OFF
//ADDED- A GUI as a new main way for controlling the script. The keystrokes stays - to help with easy access over remote desktop during gameplay.
//TWEAKED- Key F1 will now start GUI during camera operation.
//ADDED- Added abilitiy to override scripted scene duration with a fixed timer in the GUI.
//ADDED- Added "Hold switching of scene" checkbox. It makes a sense to use in conjunction with "force next scene"

V1.11 - General changes and updates to smooth development workflow
//ADDED- Keypress: F9 - Press during running camera to get the current scene ID name printed on screen. Good for debug and bug reports.
//ADDED- Dev switch: Set {indiCam_devMode = true} to run everything uncompiled which will facilitate script and scene development on the fly.
//ADDED- Camera logic: randomLinear - Plan is to use for random camera panning movement or as camera shake.
//ADDED- New scene: nonStabilizedCam - Simulated unstable binocular movement using randomLinear logic on foot mobiles and vics
//FIXED- Some of the top-down scenes have been lowered somewhat and given more zoom (tip by Kremator and Tankbuster).
//ADDED- New Scene: shakyChasePerson - A hectic third person sene for high action level
//FIXED- The cameraman is now invisible to all unts and can't take damage while the camera is running (tip by Tankbuster)
//FIXED- Scene selection now differentiates between helicopters and planes
//FIXED- Scenes divided into separate files for each vehicle category to give better overview.
//ADDED- Possibility to state conditions in a scene to disqualify it. For example if a scene should only be used for a specific vehicle.
//FIXED- Scene will now switch directly upon actor mounting or dismounting a vehicle instead of waiting for the scene timer to run out
//FIXED- Situation check eventhandlers no longer gets stacked from previous actors, but transfers to each new actor
//ADDED- Serverkey added to release package

V1.1 - Some significant new functionality, thus the jump directly to V1.1
//ADDED- F3 to switch to another random unit that is of the same side and within a certain distance of the current actor.
//ADDED- A very rudimentary Manual camera mode. Access with F4. For a proper manual camera, see the gCam mod.
//FIXED- Map selection completely rewritten from scratch and works better now.
//ADDED- It's now possible to differentiate between units within some vehicles while selecting actor on the map.
//FIXED- Selecting a unit that is in a vehicle as actor no longer makes the actual vehicle the actor
//FIXED- Keypresses no longer stack between restarts of the camera
//FIXED- Camera no longer resets vision mode when restarted
//FIXED- Camera controls stay on the player between remoting with the "Advanced AI command" mod.
//FIXED- Some diary entries corrected
//ADDED- New scene: Medium and high altitude, medium far, front view with randomization

- first release

Forum topic:
- BI forums

Steam Workshop:
- Subscribe

Enable javascript to be able to download from Armaholic please!