Programming: The Importance of The Groove

Every good post starts with a deep breath and a long exhale, right?

Most people have their own workflow and accomplish their goals at a pace that is right for them. That seems to be the natural way of things. Personally, I am the kind of worker who excels at stepping onto the highway and driving nonstop to the destination, fuel be damned! This is especially true of my programming projects, for the simple reason that in order to make a complex piece of software, one essentially needs to load all those complexities into his brain and move them around, kind of like one of those jumbled up picture squares that the inevitable health conscious neighbour would give us on Halloween instead of candy. Manipulating all of that information and knowing the constructs and concepts inside and out is “The Groove” and, at least for me, it is the most important aspect of successful programming.

In May of this year I started working on a new project, RocketTux, with the idea that it would be a stepping stone toward creating HTML5/JavaScript games rather than slogging away at C++/Lua based MMO emulator mods or Python/Blender related projects. I put a fair amount of effort into creating a simple, yet effective workflow, using tools that “just work” in Linux Mint 17.3 and that I am already comfortable with. All was going well and I made quite a bit of progress until… Updates to my Legend of Hondo project and helping out with the Tarkin II project happened. Hello mental train wreck, how nice of you to obliterate my house of awesome!

Now, a couple months hence, I am sitting here picking through the rubble of my RocketTux groove, essentially relearning both the software framework and my workflow all over again. And, it sucks. And… it’s my fault.

Losing the groove due to dividing my time between multiple projects is 100% the result of poor discipline on my part. I am self aware, I know how I work, I know how I create, I know how I design… Most importantly, I know better. Truly, I do. For me to actually achieve a goal, I need to work at it exclusively until the damned thing is complete!

Now, this doesn’t mean that I must work on a project at the expense of everything else in my life. Rather, it simply means that I need to confine my thinking, pondering, dreaming, designing, and other cognitive processes used for hobbies to a single project at a time. Focusing on one project is a lot like reading a novel, where you can read a few chapters, put the book down and go to work, then read some more when you get home later, easily picking up from where you left off, because the story is fresh in your mind. Because… you were “in the groove”!

“Respect the groove, reward the world!” – words I need to live by! And you can quote me on that. 🙂

Now with that said, as much as I would dearly like to hang up my SWG/SWGEmu modding hat for good, I started something with Bio-Engineering that I would like to finish. It’s something for me, by me, and one day I might have some fun using it! Unfortunately, in typical SWG/SWGEmu fashion, some of the work is super duper whooper tedious (14+ client/server files to add a single new BE pet…), which translates into “will take an ass load of time, while also being very, very boring in the process”, so I have been reluctant to continue on with it; I WANT to be working on RocketTux, but I lost that groove and replaced it with the SWGEmu modding groove again. *sigh* So, I may as well “go with it” and finish the Bio-Engineer mods that I started. Once they are finished though, I am hanging up my Legend of Hondo hat indefinitely and yes, that means I will not finish the project. Honestly, I would rather create HTML5/JavaScript side scroller games, because they are both more accessible to end users and astonishingly more enjoyable to develop.