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!

Comments (0)

No comments yet