The VBS3 Swedish exclusive content was developed between 2017 and 2018 by Bohemia Interactive Simulations. The project involves 2 Swedish Army tanks being implemented in VBS3 including their 3D models, movement and rotation animations, UI systems for the tanks to be controlled and in game shooting with movement mechanics, including a high fidelity damage model.
The feature was used for 3 man squads taking the role of a commander, a gunner, and a driver to operate the vehicle inside the game making the teamwork and communication essential.
Genre: Military Simulation / FPS / TPS
Engine: VBS3 Engine
Team Size: 8
Duration: May 2018 – February 2019 (I joined the project on late December 2018)
Here’s the wiki page and the video introducing the vehicles into the game:
Roles and responsibilities:
Gameplay & Technical design:
As a part of the 2nd feature release involving new features, performance and stability improvements I helped the implementation using SQF, and C++ under the guidance of senior designers and programmers;
- Fixes on the targeting system that uses a raycast to determine the distance between the next visible unit and the vehicle (also referred to as lasing).
- Reworking the tracking system for airborne enemy combat units that allows the vehicle turret to continuously track a drone, plane or a helicopter within a certain range.
- Fixes on the shooting mechanics triggered by the in game UI.
- Fixes on the previously implemented damage model, that allows the level designer to damage a specific part or internal component of the vehicle using triggers. This feature allows the player to react towards certain situations created by the mission designers, forcing them to respond fast and follow the military protocol to fix the damaged parts. An example can be a power surge inside the vehicle that blows some fuses and makes certain electronic components unusable. The players then would need to follow a different protocol to take manual control of the vehicle and escape an enemy ambush.
- Reworking the turret collision model with new colliders, using the Bohemia in house modelling / LOD / Collider setup tool Oxygen2. This feature allows physics to be applied to turrets and barrels, meaning when a player is driving the vehicle and the barrels or turrets collide with an object, they respond with a reaction force or block the players from moving. It also allows the turrets and barrels to be separately damaged, if enabled.
- Minor fixes on the shooting mechanics, such as wrong calculations on certain targets due to their meshes or LODs.
UX design and UI implementation:
Using Angular for the UI development on the frontend, and SQF to get the in game state of the vehicle;
- Reworked the vehicle’s self diagnosis system that shows the player if a vehicle system is locked, or damaged. The following picture shows the UI system used by the gunner. The bottom 3 led lights blink or stay on after a self diagnosis run, based on the situation the vehicle is in, while also showing the potential error code on the right side control panel.
- Adding new dialogues into the UI system that give the player feedback on the systems running inside. (Target marked, the safety pedal is off, out of shells to shoot etc.)
The Design Post Mortem
One of my all time favorite projects, the Swedish exclusive content was a perfect example of how many design aspects can come together to create a full experience.
The biggest challenge in my opinion was understanding the player persona. I was never inside a tank before, let alone being able to operate one. (I know, it’s a shock for all of us)
Yet to be able to design the best experience possible for the tank squads so they can actually learn how these vehicles work, I had to read all the necessary manuals, watch videos, understand what was actually going to be taught using these vehicles. The experience had to reflect the reality, yet it had to be friendly to users who might have never played a video game before, let alone having experience with these tanks. Creating an empathetic connection to a persona can get exhausting, since we can never really forget what we learned in a day or two. We have to act like we don’t know certain things, or try to anticipate what the behavior would be. It is however, a necessity to achieve great design. Or so I believe.
As always, play testing with others can help a great deal. Getting a lot of different feedback, refining and filtering them to see what serves the purpose and what’s overthinking, implementing again, and repeating this process until we hare happy with what we get can be a great way of achieving results.
Side note, I never could see these tanks in real life even though I somewhat know how to operate them now. I guess if the game designer thing doesn’t work out, I can always try to score a job as a tank operating instructor somewhere. Now that I think about it… It would look quite cool on my LinkedIn page. (opens a new tab to google the yearly salary and benefits)
All content rights belong to Bohemia Interactive Simulations s.r.o.