Javascript Code Sprints and Broken Printers (GHD036)

Tuesday was a very long day of kicking off a major coding sprint; I’m just wrapping it up at 4AM on Wednesday, in fact! I spent a good chunk of the day reviewing our research code base to look for problems and opportunities for improvement in the next phase of the project. A lot of this work is relevant to my game project goal, but it is also the kind of work that is not very exciting to show off because it is mostly text. In this post I’ll just quickly recap the kind of things I’m looking at as a report.

Cleaning up for Clarity

Our development tools run on Mac OS X, deploying a local networked web application. While the system is fairly well organized into modules, there are some fragments of code that are not well commented. Today I went through most of the basic system services, adding comments so future users of the code base know the purpose of each module and how they intermingle. The systems I reviewed today are:

  • Our Behavior Tree AI subsystem (a lot fancier-sounding that it is)
  • Our rendering, visual representation, visual effects, and piece creation factory modules
  • Our inter-app server communications system and supporting objects
  • Our piece-to-piece messaging and piecegroup to group test modules
  • Our raw input entity to piece mapping algorithms
  • Our hodge-podge of logic filtering and conditional testing objects

Quite a few of these things need formalization and consolidation. For example there are three or four different ways that the idea of a “message” or “event” is used. I suspect all the systems could be collapsed into a single easier-to-remember approach, but that will have to come in a couple of months.

We’re going to improve the game engine and streamline the way it works, and I’d like to make easier to update than our current allows us to. I spent a big chunk of time looking at how Mimosa, Git, and Bower worked (all development management tools) interact with each other so I can split the project into two distinct libraries that can be updated independently of each other. On top of that, now is an opportunity to update some of the underlying webapp framework, which was selected in 2014. There have been several advances since then.

I’m going to be on this for the next couple of days, and it’s consuming much of my attention and energy. I’m not sure what the answers are at this point, as I’m still working out what direction I need to move our codebase toward. Hopefully it will come to me tomorrow when I am much fresher.

Busted Printer

I have also been inconvenienced by my non-functioning Epson Workforce Pro 4630 All-In-One printer. Featurewise it’s a pretty great printer when it works, but this particular one has not been able to print in color since I received it as a replacement for the previous one I had that couldn’t print in black and white. I am pretty irritated at this point and am tempted to throw the whole thing away and get a new one, but I will have to try to get another refurb unit by sitting through Epson’s 90-minute wait time on their phone support. I am so irritated. I spent a couple hours looking at color laser printers (kind of pricey) and then drove to Staples to see some of them in person. I’m leaning toward the HP color lasers, though they are $249 to $379. I am sick of crappy inkjet printers failing.

Stuff Learned and GHDR Points Earned

Not much progress today in a GOAL sense.

PTS DESCRIPTION
5 Eliminated some options
2 Posted words on this website!
1 Researched a lot of code-related stuff

A measly 8 points, but this is the necessary (and slow) ramp up to do some significant coding work, which will help me on my game-related coding projects.


About this Article Series

For my 2016 Groundhog Day Resolutions, I'm challenging myself to make something goal-related every day from February 2nd through December 12. All the related posts (and more!) are gathered on the Challenge Page.