Interaction and Mobile Support
are Work in Progress
With over 6 years working in software engineering, 3 of which in a senior role, I have become an expert in web development. My focus throughout these years has been AR, VR and other innovative technology like AI. In addition to all the tried and true standard web frameworks, I use web based game engines on a daily basis like PlayCanvas and 8th Wall studio, both of which are built on top of three.js.
With this specialty and a bit of Unity on the side, I develop games both for work and for play. My projects at Trigger XR were mostly small in scope so management did not see the need to bring on a dedicated Game Designer. I happily took on this role for any project I was assigned to as I have been designing my own board games for years. I also love applying this skill to the many tabletop RPG campaigns I DM, including Monster of the Week, The Wildsea and even some completely custom systems.
View Resume My second project at Trigger XR, I was tasked with finding a new web based game engine because the one we used previously, Sumerian, was rough to say the least. I discovered PlayCanvas and developed our very first bits of core scalable infrastructure for that engine.
The end result is an AR game where you point your phone at roaming ghosts to fire proton beams at them, eventually reducing their health enough to lasso them. After that, you need to deploy a trap and move the ghost over it using your phone to capture them. I was the one who designed this mechanic, and it was a hit, perfectly incorporating the control scheme of 3dof AR into a short but satisfying gameplay loop.
One of the first uses of Gen AI in a marketing campaign, and in my opinion the best we've seen so far, this website allowed the user to upload a picture of their pet and have it "Venomized". On the backend, we communicated with Getty Image's Generative AI tech which offers an "ethical AI" approach (trains only on images they own and compensates the image creators).
On the frontend, we faced the challenge of creating a website that aimed for a more dynamic and gooey user interface as opposed to a more clean and simple modern design. This looked amazing in the end, but I had to work through many problems relating to scalability considering we needed to support both mobile and desktop in a total of 10 different languages.
(Frontend is live, but you can't generate anything)
A simple project, but one that shows the power of AR and VR, reaching just over 3 BILLION impressions as users tuned in to see the 2022 halftime show with a front row seat. These users would place a portal in their environment and then be transported to three 360-degree cameras they could view in VR.
What made this project so simple from a development perspective was the scalable frameworks I had created for developing 360 portal based projects. I created a template that gave us all the functionality of placing a portal in 6dof and then transitioning to 3dof upon entering. The portal even showed what was going on inside it via an occluder setup.
For this project I designed a scalable webpage as well as a backend server that converts any picture into LEGO. The algorithm is simple at its core: mapping color brightness levels to level brick colors, but in order to support extremely dark or bright images, I adjusted it to dynamically change the ranges to make each color of brick appear a relatively equal amount.
That also tackled one of the other huge challenges with this project: the image had to be buildable using a real physical LEGO set. This meant I couldn't use more than 300 of each brick color. In the rare occasion where a color ran out, I made an algorithm to generate a pattern that smoothly transitions to the next best color.
I could gush about this project for hours, but the last thing I'll mention is that I utilized AI before it was cool, in the form of face detection and background segmentation. Knowing where a person's face was in the image allowed me to zoom in on it and draw out all the little details. Removing the background of your image allowed me to create different "filters" that replace your background with solid colors or patterns.
This CES demo me and my fellow developer Andrew created is the perfect fusion between modern web design fundamentals and 3D web engines. My role was creating 2 of the 4 rooms and a set of Vue components that allow us to interact in those rooms, whenever possible making that component scalable, so it can apply to multiple interactions. This also involved creating scripts in PlayCanvas to handle events being triggered in the HTML, again keeping things scalable when possible.
After reviewing the comps provided by our creative department, I knew we could get a lot of mileage out of a very simple component that presents an image of a GE Lighting product and triggers a PlayCanvas event when clicked. The most basic script in PlayCanvas could then listen for that event and turn off and on a light in the scene (and remove the emissive on the material). However, that same event could also be listened to by an animation controller script which can do things like make glowing tire tracks appear in the driveway, after which an onEnd event is fire which can trigger a light script to turn on. It all gelled into one clean system made up of small parts.
For 2nd Avatar movie, Trigger XR was tasked with creating a website where you could create an alien fish and then send it off into the ocean, raising money for Keep Our Oceans Amazing for each fish created! The entire development team worked tirelessly to push the quality of web based 3D to its absolute limit, using things like caustic shaders and god beams to sell the look of the ocean. My primary focus was building the character creation UI and squeezing every bit of detail we could out of the level geometry without setting phones on fire. To do this while still creating the illusion of a large ocean, I had the fish path around one central piece of geometry while keeping the camera focused inward. This trick gives us an interesting background while avoiding seeing for long distances. With resources freed up I could make this bit of geometry more interesting rather than just a big rock: things like overhangs, arcs, caves, large alien plants adding depth and intrigue.
As I mentioned I also developed the entire frontend for this project. Thankfully, the designs from our creative department translated well into scalable vue components. This gave me time to really fine tune the futuristic feel of the UI, creating several CSS animations for trays opening, button clicks, transitions between pages and more.I also wrote code to load elements dynamically and allow the user to rotate the fish by dragging it around.
I'm open for work right now! If you think I'd make a great addition to your team, please reach out!
Email chrispoole102@gmail.com