Rawkes

Rawkets development update #2

It

It's been near on a month since the first update, which means it's definitely time for another insight into the development of Rawkets. Hooray! Overall, the last few weeks have been insane; the game has come on leaps and bounds in terms of functionality, and two freaking awesome things happened, both of which I'll talk about in a moment. The main thing I've realised over this time is that developing an online multiplayer game is a hundreds of times more complex than I thought it would be. This isn't a bad thing though as I kind of get a kick out of challenges! Still, I'm constantly being left amazed and inspired by what can be done with a bit of JavaScript, HTML5 canvas, and WebSockets – I'm as passionate and excited about learning these technologies as I am about developing the game. Anyway, here is the update that I'm sure you've been waiting for with bated breath…

Major changes since the last update

As I've already mentioned, the game has progressed immensely since the last update. I could bore you with loads of specific things that have changed, but I'll save that for another day. Instead, let me give you a run-down of the most noticeable developments:

Twitter authentication and usernames

One of the major issues with the game was that anyone could play, and that each player could open the game in as many browser windows as they wanted, causing all sorts of performance issues. To circumvent this I've introduced the requirement of a Twitter account to play the game. As this feature stands, a player must sign in to Twitter and connect to the Rawkets application before they can load the game.

I'm well aware that not everyone uses Twitter and that not everyone wants to link their Twitter details to the game, so because of this I'm planning on introducing a method for players to join the game as guest. This means that guests can play, but they won't have the full functionality that comes with connecting a Twitter account.

Better latency

An inherent problem to be aware of when developing an online multiplayer game is that of latency, the speed of data transmission between the player and the game server. The initial version of the game wasn't particularly amazing at this; it basically communicated with massively extravagant messages. By cutting down on these messages and introducing a better protocol for their compression (like using BISON instead of JSON), I have been able to increase the network performance of the game. You may not notice it, but I can assure you that the quantity and physical size of messages being sent back and forth has dramatically decreased.

Server stability

Unfortunately the initial game had a selection of bugs that caused the server to keel over. I can say with confidence that no one likes a game that crashes all the time (I know I certainly don't), so I spent hour upon hour debugging the issues until I'd fixed each and every one of them. In hindsight the problems were obvious; there was a massive element of miscommunication between the player and the server which caused players to cease to exist. Not good! Fortunately it's all fixed now and the server only crashes when I upload obviously dodgy code.

Guns

If I had a pound for every person who asked me to add guns to Rawkets I'd be a multi-millionaire. The addition of weapons has been the number one request by far, and who am I to argue with an army of angry players? So I spent a good half day developing guns for the game, and can proudly say they work really well. I do have to thank everyone who asked me to implement them though; it's so much fun to shoot people!

Increased activity

There are now roughly the same amount of players in the game during a single day as there are visitors to this website. That's mind blowing if you consider the game is only a few weeks old – In comparison, this website is around 5 years old! I'm hoping that more and more players will come to the game and join the fun as it matures and gets publicised, but only time will tell with that.

Testing is an enlightening experience

An integral part of the development process is testing. Absolutely any update to the game gets uploaded so it can be tested by the most important people ever, you lovely people – the players. This has been an incredibly eye-opening experience for me, not only because you guys have a knack of uncovering bugs, but also because it's absolutely fascinating to watch your reaction to new features and changes. For example, the moment I added guns into the game was a pretty tense affair for me as I wasn't sure if they were going to work. My fears turned out to be unfounded, however what amazed me most was the reaction to the addition of weapons. You absolutely fucking loved them! Consider for a moment that this was a feature I hadn't planned to implement, ever.

I definitely believe releasing early and updating often is the way to go; you learn so much as a developer from the way people use your product. The most valuable part of this is that users uncover issues that you'd never normally find if you tested it on your own. I have to give a hat-tip to Elliott Kember and Steve Lacey who both love to break things and cheat the game, the cheeky buggers.

In-game videos for those who've missed out

For those of you who've been living under a rock, here are a couple of videos that show the latest developments.

Twitter authentication, @names, and bug fixes in Rawkets.

An epic battle in Rawkets.

And that awesome news I mentioned?

Oh yeah, I said there were a couple of awesome things that happened to the game. I suppose I better fill you in…

The first piece of awesomeness is that Daniel Pharos from Knights of Soundtrack is composing all the music and sound effects for the game. I chose Daniel not only because I absolutely love the work on his website, but also because he's a really nice guy. You should never underestimate the difference a first impression makes people! Anyway, make sure you and mention you heard about him from Rawkets.

We're still in the early stages of production at the moment, but some basic sounds are now starting to make their way into development version of the game (they sound amazing). In fact, I can proudly announce that an early version of the beautiful and hypnotic soundtrack is now available for your aural pleasure. Enjoy.

Rawkets Soundtrack by Daniel Pharos

The second piece of awesome news is, well, freaking awesome.

It's no surprise that the hardware requirements for a massively multiplayer online game are huge; just think of all the players and updates that have to be sent back and forth. My current server set up is really swish, but it's not super amazing; and even if it was, it's where I host this website and all sorts of other stuff. The game ideally needs something more powerful that focusses its attention on nothing else. It's with this that I can proudly announce that the lovely guys at Pearspace are now the hosting sponsor for Rawkets. They've given the game a super-cool dedicated server to be hosted on, something that will give it faster connection speeds, better reliability, and the breathing space necessary for it to grow (hint: it's not yet massively multiplayer). This is a really wicked thing and I'm so happy that Pearspace have offered to give me this hardware to work with.

Pearspace also host this website and have done for years; they are a fantastic host that I can't recommend enough. So if you're looking for any kind of hosting, please get yourself on to the Pearspace website and . You won't regret it.

Before I go…

I know this has been a long update, but there are a few things I'd like to say before I go. The first is that Rawkets is completely open source, so follow its development on Github if you're interested in how it works. Secondly, I'm on the lookout for feature suggestions and bug reports. There have already received some awesome suggestions so far, but I'd love for you to add your own on the dedicated area for requests and bug reports. And finally, please, vote for, stumble, Tweet about, and like the game. Thank you!

Oh, and make sure you and actually play the game!


Got something to say?

Just want to share this article?