My roles
Level scripting
Level Design
Set-Dressing
Level scripting
Level Design
Set-Dressing
2 Designers
Arma III Eden Editor
GitHub
IntelliJ IDEA
27th November 2019 – Ongoing
“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.
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.
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.
["<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;
Description:
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.
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.