Company: Urban Electronics Inc
Role: XR Developer | Web AR Developer
Software: Unity, Niantic 8th-Wall.
Code Stack: C#, HTML, CSS, Javascript, ThreeJS
Preamble
In 2023, I had the pleasure of meeting the founder of Urban Electronics at a Playtesting event in NYC. Little did I know, that chance meeting would develop into a future role as a XR and Web AR Developer for their company. Since starting with Urban Electronics, I've worked on developing features for their flagship game Tontachi AR. I also became their primary Web AR developer, responsible for designing and implementing sneak peeks of their flagship game features in Web AR using the platform 8th-Wall. View the content below to see some of the work that's been published thus far.
Project: Tontachi WebAR
Year: 2023
Introduction
In 2023, I had the pleasure of partnering up with Urban Electronics to develop a Web AR companion app for their mobile game Tontachi AR. For this project, I was the lead developer in charge of programming out the experience features using ThreeJS, HTML, and CSS. For the project, we decided that the target platform should be 8th-Wall due to its ease of use, familiarity, and robust set of features. Though the project was definitely a challenge initially, we were able to iron out all of the kinks that come with developing a Web AR product from a technical side and were able to release a pretty great product. Since this is a Web3 project, we were also able to develop a methodology for syncing the project data to the user's specific Web3 crypto wallet for additional bonuses.
Technical Journey
As the lead developer for this project, I was responsible for most aspects of the development process. One of the first challenges we encountered with this project was the need to create a modular system that allows us to easily swap out models on the fly. With that system created, we proceeded to configure the player movement and basic interactions. While interactions should be basic, it definitely proved to be a challenge, having had to create our own pickup and object detection system for pickup items. The movement of characters in the game proved to be another challenge, but with a little 3D vector math and a plethora of testing, we got it working!
With the movement and interactions figured out, we noticed some performance issues with the character on lower-end devices that we needed to address. Most developers would simply phase out the lower end devices on the product specification page, but not us. We did some digging and discovered that the model textures needed to be optimized a bit more to improve the movement speed. After using my technical art knowledge to modify and improve the textures, I found that the game was fit to work on devices as old as the iPhone 8.
Now that the game was running smoothly, it was time to connect the web3 wallet and additional content. While I'm not a backend developer, luckily, we had a couple of people on the team who specialized in backend web3 implementation. While they developed the backend technology for the experience, I worked on the front-end implementation of the high score system for the experience. Later, I also helped the backend devs sync the experience to the web3 wallet, and developed a hack to keep track of the amount of times the wallet has been accessed. This system proved invaluable for getting the overall system to work. With that done, we spent a little more time polishing the UI for the experience and prepared it for release! To view screenshots of the development process, click on the slideshow above. Also, click on the project link to try out the experience.