Javascript Code Sprints and Broken Printers (GHD036)

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.

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.


  1. Mary 8 years ago

    We have a “baby laser” Brother printer that is b/w only and usb only (no wireless). It is a 10+ year old workhorse . I saw one on sale this week for less than $100. For the times you might need only black and white, I highly recommend it. There must be people who are happy with their home color laser printers, but I’ve never met one. :-)

  2. Author
    Dave Seah 8 years ago

    Oh, I like the Brother monochrome laser printers! I have a slightly newer one than yours, a HL5370DW, which is exactly for the purpose you described. Very practical and recommended! I am still on the original toner cartridge too.

    I still need some way of prototyping my design with in color, though, and I used to buy pricier business printers because they tend to be more robust in printing. The Epson Workforce Pro is supposed to be in this category, but both printers I received are defective. Very annoying! I am looking at the newest HP color lasers now, as they seem to be getting good reviews and don’t suffer from clogged print heads from dried-out ink.