4x Animals
Un 4X de estrategia por turnos hecho para el móvil: civilizaciones de animales que exploran, expanden, explotan y exterminan, en sesiones que entran en un bolsillo.
- Rust
- wgpu
- WGSL
- WASM
- WebGPU
- Tauri
- winit
- JNI
4X Animals es un juego de estrategia por turnos del género 4X (eXplore, eXpand, eXploit, eXterminate) pensado de raíz para mobile. El jugador toma una civilización de animales y la lleva de una manada que explora el mapa a un imperio que domina el continente, en partidas diseñadas para jugarse en el celular sin perder profundidad. La ambición del proyecto es llegar a miles de jugadores en su lanzamiento. Lo que permite apuntar tan alto es un motor 3D propio en Rust/wgpu —una sola simulación que corre nativa en Android, web y desktop— y un equipo que Miguel lidera y dirige, del diseño de producto al renderer de bajo nivel.
Mil jugadores
meta de lanzamiento, no dato logrado
Ejes de juego
explore · expand · exploit · exterminate
Plataformas
Android · web · desktop
LOC Rust
motor propio · ~8k TS además
Un 4X que normalmente vive en la PC, llevado al bolsillo
El 4X es uno de los géneros más profundos de la estrategia, pero casi siempre vive en sesiones largas frente a un escritorio. 4X Animals busca traer esa profundidad —explorar el mapa, expandir tu civilización, explotar recursos y exterminar rivales— a partidas que entren en el ritmo del móvil, sin sentirse recortado. Y para apuntar a miles de jugadores en el lanzamiento, tiene que correr bien en teléfonos reales, no solo en hardware de gama alta.
Motor propio para no quedar atado a un engine pesado
En lugar de cargar un motor genérico, el equipo construye su propio renderer sobre wgpu (que compila a Vulkan, Metal, DX y WebGPU), con una arquitectura de una sola simulación y skins delgadas por plataforma. Eso permite que el mismo juego corra nativo en Android, navegador y escritorio, controlar el costo en mobile y mover el proyecto hacia su meta de alcance con un equipo chico y dirigido. Miguel lidera tanto la dirección del producto como el corazón técnico del motor.
Un juego upcoming con base técnica para escalar
4X Animals está en desarrollo activo: ya corre lado a lado en Android, browser y desktop sobre una simulación determinista y testeada, lista para sostener el multijugador competitivo. El objetivo declarado es llegar a más de diez mil jugadores en su lanzamiento; el motor propio y la arquitectura cross-platform son la apuesta que hace creíble ese número.
Lo que se ve
Tri-plataforma lado a lado
El mismo 4X corriendo en Android, browser y desktop
Las 4 X del género
Explorar, expandir, explotar y exterminar con civilizaciones de animales
Creación de Rey
Oro sobre azul-noche
Motor propio en Rust
10 crates, ~21k LOC sobre wgpu
Una pieza load-bearing
Código real del proyecto — la parte que sostiene la idea.
fn smoothstep(edge0: f32, edge1: f32, t: f32) -> f32 {
let x = ((t - edge0) / (edge1 - edge0)).clamp(0.0, 1.0);
x * x * (3.0 - 2.0 * x)
}
/// Hornea un splatmap 64x64: 0 = material-A puro, 255 = material-B puro.
fn bake_splatmap(mask: NeighborMask) -> Vec<u8> {
let size = SPLATMAP_SIZE as usize;
let mut pixels = vec![0u8; size * size];
for pv in 0..size {
for pu in 0..size {
let u = (pu as f32 + 0.5) / size as f32;
let v = (pv as f32 + 0.5) / size as f32;
let mut blend = 0.0_f32;
if mask.north { blend = blend.max(smoothstep(0.55, 0.85, v)); }
if mask.south { blend = blend.max(smoothstep(0.45, 0.15, v)); }
if mask.east { blend = blend.max(smoothstep(0.55, 0.85, u)); }
if mask.west { blend = blend.max(smoothstep(0.45, 0.15, u)); }
pixels[pv * size + pu] = (blend * 255.0) as u8;
}
}
pixels
}Terrain blend por splatmap + smoothstep. Se prehornean las 16 combinaciones de NeighborMask al arrancar: un splatmap por patrón único, mezclado con smoothstep para bordes suaves.
En concreto
Un 4X completo —explorar, expandir, explotar, exterminar— condensado en sesiones pensadas para jugarse desde el teléfono.
Civilizaciones de animales con identidad propia: el gancho es un 4X accesible y con carácter, no un clon serio de los clásicos de PC.
Motor 3D propio en Rust/wgpu con shaders WGSL escritos a mano: corre nativo en Android (JNI), web (WASM/WebGPU) y desktop (winit) desde un solo core.
Simulación server-authoritative determinista, base sobre la que se construirá el multijugador competitivo.
Diseño de producto documentado a nivel estudio, con anti-referencias explícitas y un equipo dirigido para shippear, no solo prototipar.