Hobby project burnout
Previously on gomepage, I wrote a bit about Server Pets, the then-unannounced pet game I was working on for the Ctrl-C server. At that time, I said:
So, no word on when this will come out or whether I’ll just get bogged down and abandon it again, but I’d really love to finish it this time.
Well, a bit of both happened. Fortunately, I did finish and release the project this time, in some sense of those terms. Unfortunately, I also got bogged down again and decided to step away from it for the time being.
Basically, after many false starts, and feeling the weight of my many other abandoned projects, I pushed myself really hard to get Server Pets done this time. I spent the majority of my free time on it for the last two months. I stopped writing posts on here, despite wanting to restart that habit, because I was devoting that time to development. I got kind of fixated on it, spending more time on it than I should have, even when it wasn’t fun anymore, just because I didn’t want to be stuck with another unfinished program I’d want to redo in another year.

Even then, I wasn’t very efficient with my time. Since I was the only one working on this project, I kept trying to make the code as nice as I could make it. I got sidetracked on optimizations that would never even make a difference in the final game experience. I justified this by telling myself I was learning a lot more this way, which is true, but it also kept pushing away my true goal of actually shipping the game, and increasing the effort it would take to get there.
After a couple months of this, I finally got things to a place where I felt ready to do a public beta release. So I put it on Ctrl-C and made an announcement post on Iris (#501 if you are on Ctrl-C and want to read it yourself). There were a couple people trying it out, and things seemed to be going fine at first. I was watching the server closely. Then I started getting reports that it wasn’t working for people. The server was going down or just stalling randomly, and I didn’t really understand why. Eventually, it got worse, and I couldn’t even start the server without it stalling instantly.
Now, when it comes down to it, I know all I really need to do is some more testing and debugging. The setup is a little complicated, because I’m using Unix domain sockets and POSIX threads, and both of these are kind of old APIs that I never fully grasped in the first place. But it’s not anything I couldn’t overcome with some more time and effort.
But sadly, I’ve reached the end of my rope, at least for now. I just really don’t want to work on this project anymore, because I went way past the point where I was having fun, just for the sake of getting it done, and it’s still not done. I still don’t even know if the final product will be fun for anyone, myself included.
I still haven’t ruled out just dumping my nice Zig codebase, with the fancy low-level client-server architecture, and just hacking together a much simpler version in a goopy language like Javascript or Lua or Python. But before I take drastic measures, I think I need to just take a breather and work on something else for a while. For now, I’d like to focus on writing again!
Have you ever burned out on a project you were just doing for fun?
Have you ever pushed yourself extra hard on a project because you were worried you wouldn’t finish it?
Have you ever put a lot of effort in and not gotten to the point you wanted to get to?
Let me know your thoughts at my Ctrl-C email: gome @ ctrl-c.club
.