“React Native no sirve para juegos.” Lo hemos escuchado cientos de veces. Y tiene sentido si piensas en juegos 3D AAA. Pero para juegos 2D — tycoon, puzzle, idle, arcade — React Native con Skia es una opción sorprendentemente potente.
Por qué Skia
@shopify/react-native-skia trae el motor de renderizado Skia (el mismo que usa Chrome y Flutter) a React Native. Esto significa:
- Canvas nativo con renderizado a 60fps
- Dibujo procedural — rectángulos, círculos, gradientes, paths
- Sin bridge — renderizado directo en el hilo de UI nativo
- Cross-platform — mismo código en iOS y Android
Nuestro caso: Build Your Empire
En nuestro juego de simulación empresarial, toda la escena visual se dibuja con Skia:
// Cada edificio es una serie de rectángulos 8x8
const drawBuilding = (canvas, x, y, floors, color) => {
for (let f = 0; f < floors; f++) {
canvas.drawRect(
{ x, y: y - f * 8, width: 16, height: 8 },
{ color }
);
}
};
Ventajas de este enfoque:
- Zero assets — no necesitas sprite sheets ni atlas de texturas
- Dinámico — la torre del jugador crece en tiempo real según empleados
- Ligero — el bundle pesa menos sin assets de imagen
- Personalizable — cambiar colores o tamaños es cambiar un número
Limitaciones reales
No todo es perfecto:
- No sirve para juegos con muchas animaciones complejas — sin sistema de partículas nativo
- Sin físicas — necesitarías integrar una librería aparte
- Debugging visual — no hay inspector como en Unity
- Comunidad pequeña — menos recursos y tutoriales que Unity/Godot
Cuándo usar React Native + Skia para juegos
| Buen fit | Mal fit |
|---|---|
| Tycoon / simulación | Juegos de acción rápida |
| Puzzle / casual | Juegos con físicas complejas |
| Idle / clicker | 3D de cualquier tipo |
| Board games digitales | Multiplayer en tiempo real |
| Prototipos rápidos | Juegos con muchas animaciones |
Conclusión
Si ya dominas React Native y quieres crear un juego 2D sin aprender un motor nuevo, Skia es tu mejor opción. No reemplaza a Unity ni a Godot, pero para ciertos géneros es más que suficiente — y te permite reutilizar todo tu conocimiento de React, TypeScript y el ecosistema npm.