Squares in space gameplay

An exercise in over-engineered game programming

As a learning exercise in some object-oriented programming techniques, as well as to spend some time getting more comfortable with Javascript, I decided to develop a small browser game. My main interest was in understanding how message passing can work in practice, and to experiment with dependency injection, but I came away with many other lessons about program organization, especially decoupling. […]