Clover MMO
In developmentOnline pixel-art RPG that runs in the browser, with direct player-to-player multiplayer.
What it does
Online isometric pixel-art action RPG that runs in the browser. A village and a forest to explore, combat with weapons and spells, fishing, quests, a boss and a pet.
How it's built
- Online play over direct WebRTC between players, with a server room as fallback
- Server-validated economy: inventory, shops, fishing, quests and drops that can't be cheated
- Discord and Google sign-in, two characters per account and cloud saves
- Day-night cycle, weather and a custom zone editor
- Room that sleeps when empty and batched writes to keep Cloudflare costs minimal
Stack
TypeScript · Phaser 4 · Vite · Cloudflare Workers · Durable Objects · D1 · Better Auth · GitHub Actions
Features
- Combat with katanas, a greatsword, a bow and grimoire spells
- Village and East Woods in an isometric world, with day, night and weather
- Fishing, quests, shops and inventory
- Enemies, a boss (the Alpha Wolf) and a pet that follows and attacks
- Multiplayer with chat and parties
- Discord or Google sign-in, 2 characters per account and cloud saves
Technical challenges
Cheat-proof economy
The game only requests actions; the server validates them and returns the new state. An inventory rearrangement is accepted only if items and quantities stay the same, and rolls, distance and timing for fishing, digging and drops are checked on the server.
Low ping with a server outside Brazil
Player positions travel over direct WebRTC between players, cutting ping and server load. The server room is the fallback.
Minimal Cloudflare cost
The room (a Durable Object) sleeps when nobody is active, database writes are batched and the same code builds the map on client and server.
Custom tools
Zone editor · LPC character generator · Icon and sprite generation in Python · Sound assembly with ffmpeg
Personal project · in development · ~44k lines · 139 commits. Non-commercial fan project inspired by the Black Clover universe.