So, I see that my blog is the one place I forgot to announced that I’ve accepted the position of Software Engineer at 2K Sports to work with the NBA 2K team. Oh well. So, yeah, that’s pretty much it. Expect more about that soon. (I’m really excited about it, magnitudes more than this first paragraph shows, but this is not exactly the reason for this post.)
However, not everyone took that too well. There’s a lot of people using the tools I created for NBA 2K12 and 2K13, and they’re disappointed to see me go and stop developing game-specific tools (other tools like NBA Stats Tracker and Hex on Steroids I’ll still work on as a hobby whenever time allows). However, since all my work is open-source, there’s nothing stopping you, any of you, to grab the source code, edit it to your heart’s content, compile and re-release. There’s even a project that I know people were waiting for, namely Roster Workshop, which was to be 2K13’s equivalent of last year’s Roster Merge & Repair, improved and with a whole lot of new features, that never got released with how things turned out. Still, nothing stopping you from releasing it and keeping on working on it. Any of my tools.
This will seem like the most obvious tip ever, but I thought I’d get it out there for those that may have forgotten about it in a while. If you’ve ran out of ideas on what to work on your project next (i.e. you have no new features or improvements in mind), try going through your codebase and find the oldest pieces of it. (Side note: Having your codebase be in something like a Git repository that can tell you when each line of code was committed and thus last edited can be amazingly helpful.) Chances are you’ve grown since then. You’re a better developer. You have more tricks up your sleeve. Maybe you know of a new algorithm, a new library, a new, better way to do things. Maybe you’ve read about security risks you weren’t aware of. There’s almost definitely going to be something there that could use some tidying up, some improvement.
Look for redundancies, variables or parameters that seemed helpful at the time, but now seem obviously unneeded. Look for opportunities to refactor, to optimize, to parallelize. Look for possible security risks, replace unsafe procedures and methods with safer ones. Maybe try doing a whole piece of code from scratch.