I will get back to some more insane and unhinged projects like Larry Middleman in the next essay, but today, we’re doing another interview! This time, I talked to Alvin Yu about an app he made for his 3-year-old!
I know Alvin from my illustrious infamous time at Acorns (I lasted 7 months there before I made my escape back to LA proper. Irvine is where your spirit goes to fade. If you ever find me living in that city, you won’t need to call the suicide hotline because my soul will already be dead).
Sorry, I digress.
I convinced Alvin to join me in LA a few months later, and that’s when the innovation truly began at GOAT. Alvin is the brain behind ALL of the breakthrough augmented reality try-on features at GOAT. The 3D modeling, sculpting, and proper sizing/scaling so the 3D model fits your feet. All those “holy shit!” moments from 2019?
Alvin. Alvin. Alvin.
Here are some highlights from Complex and YouTube for those not familiar:
But we’re not talking about GOAT (today). We’re talking about a side project he made for his 3-year-old called Mighty Movers! Here’s a little demo of it in action:
Enough exposition. Let’s get to it!
This conversation was conducted in person at Tartine in South Pasadena.
- Egg sandwich with smoked salmon
- Pressed turkey sandwich
- 1 loaf of country bread
- 2 iced americanos
I know you from your career at Ticketmaster, Acorns, and GOAT. None of these companies has ever made a “game.” So, where do you even start with this?
Yes, so it’s all new knowledge, but pretty much everything is on YouTube or things like Coursera or, uhm … what's the other one that I like?
**makes a U-shaped gesture with his hands**
dhour:
… Udemy?
Alvin continued:
UDEMY! Yes! There's a guy there who explains how to build a game using SceneKit1. So I’ll just take things I learned from there and then rewrite it. So that's a good starting point.
Why did your 3-year-old ask you to make this game?
He asked for it after we went to Monster Jam. Do you know what that is? Monster trucks! I didn't want to go because I was expecting it to be only truck enthusiasts, but it was all families! All kids! He had a blast!
Where are the 3D models from?
I bought them on TurboSquid and then had to learn about a thing called armature.
I don’t know what “armature” means.
Armature is like the bones of animation.
dhour:
Yup, still don’t know what that means.
Alvin continued:
Okay, imagine you're animating a human body. You can say, “Hey, move your hand and move your foot.” Well, cars have armatures, too: “Turn the wheels this way.” And in the case of construction vehicles, “Move the arm up and arm down.”
Ah, so the models come pre-animated?
Well, yes and no. You test the animations in Blender (a tool for 3D artists), and it works just fine. But when you export it, it becomes very painful. Because the animations don’t export relative to each other and so the behavior doesn’t match with what I expected it to do.
So, it’s back to square one. I watched a few more instructional videos, and I ended up learning a lot about this thing called NLA strips. I don't know how to explain it, but it's a way to animate things as a group.
dhour:
Please try 😅.
Alvin continued:
Hmm. Okay, so one example that I was watching is how you would do it for a flight simulator, where you're doing the landing scenario. There’s a set sequence of events/animations that are needed for landing, right? Opening the hatch, dropping the wheel, etc.
You do all that in something called an NLA strip. And if you don’t do it in an NLA strip and export it the wrong way, you get those painful issues. For instance, maybe only the wheel drops, but the hatch doesn't open.
At this point, I have about 5,000 more words I can add about the technicals because Alvin is really smart and really generous in that he tries to teach me exactly what he did. However, this newsletter is more interested in the stories behind the app, so we’re going to skip all that and go straight to his 3-year-old!
And how did your 3-year-old react to it?
He loved it! But not at first because I would test it with him as I was building it.
He didn’t know what the D-pad was and he would get frustrated right away. He wanted to move it by touching the truck or just anywhere on the screen, really. And then he wanted the sound real loud, too: “Where’s the sound? What happened to the sound? Louder!”
So that part is annoying, but it’s still fun seeing him play with it!
Do you have any videos of him playing it?
Uhm, no, because I only have one phone.
Does he still play with it?
No! lol.
But this is why I want to rewrite the app. Because at some point, he’s going to get into dinosaurs and he’s going to ask me to build him a dinosaur game and I don’t want to spend my weekends working on boilerplate! I just want to just plug and play the assets!
There were too many things I didn't know when I started. But now that I do know, I want to try it in a formulaic way where there's a proper game engine. Then I can build more games for him!
Speaking of weekends, how long did this endeavor take?
It took maybe three solid weekends, maybe even four. But they were solid weekends. Just working all day and all night.
I highly recommend listening to the clip below for an extended (and more humorous version) of this part of the conversation:
You can download Mighty Movers on the App Store.
BONUS: Inside the Developer’s Studio
James Lipton, the host of Inside the Actor’s Studio, would ask his guests a set series of questions at the end of each episode. And because I’m a dweeb and I fanatically loved that show, I’m going to do something similar but with developer-specific questions. Enjoy the nerdery.
What push notification brings you joy?
Anything that says “your order has been delivered.”
What push notification makes you angry?
Slack.
Last app you downloaded?
Well, I tried to download yours, but it requires iOS 18 😂
Last app you deleted?
I can’t remember.
dhour:
Let’s delete something right now!
Alvin continued:
**After a few seconds of searching, sees the 7-minute workout app**
Why do I even have this? I don’t work out! Delete!
A developer or designer out there that you think deserves some shine?
Tony Albor (developer)
Matt Zelazo (designer)
Herson Rodriguez (designer)
Create 3D games and add 3D content to apps using high-level scene descriptions, and easily add animations, physics simulation, particle effects, and realistic physically based rendering.
I love these interviews. "Um no, I only have one phone"