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.