
ENVERSED STUDIOS
Loading image, please wait..
Internship - Enversed Studios
Platform:
HTC Vive, Oculus, Android, other(s)
Engine:
Unreal Engine 4
Language:
Unreal Blueprints (C++)
Tools used:
Unreal Editor, JIRA, Confluence, GitLab
Duration:
5 month internship (Feb 2019 - Jun 2019)
Team size:
12
Current status:
-
6 projects delivered to clients
-
2 projects in continuous development
Roles:
-
Technical Design on 8 Multiplayer networked VR & AR projects:
-
NS Train project, Estland Airbike, AngstFabriek,
SiouxHoloDeck, EnversedBase, Estland CarRace,
Estland Balloon, EstlandBase
-
-
Responsible for Gameplay coding and Bug Fixing
-
Designing & working out game systems
-
Implementation of new game systems and mechanics (UE4 Blueprints)
-
Bug Fixing and improving existing systems of the game
-
Codebase/Blueprint framework coding
Game Description(s):
-
NS Train Project: VR train passenger simulation made for the Dutch Railways
-
Estland Airbike: VR mail delivery game played with a real bike as controller
-
AngstFabriek: AR android-supported game made for Critical Mass
-
SiouxHoloDeck: VR simulation space for office meetings, presentations, visualizing and working on 3D models, virtual training sessions and much more!
-
EnversedBase: Codebase used for all other Enversed projects
-
Estland CarRace: VR wagon racing simulator in a Steampunk world
-
Estland Balloon: Smuggle away your loot in a hot air balloon!
-
EstlandBase: Codebase framework used for all Estland games
Estland CarRace - Level Design Document
-
I designed and implemented the entire obstacle course for the Estland CarRace Game. This included the prop placement.
-
This is the only level the game shipped with. It was created for a VR experience center, and played with custom controller
-
The player steers by swaying the custom chair left and right (IRL), and accelerates with a joystick on the arm rest
-
Some my hardest challenges were preventing motion sickness, and conveying pathing and landmarks well in VR
-
-
The design documentation can be found below:

Image: A player playing on the custom controller chair
Estland CarRace - Obstacle Course
Below is an overview of the entire layout, followed by images of the various parts of the car race track:

If GIF fails to initialize, please right click > reload frame or refresh the page

Image: Estland Car Race - Bridge and Parking Lot
If GIF fails to initialize, please right click > reload frame or refresh the page

Image: Estland Car Race - Park and Marketplace
If GIF fails to initialize, please right click > reload frame or refresh the page

Image: Estland Car Race - Moving Tram challenge
If GIF fails to initialize, please right click > reload frame or refresh the page

Image: Estland Car Race - Final area

During my internship, I worked on 8 different projects, some from start to finish, some at various stages of development
-
After 2 weeks of on-boarding, I was working as a full-fledged Technical Game Designer (intermediate level)
-
Took on the same jiras as everyone else - no special treatment
-
-
All Blueprints are under NDA and can't be shown for that reason
-
Below are some of the tasks I performed for each project , as well as challenges I faced
Technical Design / Estland Games: CarRace, Balloon, Airbike
The Estland Games were a huge client project consisting of 3 custom controller VR games (with many more to be added later).
They were created for a VR Experience Center in Estonia, where players spend credits to play various VR games, similar to arcade machines. Each game takes place in the same narrative steampunk universe, but makes use of a different custom controller and unique set of game mechanics.
These VR games can be summarized as: a floating mail delivery game (Airbike), a hot air balloon smuggler escape (Balloon), and a car race through a steampunk town (CarRace).
They are played with the following controllers:
-
Airbike: A modified real life bicycle. The player can pedal to accelerate and use the steering wheel to go left/right
-
CarRace: A modified chair. The player leans left/right to steer, and uses a joystick on the arm rest to accelerate/break
-
Balloon: A basket the player stands in. It can be leaned left/right to steer, while a flame button adds temporary height
Some challenges included coding for (and testing on) custom Arduino controllers, preventing VR motion sickness,
creating consistency across all of the Estland games, all while dealing with lots of client delivery deadlines.


Image: Estland Balloon on custom controller
Image: Estland Airbike in-game view

Image: Estland Airbike and CarRace being played at the Night of the Nerds
Tasks performed (all games - Technical):
-
Created basic game mode flows (game status, game start, game end, game over)
-
Implemented score systems and game timer
-
Implemented stat displays like height detection, speedometer, death counter, level progress bar
-
-
Created 2 different checkpoint, player death and respawning systems
-
Created a dynamic obstacle system, such as for moving trams and cars
-
Implemented spectator HUD so other people can watch the games from outside VR
-
Performed many code reviews, Blueprint improvements, and bug fixes
Tasks performed (all games - Design):
-
3C Design - designed and implemented the player character of each game to work well with matching custom controllers
-
Placed and tweaked the player spline path, checkpoint locations and game objective locations
-
Sound Design and Implementation
-
Created and fixed collisions in the level art assets
-
Playtested the games on both Oculus and HTC Vive, using the custom arduino hardware
Tasks performed (Airbike):
-
Designed and placed all the mailboxes for mail to be delivered to (objective locations).
-
Implemented player UI & particle feedback system for mail delivery, showing delivered/missed/not yet reached mailboxes
-
Designed and implemented a bike crash system that would not cause VR motion sickness
-
Designed & tweaked the spline region velocities (determines how fast the bike goes at various parts of the map)
-
Designed and tweaked the player bounds (how far left/right/up/down the player may deviate from the spline)
-
-
Did set dressing with various props
Tasks performed (CarRace):
-
3C Design / Balanced many of the car vehicle variables
-
Level Design and Set Dressing for the car race obstacle course (described in detail above)
-
Created and implemented scraping particles when the side of the car hits obstacles
-
Designed a car crash system that would not cause VR motion sickness (different from Airbike)
Tasks performed (Balloon):
-
3C Design - tweaked various aspects of the balloon gameplay to feel like actual balloon flying
-
Tweaked the spline region velocities and player bounds (same functionality as Airbike)



