My roles

Level scripting
Level Design

Team make-up

2 Designers

Programs used

Arma III Eden Editor
IntelliJ IDEA

Production period

27th November 2019 – Ongoing

What is this Scenario?

“An Englishman in New-York” is an urban adventure scenario for Arma 3. You play as a poor villager who gets himself involved with some nasty people to survive.
Fight, steal and smuggle to please your new boss and colleagues but remember: to them you are just another asset.


The design-goal for this Scenario is to give players the feeling of freedom and exploration, while keeping the player constantly interested through interesting characters and unexpected events.
This scenario is a project I am working on with a peer as a personal side-project concurrent to my education. I was interested in expanding my scripting and level design knowledge. My eye quickly fell on Arma 3 as a suitable platform to do this on. This due to the vast modularity/open-endedness of the “Eden Editor”, and my former experience with the Arma-series.

My Part

Storyboarding and the basics

After choosing the location for this Scenario. I divided the chosen city into different areas that all have different characteristics, events, and dangers. In poorer areas there is more gang presence, in more urban areas there are police.

Together we wrote a storyline on a high level, after which we started working on laying down the framework and scripting for each mission to function.
When the entire mission was technically done, I started implementing additional features and narrative including NPC interaction, a mission briefing, and ambient sounds. I also used UnitCapture on many occasions to make the mission more immersive.

Set dressing general and mission areas

To make the scenario more immersive I decided to set-dress most of the areas the player has access to; with extra attention to the story-related areas.
Due to performance reasons, I detailed the environment based on how much time the player spends in each area. 

When set-dressing an area I considered its purpose first.
In once instance, I set-dressed a gangster hideout in the jungle. 

I made a hideout for 6 gangsters, so I made sure that the set-dressing reflected this.
I then considered the general environment. This hideout is in the jungle, so I optimize potential immersion by adding items such as mobile gear-crates, camping facilities, and more basic defenses to the environment.
Lastly I would optimize this area for the player. I made sure no AI was in a place that made them difficult to see, I added ammo and other collectibles for the player to find, and added level logic such as an auto-save.

   Return to mission area script:

["<t color='#fffff' size = '.8'>Leaving mission area!<br />You are being returned to the mission area!</t>",-1,-1,4,1,0,789] spawn BIS_fnc_dynamicText;
_nObject = nearestObject [player, "Flag_AAF_F"];
[0, "BLACK", 3, 1] spawn BIS_fnc_fadeEffect;
sleep 3;
player setPos (getPos _nObject);
[1, "BLACK", 2, 0] spawn BIS_fnc_fadeEffect;
sleep 5;

The player will always be teleported to “_nObject“, which is defined by “nearestObject [player, “Flag_AAF_F“]”.

The border of the player-area is lined by a row of Flag_AAF_F’s. Thus the player is always teleported back to a position I predetermined.
The fade-effect hides this taking place to prevent the player for breaking their immersion.

Level scripting of tasks, random events, and environmental factors

I have scripted on several levels in this scenario.
By effectively utilizing the engines’ optimization features in scripts, I improved stability and gameplay-performance. With this script, the level decreases the load on the computer without any noticeable changes in-game.
I wrote several scripts to lay down the scenario’s rules; such as the areas the player can enter, time of day, civilian presence, and weather.
Lastly I set up the task-flow in the editor in a way that is more readable and modular by using simple scripts.