Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I've been running a browser-based MMORPG for a couple of years and when I started out I was a total novice in Node.js. I didn't even know how modules worked so the back end was just one big file. Needless to say, the code is a complete mess and the refactoring has made it even worse since I've started to implement some patterns just to regret it.

I'm thinking of making the whole game open source but I'm so ashamed of the codebase that I don't want anyone to see it. It's a dilemma since I think the game has potential as an open source project. It's inspired by Ultima Online, Minecraft and Reign of Kings but with a lot of constraints making it easy to implement new features. It also has quite a few dedicated players.



Don't let us hanging, what's the game? I've been looking for something web-based and casual to log few times a day and click some stuff:)


It's actually almost unplayable right now since a bug I haven't managed to pinpoint is messing up all the mines (ugly codebase doesn't help). They're completely strip-mined and the economy is broken with a few players sitting on all the resources. I wouldn't recommend starting until I've managed to fix it in and restart the world.

I'm currently in the process of rewriting the front-end from the old jQuery mess to React. It's like 95% feature complete but as soon as that is done I will start investigating what's going on with the mines.

Anyway, here it is: http://canvaslegacy.com/

Again, I strongly advise against starting right now since you won't experience the game like it's supposed to be. It's hard mode even for seasoned players. :)


> It's actually almost unplayable right now since a bug I haven't managed to pinpoint is messing up all the mines ... > I'm currently in the process of rewriting the front-end

These two things seem somewhat at odds with each other. Clearly, to players of your game, a fix for this show-stopping bug would offer a fair amount of value, whereas rewriting the frontend, from your description at least, sounds like an exercise that is more for you as the developer.

I'm not criticising, by the way. Just sharing my thoughts based on your comment :)


Yes, you are right. The thing is though that I'm making the game mostly for myself and I always tell my players that they are playing at their own risk. It's very early alpha and they may lose everything.

I tried fixing it initially but eventually gave up and put the whole development on hold for 6 months. Also note that the problem gradually got worse. In the beginning it wasn't such a big deal but eventually became post-apocalyptic when players had a hard time finding even the most basic resources.

Another aspect is the amount of support I had to take care of when the player base was at its peak. It almost made me burn out, consdering that it's a side-project that I'm not making any money of. So when this major bug started affecting the game and the active players began dropping it was almost a relief. I never expected that anyone wanted to play it to begin with. I just put it out there as soon as I had something playable.

So after a long hiatus the joy of rewriting the front-end made me motivated to work on it again. Perhaps not the best strategic move but it feels good to be back. :)


Great response, thank you for taking my words in the spirit they were intended :) I battle hard to find approaches to my next features that will motivate me to actually get them finished too. I'm learning that this is a big factor in a programmer's experience. So I understand completely.


I say go for it - everybody learns something about good and bad code design when more code becomes available, and despite what you may think of it, there's still stuff to learn, especially form larger code bases.




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: