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
-
Blueprints Under NDA
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 programming 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/framework programming
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
-
One of the larger design tasks I performed was creating and balancing the obstacle course for the Estland CarRace Game
-
I ceated design documentation and explanations for each area of the map, which can be seen below
Estland CarRace - Obstacle Course
Below are some parts of the obstacle course that I created
Bridge and parking lot areas
If GIF fails to initialize, please right click > reload frame or refresh the page
Tram area
If GIF fails to initialize, please right click > reload frame or refresh the page
Park and Marketplace
If GIF fails to initialize, please right click > reload frame or refresh the page
Final area
If GIF fails to initialize, please right click > reload frame or refresh the page
During my internship, I was a technical designer on 8 different projects
-
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 an arcade VR center in Estonia, where players will spend credits to play VR games with awesome custom controllers. Each game takes place in the same VR 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 race through a steampunk town (CarRace).
Some challenges included coding for (and testing on) custom Arduino controllers, preventing VR motion sickness,
creating consistency across all of the Estland games, and dealing with lots of client delivery deadlines.
Tasks performed (all games - Technical):
-
Performing code reviews, code refactors, and bug fixes
-
Creating basic game flow (game status, game start, game end)
-
Creating 2 different checkpoint, player death and respawning systems
-
Creating a dynamic obstacle system
-
Implementing spectator HUD
-
Implementing score systems and game timer
-
Implementing height detection, speed detection, death counter, level progress detection
Tasks performed (all games - Design):
-
Balancing the player character of each game for its matching custom controllers
-
Placing and tweaking the player spline path, checkpoint locations and game objective locations
-
Sound Design and Implementation
-
Creating and Fixing collisions in the level art assets
-
Playtesting and balancing the games on the Oculus and HTC Vive, and custom arduino hardware
Tasks performed (Airbike):
-
Mail delivery; implementing feedback for having delivered/missed/not yet passed mail in Airbike game
-
Tweaking the spline region velocities and player bounds
-
Set dressing, placing all the mailboxes
-
Designing a player crash system that would not cause VR motion sickness
Tasks performed (CarRace):
-
Implementing scraping particles when hitting obstacles on side of car
-
Balancing the Car vehicle variables
-
Designing and implementing the obstacle course
-
Set Dressing
-
Designing a player crash system that would not cause VR motion sickness (different from Airbike)
Tasks performed (Balloon):
-
Tweaking the spline region velocities and player bounds
-
Tweaking the balloon gameplay to feel like actual balloon flying
Car Race Game
Balloon Game
Airbike Game
AngstFabriek 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.
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
-
Performing code reviews, bug fixes, and refactors
-
Creating the various types of boxes (fear products) that can be scanned with an Android AR Devvice
-
Creating lots of UI for Augmented Reality using Unreal UMG system
-
Implementing the saving & loading system
-
Implementing Unreal Localization and translating the entire game from Dutch to English
-
Implementing the branching endings for the game
-
Fixing the AR Image detection
-
Fixing animations, lighting, and material fading to work properly in AR
-
Creating Android installation packages for the client (Critical Mass)
SiouxHoloDeck was a VR client project which offers a 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 working with a game that has a VR as well as standard 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
-
Performing design reviews
-
Creating functionality for closing menus in VR
-
Creating functionality for visualizing selected tool in VR
-
Allowing radial menu and tools to be operated in both player hands instead of just one
-
Fixing collisions of the level assets
-
Implementing and tweaking hand collisions (for grabbing UI menus and objects)
-
Fixing mouse capture when switching between VR/Non-VR
-
Implementing and fixing/improving player teleportation system
-
Various other bug fixes and refactors
NSTrainProject was a VR client project created for use in research 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 controls, such as voting a thumbs up or down on a certain part of the train (train player) or switching levels and cameras (spectator).
Main challenges included creating a game with simultaneous VR and spectator players, working with the HTC Vive Pro wireless setup and MSI backpacks, and learning how to work with VR in general.
If GIF fails to initialize, please right click > reload frame or refresh the page
Tasks Performed: NS Train Project
-
Sound Design and implementation for the entire game
-
Creating the operator menu system, used for switching between different levels (parts of train) and crowdedness states (empty train, half full, full)
-
Creating UI for the operator menu, using UMG
-
Setting up and breaking down the physical room-scale VR setup for testing with the client
-
Various bug fixes and refactors
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. I helped maintain, bug fix, and add improvements to this framework throughout my entire internship.
The Estland Framework is used only by the Estland Games. I created this framework from scratch, working together with another Technical Designer. This framework takes inspiriation from (and lays on top of) the Enversed one.
Tasks Performed: Frameworks
-
Many Code Reviews, Code Refactors, Bug Fixes, and small additions
-
Creating 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
-
Creating the Estland Game Framework together with another intern, a code base project to be used for all current and future games for the Estland VR center
-
Implementing the Estland Game Framework accross the Estland Airbike, Estland CarRace and Estland Balloon games