Clover MMO
En desarrolloRPG online en pixel art que corre en el navegador, con multijugador directo entre jugadores.
Qué hace
RPG de acción online en pixel art isométrico que corre en el navegador. Una aldea y un bosque para explorar, combate con armas y magias, pesca, misiones, un jefe y una mascota.
Cómo está hecho
- Online con conexión WebRTC directa entre jugadores y una sala en el servidor como respaldo
- Economía validada en el servidor: inventario, tiendas, pesca, misiones y drops a prueba de trampas
- Login con Discord y Google, dos personajes por cuenta y guardado en la nube
- Ciclo de día y noche, clima y un editor de zonas propio
- Sala que duerme sin jugadores y escrituras agrupadas para un costo mínimo en Cloudflare
Stack
TypeScript · Phaser 4 · Vite · Cloudflare Workers · Durable Objects · D1 · Better Auth · GitHub Actions
Funcionalidades
- Combate con katanas, espadón, arco y magias de grimorio
- Aldea y Bosque del Este en un mundo isométrico, con día, noche y clima
- Pesca, misiones, tiendas e inventario
- Enemigos, un jefe (el Lobo Alfa) y una mascota que sigue y ataca
- Multijugador con chat y grupo
- Login con Discord o Google, 2 personajes por cuenta y guardado en la nube
Desafíos técnicos
Economía a prueba de trampas
El juego solo pide acciones; el servidor las valida y devuelve el nuevo estado. Un reordenamiento del inventario solo se acepta si los objetos y las cantidades siguen iguales, y los sorteos, la distancia y el tiempo de pesca, excavación y drops se validan en el servidor.
Ping bajo con servidor fuera de Brasil
La posición de los jugadores va por WebRTC directo entre ellos, lo que reduce el ping y la carga del servidor. La sala del servidor queda de respaldo.
Costo mínimo en Cloudflare
La sala (un Durable Object) duerme cuando nadie está activo, las escrituras en la base se agrupan y el mismo código arma el mapa en el cliente y en el servidor.
Herramientas propias
Editor de zonas · Generador de personajes LPC · Generación de íconos y sprites en Python · Montaje de sonidos con ffmpeg
Proyecto personal · en desarrollo · ~44 mil líneas · 139 commits. Proyecto de fan, sin fines comerciales, inspirado en el universo de Black Clover.