Thursday, February 7, 2008

Planning things out in advance.

We've been working on OpenFracas for about half a year now, with various degrees of activity dictated by the other parts of our lives, and now we've got the game into a playable state. A lot of the work we've been doing for the past while now (post 0.3 release) has been to experiment with new features and things that would improve the existing experience, rather than to add huge new aspects of play to the game. The option for capitals, for example, which made its way into the game with the 0.3 release, was something quite drastic. The work being done now is more ... subtle, if you will. This means that we've been working more with the existing code base than we have with new code that we're still in the process of creating.

This has already prompted one big code cleanup at the core of the game, and we're currently experimenting with overhauling the drawing code to try and speed up map rendering a little bit. The code in some sections has been growing slowly for so long, that it has become rather untidy. By untidy, I mean that when additional features were tacked on, they were not done so with any overarching pattern or approach in mind. As an example, a lot of the code designed to figure out which countries neighboured others (the part that has been rewritten already) wasn't designed to take things like harbours into consideration - they didn't exist when the code was written. We wanted to have it working asap so we could go ahead and get other important parts written as well. Recent work on adding new features prompted us to revisit this code and replace it with something cleaner and more flexible. The result is code that is more more readable, and much faster to create.

Now that the game is (for the most part) working, we need to do more of this kind of rewrite. Before we move on and add things like sound, networking, game saving, etc, we need to stop and clean up the code we have already.

Our plan, as it stands now, is to focus primarily on usability and polishing the user-related aspects of the game for our version 0.4 release. We want to have the game working very well for the 0.4 release, because we're not entirely sure how long it will be until we make another release after that. After 0.4, we're going to be doing a lot of clean-up on the our code-base. This is not the kind of work that will necessarily add new features, but is that necessary kind of work that will allow us to add new, more complex features faster in the future.

Saturday, February 2, 2008

Mucking about with a map editor

It's something that OpenFracas has been missing. The ability to create custom maps is something that we'd love to give users, and eventually we will. We have no official plans for it yet, but once we have a map editor that is capable of creating these maps, we want to have a custom maps section on our web site.

All of this is jumping the gun a little bit, since the Map Editor is very new, and very lacking in features. For now, at least. The code for drawing maps in the map editor is actually where the code for the new faster map previews (mentioned earlier) comes from. This has been sitting around for a while, now, growing ever so slowly. It might not make it into the 0.4 release, as there are a number of other things that we want to get done, or need to polish, but eventually we'd really like to make map customization available.