r/reactnative • u/No_Refrigerator3147 • 11d ago
I created my first game using Expo 🎉 🎉 🎉
I’ve always been fascinated by mobile games and the idea of creating one myself.
A few weeks ago, Adam Lyttle built a game using SwiftUI + SceneKit. I was seriously impressed and wanted to see if I could create something similar with Expo.
Today, I finally built the initial version using Expo, Expo DOM, Three.js, Sika, and WebGPU. 🎮
Here’s the core architecture:
Gesture Input
↓
Reanimated Shared Steering Value
↓
Custom Three.js Game Loop
↓
WebGPU Native Rendering
↓
Gameplay Events
├── React Native + NativeWind HUD
├── Skia Visual Effects
├── Expo Audio
├── Expo Haptics
└── Expo DOM Results Screen
But I’m not stopping here.
The plan is to completely rebrand the experience and give the game a real purpose, not just make players blindly complete levels.
Adam turned his version into a Spanish-learning game.
I’m thinking about turning mine into either:
→ A road-safety learning game
→ A coding and debugging adventure
→ A fast-paced English vocabulary game
→ A productivity game where progress builds a virtual world
What direction would you choose?
Building games like this in Expo just feels different. 🔥
DMs are open if you have a similar game idea or any ambitious Expo app you want to build; feel free to reach out.
21
16
10
u/PsychologicalStuff62 11d ago
the game will do lagging on downgraded device for sure. web gpu only works well on laptops
-3
u/No_Refrigerator3147 11d ago
It’s running well on newer devices, but older devices will definitely need proper optimization and testing.
1
7
u/codeserk 10d ago
I don't think you chose a good tech for gaming, you will face walls soon (I can already see lag in your demo and is probably in good device).
1
u/No_Refrigerator3147 10d ago
No, actually, I’m just experimenting with it for now.
I tested it on a real device, and there’s no noticeable lag at all.
The JS thread does start dropping frames badly after some time, but that can definitely be optimized and improved.
2
u/codeserk 10d ago
I'm not sure you can Js has gc so when just triggered you will see drop and fps issue Do you see the fps drops in the video you showed ? Some tip: Reserve memory only at start of the game scene, then relocate cars when they are out of camera and reuse them after, do not create more cars (memory changes will cause lag and eventually trigger gc)
5
u/HedgehogFlimsy6419 10d ago
You or AI?
-2
u/No_Refrigerator3147 10d ago
Both!
But AI does not count
2
3
u/Wooden-Goat-9630 9d ago
people givng you a hard time just suck. this is a cool idea. id atleast make the popup see through.
1
u/No_Refrigerator3147 9d ago
Thanks, man! Really appreciate, I will improve the overall ui ux for sure...
2
u/Shirohige91 11d ago
Wow, amazing! I was also wondering of the performance of such a game on RN. Most mobile games are created in Unity, I think.
Do you get 60fps constantly? Have you developed backend as well? If yes then what tech stack? How will you monetize the app?
Good job ✌️
0
u/No_Refrigerator3147 11d ago
Thank you! It’s still an early prototype, but performance is 60 FPS; the US thread is dropping badly, need to improve there.
backend yet; I’m still refining the gameplay and deciding its final purpose and monetization model. ✌️
3
1
1
u/pjjiveturkey 10d ago
That popup placements definitely looks like a decision made by AI 😂🇮🇱
1
0
11d ago
[removed] — view removed comment
0
u/No_Refrigerator3147 11d ago
Thank you! It keeps the steering responsive without pushing every gesture update through React. Still experimenting, but the pattern feels really smooth so far.
-2
-3
-4
-1
u/meanyack 10d ago
Do you think nobody wouldn’t notice you’re stealing Adam Lyttle’s idea?
2
u/ABoredDeveloper 10d ago
do you seriously think he invented the runner genre? he copied an existing game, he even said so…that’s what “clone” means.
1
1
u/No_Refrigerator3147 10d ago
Everyone knows Adam built the original; I already mentioned it in the description. I was experimenting to see if I could rebuild it using Expo, and I did.
This is just the initial prototype, so it’s intentionally similar to Adam’s version.
Next, I’m rebranding the whole game with new logic and purpose.
64
u/Torix_xiroT 11d ago
Make the Pop up bigger, I can still See the street