UNITY
AND
CREATIVE
DEVELOPER
Scroll Indicator Arrow Top Scroll Indicator Arrow Middle Scroll Indicator Arrow Bottom

INTRO

Unity and full stack developer of 10+ and 4+ years respectively.


For Unity, extensive experience with the following: classic GameObject architectures, DOTS entity component architectures, ScriptableObject orientated architectures, managed and native plugin development, High-Definition Render Pipeline, Universal Render Pipeline, Built-in Render Pipeline, RenderGraph, ShaderGraph, Cg and HLSL custom shaders, compute shaders, bespoke deterministic physics (2D), Netcode for GameObjects, and Unity Services.

Full-stack development experience includes: Vite, React, Electron, Node, MySQL/MariaDB, Docker, Podman.

INTRO

01

PROJECTS

Selected projects


Royal Caribbean Logo
Royal Caribbean, as part of their "Amplify" internal program to modernize entertainment aboard their cruise ships, wanted two projects. The first project, "Expedition Two70", would be an AR experience in their state-of-the-art entertainment room called Two70 on their new Anthem, Ovation, and Quantum of the Seas cruise ships, consisting of four AR games in one iOS/Android binary. The second project was for a complete re-imagining of their kid's space called Adventure Island, where digital experiences and games were available to be played by children ages 3-17. The games were part of a collection called "The Treasure of Captain Briggs" and included seven games, which were separate Windows binaries but shared a common backend for high-score uploads and overall narrative progress tracking.

For "Expedition Two70", I served as a Senior Unity Developer in charge of Unity-side code health and final push to delivery, implementing key client asks towards the tail-end of the project. The project was an iOS/Android binary, to be used by ship guests within the brand new Two70 room, which is a large open space entertainment area towards the back of newer Royal Caribbean ships, with a 270 degree field-of-view window. The games were AR based games, ranging from simple puzzle games to action games that required the use of the accelerometer as input for in-game viewpoints and targeting.

For "The Treasure of Captain Briggs", my role was more akin to being a Lead Unity Developer, with tasks including but not limited to architeture design, tools building, gameplay programming, and bug fixing. I designed the overall Unity-side code architecture, not just for each of the seven games but for the binding startup binary that connected each individual game to a custom backend from the backend team that kept track of player high-scores and narrative progress. After the architecture was planned out, I led a small team in the creation and maintenance of tools that would be used as Unity packages. These tools ranged from simple message system libraries to Kinect driver integrations (Two of the seven games were Kinect enabled games). I also led the small Unity team through creating all the gameplay scripts, as well as debugging and troubleshooting to meet client needs and requests. "The Treasure of Captain Briggs" was eventually ported to iOS and released as a free collection of mini-games.


You can download the iOS/iPadOS (No audio due to client request) versions here.


Borderless VR Logo
Borderless, a VR experiences company, wanted to create a virtual field trip experience for Act One, which is an organization that creates VR experiences for Title 1 schools in the state of Arizona. Borderless was tasked with creating a portable system that consists of a luggage case that housed VR headsets, a Wi-Fi router, and a small-factor computer that served as a "server" for the VR headsets. The "server" hosted the virtual field trip experiences, which were consumed by students wearing the VR headsets. There was also an optional tablet that acted as a control panel for the teacher or experience instructor.

As Lead Unity Developer, I helped in creating the Unity VR 360 video application used in the Borderless system. Architectual decisions, and teamwork with the server developers and the tablet control panel developers was required to create an application that smoothly communicated with the rest of the system. Things such as video synchronization across multiple headsets, application lifecycle control, and loading and unloading of video data from the server were just some of the problems I helped to solve. The end result was a Unity VR application that displayed 360 degree videos in either monoscopic or stereoscopic formats, and had ADA (American Disabilities Act) capabilites such as captioning, remote volume and brightness controls, and a non-VR option for differently abled students.

This project was a great opportunity to work with networked video synchronization, research VR video resolution and clarity techniques, and to put everything together to help build something that children would enjoy, and use to learn and travel the world from the comfort of their classrooms.


You can learn more about Borderless VR here.

Foot Locker "The Hunt" title: "Foot Locker" weight: 3 videolink: "https://www.youtube.com/embed/7fOf3jNn16c?enablejsapi=1" resources: src: footlocker.jpg Foot Locker's "The Hunt" was an AR based experience that had users following clues around Los Angeles. Everytime a user completed an AR puzzle, they were given clues to the next location. The final destination was a Foot Locker, where users who completed all puzzles were given a chance to purchase the Lebron 16 "King Court Purple" sneakers ahead of it's official release date.

As a Senior Unity Developer, I joined this project near the end to help push it across the finish line. My responsibilites included Unity code refactoring, bug fixing, and AR testing. It was a very fun project to work on, and I ultimately learned more about using AR for large-scale real world events, rather than just one off experiences.

Balus XR Experience title: "Balus" weight: 4 videolink: "https://www.youtube.com/embed/mI1VpcojnBc?enablejsapi=1" resources: src: balus.jpg This project was a very interesting and unique challenge. The client had created a real-time motion capture and render system, where mocap actors would act out their roles in a hidden room, and the movement data was fed into Unity which would render 3D cartoon characters using said movement data. The rendering was done via a Pepper's Ghost setup, which gave the illusion that the cartoon renders were actually standing on a stage in the presentation area. The stage was lit with theater lights, which were all interconnected via the DMX512-A protocol. The client ask was to capture, process, and ultimately integrate the stage lighting data into their Unity application, so that the cartoon "actors" looked like they were being lit and shaded in real-time via the stage lights.

