Trevor Berninger

Professional Projects:

Limitless Creative Environment

Platform for creating interactive VR experiences in use by major Hollywood studios. Using the Vive, anyone can make interactive VR experiences. Worked on the core animation authoring system, audio capture framework, server infrastructure, and interactivity authoring system. Featured at Siggraph Real Time Live 2017 where an interactive VR experience was created live on stage in 6 minutes.

Gary the Gull

VR interactive experience directed by Mark Walsh (ex-Pixar). Oculus Rift Touch and PSVR launch title with Vive support. In charge of optimizing for and releasing on PSVR which included meeting or receiving waivers for specific TRC and PSVR Consult items. Also set up streamed voice recognition and refactored logic for branching narrative. Featured at Siggraph Real Time Live 2016. Created in Unreal Engine 4.

High Fidelity

Developed a framework for creating branching narrative and interaction inside of the High Fidelity Engine. Created and managed a load balanced and autoscaled speech recognition streaming service with analytics and wrote a thin client library for the engine to communicate with the servers. All game content, including animations and audio, are streamed to the client as a user progresses through the narrative.

Reaping Rewards

Emotional VR interactive experience created in Unreal Engine 4 and prototyped and pre-vised in the Limitless Creative Environment. Featured at Siggraph VR Village. Directed by Matthew Ward (ex-Lucasfilm). Worked on the demo shown at AMD's Summer of Radeon during GDC 2017. Also worked on the PS4 VR trailer.

Flub Fighter

2.5D Game written in C# with Unity using XBox Controller API for enhanced multiplayer controller support. Worked on animated menus with use of state machines, logging of player position for heat maps, main game loop, floor detection with use of 3D vector math (linear algebra), gravity (physics) manipulation, timing of hazards in maps, player body collision, sound management, triggers, lighting, and spawning of random player items.

Francisco's

Francisco's Brick Pizza Game is an Android and iOS app made for a local pizza company in which users can play a match 3 game to win coupons redeemable on location.

Created backend database along with the client and server code for managing user's save data.
Also created frontend coupon manager web app for our customer to manage which coupons could be won along with creation and complete removal of coupons.

Other Interests:

Graphics
I am currently teaching myself how to use OpenGL to make games. I've always been curious about how to make games without the help of an full blown engine. All the trouble I had making a 3D PS2 game only furthered my desire to learn how to properly draw graphics to a screen. When I'm done with OpenGL I'll most likely move on to learning something which requires more manual work like Vulkan. And maybe after that I might work on some more PS2 things.
TrevOS

Handwritten from scratch operating system which uses structures such as Descriptor Tables and BitMaps

Written in i386 Assembly and C.

I've not really touched this in years but would love to go back into it sometime in the future. I plan to try and implement the buddy memory allocation technique for memory management

Wireless Pi Guages

A cool little Raspberry Pi project in which I connected two stepper motors to the Pi, had the Pi listen for data, and had my main computer shoot data to the Pi via WiFi. I use this to wirelessly display information such as CPU usage, RAM usage, Bandwidth, any data I feel like sending. A silly example is that one could even tell one gauge to display about many Steam friends are online and have another display the amount of friends currently playing a game!

PS2 3D Pong

3D Game written in C and Assembly for PS2 using open source SDKs.

Snippits:

Packed Dynamic Array

My personal take on a dynamic array in which elements keep their indices even if major modification has been made to the collection after the element’s addition. Utilises dynamic array properties and has an internal queue for quick insertion in a spot no longer occupied by an element. (Used in my OpenGL projects)

Better Unity Send Message

It's like Unity's SendMessage(string, object) but with as many object params as you want! Here is how it's used:
BetterSendMessage(string, params object[]);
Uses C# reflection and Linq libraries.