For a project that is now over three years old, I’m surprised it can still stand after the beating it gets programming wise. Space Salvager’s come a long way since the early prototype stage, it’s first incarnation was a simple boxed level full of asteroids and the player just flew around shooting them. Now it’s got over eighty sectors, includes far more than just asteroids, and can include multiple players. Well, will include multiple players. The previous X-Box 360 and PC builds have included local multiplayer, but right now I’m implementing the LAN multiplayer, which is just as problematic as I thought it would be. As I said, this is an old project and it was originally developed without most of the features it currently has in mind.
Before the world was meant to end last December, Space Salvager was hemorrhaging code – that’s the best way to describe it really. The game was highly unstable and any little change would wreck everything. I spent a blurry Christmas period re-writing the entire engine beneath it to be far more robust and reflect the new direction the game was going in. This helped tremendously in development from then on and it’s important to note is also helping in the current migration to a network based multiplayer. However, I have never done any network programming before and, although Space Salvager uses XNA, I cannot use the Windows Live network framework. Although I’d like to bring Space Salvager to the X-Box 360, it’s also going on PC, Windows 8, Linux (with some luck), OUYA and possibly the GameStick. None of these platforms support the Windows Live network framework within XNA, or at least according to my research they do not if you don’t want people signing into Live. Thankfully there is Lidgren. One day of practice and reading up and I started implementing network communication into the game and it’s working quite well.
At the current rate it should be completed by Saturday evening, which is fantastic for someone who four days ago had no idea what he was doing. Kudos to the developers of Lidgren, you saved me a lot of time and hassle. While I’m on that, thanks a lot to the developers of Mono and MonoGame, you saved me an exhaustive amount of time and hassle going cross-platform beyond the X-Box 360. As for the game’s multiplayer implementation itself, the interface is very rudimentary at the moment. You can refresh the list of servers, connect and disconnect. The UI needs some mopping up and moving around, but it’s mostly there. In short: LAN multiplayer customisable spaceship fights. Tell your friends.