We have been making great progress in rewriting The Viceroy for Java this week! But since this is our first weekly blog about it, let's start from the beginning!
We are rewriting The Viceroy in Java because it was too unwieldy to keep updating in Python. It also felt like Python and Pygame were holding us back through things like being 32-bit (which caused an early crash when saving bug when the game hit the 2GB memory ceiling for 32-bit applications) and generally not being as fast as alternatives. We are still eternally grateful Python and Pygame gave us such an easy entry to the gaming world, but it was time to move on.
We are making the new version of The Viceroy in Java using a library called libgdx. After having used both, we would strongly recommend people interested in making games in the future start with Java and libgdx to begin with, if you're interested in having a lot of control over what you're doing and you are interested in going heavily into the programming side of game design. (If you'd rather do a lot less programming, maybe something like Unity would be better for you. But we enjoy the programming!)
The first stage of this rewrite is mostly just about bringing it to an identical state as the current The Viceroy, but the new platform and our greater knowledge of game making should allow us to add features much more rapidly in the future! You should immediately enjoy much greater speed, much greater stability, and the ability for us to add scale to the game in a way we couldn't with the Python version and its hard memory ceiling.
Current state of the game: Currently, the display of the game is generally done. Mostly, we are just lacking the very last of the Next Turn calculation, a few interactions that rely on the Next Turn interaction, and hooking up the values returned from the Next Turn calculations to the display. (Buying technologies, generating lists of buildable buildings, and so on.) You can see some of those issues in the next screenshot, such as that the trade ships are not displaying properly. (Yet!)
We will be putting out a weekly 'The Viceroy' programming update from now on, every Friday. So watch this space!