Saturday 16 November 2013

The Great Refactoring

It's high time for a technical post. I'll have to edit it tomorrow morning to clean it up, though. Two line breaks do not constitute a paragraph.

In fact, this desire for good structure is the cause for this post. The development team has been working hard on rewriting the game engine to be more manageable, more extensible, and frankly more readable. (For those not technically inclined, programmers do need to read code to be able to understand it.) This logical restructuring takes an incredible amount of time, effort, thought, and forethought to be effective, and we have come up with such a system.

We are still fleshing out the implementation and, in the process, refining the architecture of the system to line up with what is technically possible within LibGDX (our core engine). With beta tests a mere week away, we are working around the clock to bring a fun and functional game to the table.

Dealing intuitively with game objects and design patterns (such as Model-View-Controller) and finally collaborating in development via GitHub, development is moving quickly. In four days, we have centralized all game logic and assets, simplified the workflow by which tests are run (to nil in comparison with the previous state), and have created a framework that separates function and responsibility between multiple concepts that interact in simple ways. Over fifty nontrivial commits in, it has been a very productive week.

No comments:

Post a Comment