Evertide — un mundo pirata corriendo sobre WebGPU
Leo Brando
@leo_brando_
Navegación en tercera persona, combate naval multijugador
Un mundo pirata en el navegador. Navegas con viento vivo en tercera persona, peleas contra otras tripulaciones a cañonazos, y el daño que recibes significa algo de verdad.
Sin barras de vida: el modelo de daño al casco es espacial. Las balas abren agujeros, los agujeros inundan, y un barco inundándose maniobra peor hasta que alguien lo repara. Alrededor de eso hay un loop de loot físico, mares por niveles con tormentas y jefes de mundo, guerra de facciones, tripulaciones, cuentas y progresión.
Servidor autoritativo de punta a punta, TypeScript estricto en todo, renderizado sobre WebGPU.
Cómo está armado: · packages/shared — lógica de juego pura y determinista (olas, viento, simulación de barco, casco, loot, bots, eventos de mundo), sin dependencias y con protocolo WebSocket en zod. Con tests unitarios, y la razón por la que la predicción del cliente calza con el servidor. · apps/client — Vite + React 19 + react-three-fiber sobre WebGPURenderer, océano en TSL, pipeline de post filmico y netcode por interpolación de snapshots. · apps/server — uWebSockets.js autoritativo: sala única, simulación a 20 Hz, snapshots a 10 Hz, autenticación argon2id + JWT, PostgreSQL vía Drizzle.
Arte procedural low-poly más kits CC0 de Kenney.
- uWebSockets.js
- React 19
- react-three-fiber
- WebGPU
- PostgreSQL
- Drizzle
2 comentarios
@javier hace 5 días
el barco inundándose cambia todo el combate, no lo esperaba
▲ 17
@anon_dev hace 3 días
WebGPU in production already? how is browser support treating you
▲ 11