Image: Estland Car Race Game
Image: Estland Airbike Game
Image: Estland Balloon Game
AngstFabriek ("Fear Factory") was an Augmented Reality client project created for Critical Mass. The game was designed to be used in a pop-up experience at a real-life location with actors and other players present.
I created this game from start to finish during my internship. My main challenges were learning how to work with mobile devices and Google ARCore in Unreal Engine, as well as learning the Unreal localization system (which was still in Beta) and performing the translation of the entire game to English.
If GIF fails to initialize, please right click > reload frame or refresh the page
Tasks performed: AngstFabriek
-
Created the various types of box actors (fear products) that can be scanned with an Android AR Device
-
Implemented and fixed/optimized the AR Image detection
-
-
Created lots of UI for Augmented Reality using UMG
-
Implemented Unreal Localization and translated the entire game from Dutch to English
-
Implemented the saving & loading system
-
Implemented the branching endings for the game
-
Fixed various animations, lighting, and material fading to work properly in AR
-
Created Android installation packages for the client build deliveries (Critical Mass)
-
Performed various code reviews, bug fixes, and Blueprint improvements

Image: Snippet from Angstfabriek introduction video
SiouxHoloDeck was a VR client project which offers a multiplayer simulation space for office meetings, presentations, visualizing and working on 3D models, virtual training sessions and much more!
Some challenges included: working with a very technically complex project, and with a game that has a VR as well as 2D screen mode. This especially showed when I was designing and implementing UI for the game.
If GIF fails to initialize, please right click > reload frame or refresh the page
Tasks performed: SiouxHoloDeck
-
A lot of UI/UX work in UMG and Blueprints
-
Created generic functionality and UI for closing all the various popup menus in VR
-
Made the radial menu and tools possible to be operated in both player hands instead of only one
-
Implemented and tweaked hand collisions (for grabbing/moving UI menus and 3D model objects)
-
Created functionality for visualizing your currently selected tool in VR
-
Implemented proper mouse capture when switching between VR/Non-VR
-
-
Implemented and fixed/improved a player teleportation system
-
Fixed collisions of the level assets / environment
-
Performed design and code reviews
-
Various other bug fixes and Blueprint improvements

Image: SiouxHoloDeck trailer
NSTrainProject was a VR client project created for research use by the NS (Dutch Railway Company). It allows research subjects to walk around in Virtual Trains, under the supervision of a spectator (researcher) on a connected monitor. The two players each have their own set of controls.
-
The VR player can walk around and thumb up/down various aspects of the train design
-
The 2D spectator can switch levels (trains) and crowded state of the trains, and switch between cameras
My main challenges included creating a game with simultaneous VR and spectator players, and working with the HTC Vive Pro wireless setup and MSI backpacks, which allowed players to walk around a huge real life distance without being wired up.
Tasks Performed: NS Train Project
-
Sound Design and implementation for the entire game
-
To create realistic background ambience, I actually went and recorded sound at a real train station and inside a train
-
-
Created the operator menu system, used for switching between different levels (parts of train) and crowdedness states (empty train, half full, full)
-
Created all the UI for the operator menu, using UMG
-
-
Set up and broke down the physical room-scale VR for various research playtests with the client
-
Various bug fixes and Blueprint improvements
If GIF fails to initialize, please right click > reload frame or refresh the page

Image: Various camera angles on one of the NS project trains
Behind each of the games I worked on lays a framework project, which is used by Enversed to create lots of games in a rapid and streamlined fashion.
The Enversed framework is one that is used by all games. During my internship I made various additions and improvements, as well as bug fixes to this framework.
The Estland Framework is used only by the Estland Games (CarRace, Balloon, Airbike). I created this framework from scratch, working together with another Technical Design intern. This framework takes inspiriation from (and functions on top of) the Enversed framework, adding extra functionality layers specifically for the Estland games.
Tasks Performed: Frameworks
-
Created a team interaction system for Enversed framework, for things like switching/balancing/auto-assigning teams and support for team color, team name and max size
-
Created the Estland Game Framework together with another intern, a codebase project to be used for all current and future games for the Estland VR center
-
Implemented the Estland Game Framework accross the Estland Airbike, Estland CarRace and Estland Balloon games
-
-
Performed many code reviews, Blueprint improvements, bug fixes, and small additions




Image: Example actions in the team interaction system I created (Enversed framework)










































