rotb.io Postmortem

hassan shaikley
2 min readJan 25, 2024

--

One of my hobbies is MMORPG development. And I know, a single person can’t make an MMORPG! Except for dek. Regardless, I have fun. Usually I use three.js but I have dabbled in the dark art of WebGPU.

Demo url: http://rotb.io

What I’ve learned:

  • Build tools to help build your game. I was writing JSON directly to make things like mobs, or directly in code for some things when JSON would have been preferable. Creating a simple tool to build out the JSON / world saved me a lot of time. It feels silly to think I was directly editing things like wall positions directly when I could have created a tool for that. It’s also a fun exercise IMHO building a tool like that.
  • Slow down and write tests if you can. Bun makes it trivial to write tests on the frontend even if you’re just using it for testing. For the backend there was a lot of complicated and untested code in the name of moving fast. This is the #1 reason why I am rewriting. Testing helps you decouple things, as well. Also when a user runs into a bug you may have just lost a potential fan and user. If your code is getting coupled and you don’t know the right pattern try to find it.
  • Although I shy from “patterns” as I stick to mostly functional programming there are patterns that help a lot. Like passing a function around, and pubsub. Find the right pattern to help componentize and decouple things as much as possible. Try to be creative here but always make sure it doesn’t make you want to tear your hair out at all.
  • Squash bugs early. Don’t keep adding features when 1% is buggy. Pretty soon you’ve hastily added 10 features and 10x’d the chance of running into a bug. Also created 10x the work that you (most likely) find less exciting.
  • Put it in users hands early. I was pretty good about this. It gives you a good sense of whether what you have is fun. I’ve had a few people get into it and play it to the “end” and it is extremely rewarding knowing that.
  • Think about how things will scale. At the very least have a plan for it.

These were the key learnings.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

hassan shaikley
hassan shaikley

No responses yet

Write a response