The solution I ended up implementing, was to include an Art-Net wireless router into the DMX512 daisy chain, and have it broadcast the position, orientation, and color of each of the lights over the air via UDP. I modified the Unity application to search, find, and parse this stage light data, and map each of the stage lights to a directional light in the Unity scene.

A unique and interesting challenge that forced me out of my comfort zone, this project taught me a lot about stage lighting and the DMX512 protocol. To be quite honest, I can't wait until I put this knowledge to good use again.

Underworld Empire (Kablam) title: "Kabam" weight: 5 videolink: "https://www.youtube.com/embed/tiSGVVnb1sM?enablejsapi=1" resources: src: underworld_empire.jpg Underworld Empire is a MUD-like game that uses beautifully hand drawn art to bring to life the narrative of warring factions in the criminal underworld. The game stayed atop the Top Grossing charts for several weeks, and was eventually part of the reason Kabam bought out my employer.

As a mid-level iOS engineer on this project, I worked together with the iOS development team from beginning to end, writing gameplay logic code, texture management code, and network data access code.

This project was special, in that I learned first hand the benefits of a clearly defined style guide, architecture, and testing plan before any actual game code was written. Working on a team where all three guidelines were established, the development process went relatively smooth and quick, going from ideation to release candidate in mere months.

Castle Age (Phoenix Age) title: "Phoenix Age" weight: 6 videolink: "https://www.youtube.com/embed/nCkl4hJr91k?enablejsapi=1" resources: src: castle_age.jpg As a mid-level iOS Developer, I was tasked by Phoenix Age to maintain the code health of the iOS version of Castle Age HD. A MUD-like game, Castle Age HD relied heavily on handcrafted artwork to convey narrative to the player. As a result, I was also tasked with implementing a texture caching system, that would automatically fetch missing textures from company servers. A more granular version of what we commonly see nowadays as asset downloading on first use.

Although code maintenance and new feature implementations were relative easy, there was a lot of pressure to make sure everything went smooth with little to no downtime. This is because by the time I was rotated into this project, the game had already amassed a massive following, with hundreds of thousands of concurrent users on a daily basis. It was my first time working on a code base for a project that brought in such a large percentage of income for the company.

Mega Jump (GetSetGames) title: "Get Set Games" weight: 7 videolink: "https://www.youtube.com/embed/BjamUB3MSCE?enablejsapi=1" resources: src: mega_jump.jpg Mega Jump, by Get Set Games, had already become popular on iOS by the time they decided to port it to Android. As a programmer AND producer on the port, I led a small team of Android programmers and ported this addictive game to ten Android devices of the client's choosing. The reason for this is because at the time, a lot of Android devices suffered from two fatal flaws. One was loss of GPU context on backgrounding and foregrounding, and the second was an inability to decode mp3 files. Due to these rather annoying and serious bugs, the client agreed to focus the port on the ten most popular Android devices at the time, and we would find solutions to these two problems for every device supported.

For each of the ten devices, a variation of the following solutions were implemented: \ We allocated GPU textures behind the garbage collectors back. Doing so allowed us to keep more textures loaded in main memory, giving us an opportunity to manually reset the GPU context upon the game returning to the foreground. \ We settled on Ogg Vorbis as the container of choice for audio files, as all ten of the chosen target devices supported hardware decoding of this format.

PROJECTS

02

REFERENCES

## References

"Ellis has shown great technical expertise with game development, leading our technical efforts for two large Unity projects. The first was a bespoke system we built for an educational startup that leveraged V.R. headsets to bring travel experiences to school children. Ellisʼ architectural decisions, especially regarding Asset Bundles and Addressables, allowed us to build an incredibly robust system that allowed our client to design experience packages that can be downloaded on demand to remote VR headsets across the country, all with DRM included."

Alex Krawitz
CEO and Co-founder, OddCommon LLC



"During our time together at Firstborn, Ellis helped build and later lead a variety of Unity games that we built for our clients. Most notably, Ellis was the architect for a suite of large screen games that were installed on Royal Caribbean cruise ships. As we needed to produce a variety of games in a short timeframe, Ellis played a key role in determining a framework that let us quickly deliver games in short succession. In addition to collaborating with our Creative Director on the actual games themselves, part of the technical challenge also included the strategy for how we could remotely install, update, and monitor the games, as well as manage ship-based leaderboards. These series of projects would not have been possible for our agency to produce if not for the hard work and technical expertise that Ellis brought to the team."

Eric Decker
Sr. Engineering Manager, Websites at Squarespace
Former VP of Technology at Firstborn

REFERENCES

03

ABOUT

Background Born in Japan, raised in America. Received my education at University of California, Berkeley. After university, I entered the game industry where I spent about 12 years as a game systems engineer, shader designer, gameplay programmer, and game architect. Eventually I ventured out to the advertising industry where I put my programming experience to good use creating digital experiences for a number of high profile clients including Royal Carribean and Foot Locker. Profile In-depth development experience. Adept with multiple programming languages. Strengths include game development, graphics programming, app development, code architecture design, and tight deadline productions. Great engineering and design problem solving skills. Fast learner, and highly adaptable to pressures and constraints of game, web, and app development. Skillset Languages: C/C++ C# Java Objective-C Javascript Lisp/Scheme Python
Engines/Frameworks: Unity Unreal Cocos2D iOS Android ARKit ARCore VR Hugo Jekyll
Disciplines: Game Shader Mobile AR VR Web(frontend) Education Applied Mathematics with an emphasis on Computer science, University of California at Berkeley Japanese Language (minor), University of California at Berkeley
Contact email: contact@ellistalley.com mobile (US): +1.917.346.9147 mobile (JP): +81.70.8439.0238

ABOUT

04

ELLIS TALLEY