Show HN: I built an indie, browser-based MMORPG
Gameplay, Inspiration, and Feel
- Players consistently note strong Old School RuneScape vibes: click‑to‑move, camera angle, chat style, and 600ms tick rate.
- Described as self‑directed: explore, fight monsters and players, solve puzzles, complete quests, and level various skills (fishing, cooking, mining, smithing, woodcutting, farming, crafting).
- Current content includes NPC quests and riddles, a goblin boss and quest, and a lever‑door puzzle. Some players still feel “not much to do” yet.
- Several comments highlight nostalgia for early‑2000s web games and “when the internet was fun.”
Controls, UX, and Platform Support
- Movement is via click‑to‑move; right‑click handles special interactions.
- Some users struggle to move or see clicks register, especially on poor networks.
- Mobile: movement works, but limited “right‑click” functionality prevents accessing inventory and chat; pinch‑zoom on iOS feels “funky.”
- Firefox/WebGL issues reported on some hardware; workaround involves toggling a browser flag. Developer plans better WebGL detection and error handling.
Networking, Performance, and Architecture
- Server tick is 600ms, chosen to match movement pacing and similar games.
- About 200 users per $5/month instance; scaling is hard when many players cluster in one location because updates scale roughly O(n²).
- Server logic runs in Node.js with rule‑based ticks; client interpolates between ticks for smoothness.
- Developer notes 1.2ms average tick computation time, leaving plenty of headroom at 600ms.
- Discussion of whether faster ticks (e.g., 50ms) are feasible; consensus: maybe with good geolocation and sophisticated lag handling.
- Side discussion on WebRTC/DataChannel and WebTransport for UDP‑like behavior; acknowledged as powerful but complex.
Scalability and Outages
- Game repeatedly hit by the “HN hug of death,” returning 502 errors.
- Initial root cause turned out not to be pure load but an SMTP provider blocking emails, which cascaded into server failures.
- Tweaks included TCP settings changes, disabling email, and switching to a transactional email service.
Monetization and Business Viability
- Developer currently treats it as a low‑expense hobby with possible future membership or expanded‑world model.
- Another indie MMO developer shares that tech is the easy part; marketing, community, and business are harder and time‑consuming.
- Suggestions include visible donation bars tied to monthly costs, per‑player cost breakdowns, cosmetic‑only paid items, and social/status cosmetics.
Web Technologies and Language Choices
- Debate over JavaScript for a “performance‑critical” MMO:
- Some argue JS is sufficient, especially given 600ms ticks and I/O‑bound workloads.
- Others criticize general software bloat and Electron‑style apps but acknowledge that shipping matters more than perfect optimization.
- Mentions of potential C++/WASM plugins for heavy server work and the existence of impressive JS/Three.js/WebGL projects.
Community Reactions and Social Dynamics
- Many users report brief but enjoyable sessions: killing chickens and cows, teaming up on monsters, and nostalgic PK encounters.
- Emergent social stories: players collectively attacking a racist chatter, stealing loot, and joking about in‑game “communism.”
- Some players find combat “slow but intense” and suggest gameplay tweaks (e.g., disabling attacking while walking to allow fleeing).
- Overall sentiment is highly positive toward the ambition, nostalgia, and “fun indie MMO on the web” aspect, even with rough edges and downtime.