Show HN: Mochia, a virtual pet browser game, built with Rust, SolidJS, Postgres
2 lemphi 0 7/3/2025, 5:00:11 PM mochia.net ↗
Around three years ago, I was reminiscing about how much I loved playing Neopets as a kid. Meanwhile, I was also looking for a project to better learn Rust and SolidJS. So.. I figured making my own virtual pet browser game would be a fun way to practice! Since then, I’ve been working on it nearly every day, and.. it’s grown quite a bit! Here are some bulleted lists for your convenience:
Technical Details:
* Backend monolithic Rust server runs on a single $5/month VPS
* Lean frontend with just 3 dependencies (SolidJS, Solid Router, and Mutative)
* Around 130,000 combined lines of code (frontend + backend)
* Rust server uses axum, sqlx, tokio, rand, strum, tungstenite (websockets)
* No server crashes or data loss in 3 years (thank you Rust + Postgres!)
* Almost all graphics (500+ assets) are SVGs for perfect detail at every zoom level
* Fully mobile responsive and playable on all modern browsers and devices
* Actor model for player actions enables trivial parallel, multi-core scaling
* Single page application that preloads entire game world on initial page load
* Instantaneous navigation between pages (no additional page fetches required)
* Lightweight game engine for minigames, powered by custom WebGL shaders
* Rust is the single source of truth for data structures shared between browser and server
* Custom derive macros used to autogenerate TypeScript bindings and binary decoding functions
* Binary WebSocket messages with custom protocol for client-server communication
* O(1) selection for nested, weighted-random item reward pools
* Minigames can be played without an account (but rewards can't be saved)
Features: * Completely free to play with no ads or tracking
* Multiplayer browser-based virtual world with 80+ locations to explore
* Dark mode toggle switch
* Simple minigames that smoothly run at your display's refresh rate
* Public leaderboards that track the top scores in each minigame
* Pet training system with turn-based card-based battle arena
* Dynamic player economy with player-run shops
* Player guilds that members can level up to unlock perks
* Abandoned mines area created by maze generation algorithm
* Create / adopt pets, adorn them with hats, give them pets, change their color, etc.
* 220 items to collect (food, toys, cosmetics, books, charms, tiny creatures, etc.)
* In-game currency with banking, auctions, stock market, and jobs system
* Villagers you can talk to, befriend, and complete quests and jobs for
* Optional push notifications (like for when you win an auction)
* 38 achievement avatars to unlock
* Social features: befriend others, send gifts, and share your recent activity
* NPC shops that restock over time (sometimes with very rare items!)
* Luck system with ways to boost your luck for better rewards
* Many puzzles that grant items or MP (currency) when solved
* Fishing, gardening, caves, random events, fountains, galleries, etc.
* Wheels to spin, treasure maps to complete, and secrets to explore!
* Much, much more but I don't want to spoil everything!
Links: * Website URL: https://mochia.net
* Community Discord: https://discord.gg/ub6z8YH866
* Gameplay Video: https://www.youtube.com/watch?v=CC6beIxLq8Q
* Screenshots Album: https://imgur.com/a/FC9f9u3
I'd love to answer any questions, hear any thoughts, or read any sort of feedback or criticism!
No comments yet