What is BattleBoardz?
BattleBoardz is a turn-based, "hotseat" 2-player strategy game written in Java by Steve Kanellopoulos. It's a personal project created for fun and is a free game. You are free to download, play and/or make copies of the game.
A Little History...
BattleBoardz started as my first serious attempt at creating my own video game. At this time, I was fairly new to programming. I knew how to create basic console applications using C++, and basic GUI appplications using VB. Hence, the game was originally written in VB. With the little free time I had to work on the project, and the amount of additional knowledge I needed before I could truly paint my vision, it took several years before its initial release in December 2008. It was by far the largest software project I had ever worked on.
Following the initial release, a number of updates were released that included bug fixes, balancing, new features and tweaks. However, Version 1.03b, released in January of 2009, was the last of the versions (which I now refer to as BattleBoardz Legacy) to use VB.
By this time I was done my college studies and had already begun my university studies. It was time to leave behind this monster source code and focus on something more clean and fresh. But no, I'm not yet talking about the Java version of BattleBoardz. What I'm referring to is a completely different project, called Locks 'N' Rocks, which was written in C# and had its initial release in September 2009. This initial release took much less time because the scope was much smaller and more manageable, the design was much simpler and cleaner, and I knew a whole lot more about software and programming in general. You can find out more info about Locks 'N' Rocks at its official website here.
Having learned so much from the two projects, as well as from my studies, I realized that the source code for BattleBoardz Legacy would simply no longer cut it. I felt that it was not maintainable or manageable at all, but I still wanted to update the game. In order to do so, I decided to just re-write the code, rather than trying to fix what I already had. This provided several benefits. First, it needed to be re-designed anyway, so it was easier to simply implement the new design rather than first refactoring the existing code. Second, re-writing it from scratch provided an opportunity to more easily incorporate drastic changes corresponding to an evolved version of my vision. Third, I was able to choose any tools I wanted, without being tied to those used by the legacy versions.
Why Java?
Is Java my favourite programming language? No. In fact, I don't really have a favourite programming language. I just like programming. But, just because I don't have a favourite, doesn't mean that it doesn't matter. It's important to choose the right tool for the right job, and there are many reasons why I chose Java for the BattleBoardz re-write. What was most important was that the re-write was maintainable, with a clean design and readable implementation. Being cross platform was also critical, which was easily taken care of by Java. Also, knowing that the game is very light on graphics with little to no animation, Java's performance hit was not much of an issue, especially being a turn-based game.
Questions and Comments
Have a question or a comment related to BattleBoardz or this website? I'd love to hear your feedback! Send your queries to info@battleboardz.com.