I open-sourced a game and it was awesome
Not trying to be a jerk, but you break a lot of Ruby language conventions. I would add improving that to the top of your list.
The first response to my Reddit thread about my CYOA engine. This was probably the best response I could have hoped for.
I’ve been pushed to open-source my code many, many times. Usually I don’t listen — mostly because I like keeping certain projects closed-source, or because a lot of the code I write is either an assignment or a script to automate some process I don’t want to do manually. After hearing Erik Michaels-Ober’s talk on open source at Boston.io, which was another call-to-action for young developers to get into the open-source scene, I decided that instead of putting up something new I’d publicize a side project of mine.
I had this dinky Choose-Your-Own-Adventure (CYOA) game I made. The content was taken from a book I found while playing Skyrim, and the program itself was basically a DFA. To be honest, I wasn’t proud of it because it was a really trivial program (definitely not as cool as ClownFactory), but it was fun to make so I put it on Github.
A month later I made the Reddit thread. My single-serving CYOA game is now a game engine (dubbed “kolb engine”, or just “kolb”). The git repo now has 6 watchers, and someone had submitted a big change to my code shortly after I made that thread. It’s also on RubyGems and has 26 downloads at the time of posting. Anyone can use the silly ruby program I created on a whim and make their own CYOA game.
6 watchers, 1 fork, 1 pull request, 26 downloads. Okay, I guess those numbers are kind of weak. So why am I so pleased?
Because: I got a free code review, and I made something that was interesting enough that it was worth looking at. I learned about Ruby project structure, put a gem up on RubyGems.org, and made something that’s not only for me.
The main takeaway is that open source is cool. I’m planning on continuing to push updates to Kolb and even contribute to other gems now that I know my way around gem projects.