
raw | space
Last week I created raw | space for the js13kGames competition. That means a zip file containing the minified JavaScript code and all assets has to be less than 13kB big.
It turned out to be a multiplayer space war game inspired by the mechanics from Konquest. All players play in the same universe, so there are “Rubberband mechanics” in place to ensure that new joining players still have a chance to become the master of the universe and get an entry in the hall of fame.
You can play the game here: http://js13kgames.com/entries/raw-space
Remember to click those social buttons if you enjoyed playing it.
I heard of the competition a while back, but I’m currently learning stuff for my next exam, so I did not think of participating. Then I saw they provided a Sandbox Server for multiplayer games. I wanted to create a network multiplayer game for quite some time now, but most of the times I tried I wanted to much and got issues with synchronisation and stuff. So when I took some time off from learning last monday I wanted to create some kind of turn based network multiplayer game.
getting an idea
My first thoughts were that I don’t want a game where you have to wait for another player to be online at the same time as you. It should be playable if you are alone, but be more fun and challenging if other players are online with you.
As the theme this time was “Reversed” I initially wanted to go for a kind of level building game where all the players had to build levels together and the computer would play them. “Reversed” to how you normally play a game. That idea was quickly thrown in the bin and been replaced with the idea of a tower defence game where all players together manage the workers to build a city and defend it against monsters. These monsters would spawn in waves even when there was nobody playing, so if players went offline their work might be destroyed. I created some tiles (see screenshot above) but that needed too much time. So somehow I thought of that Konquest game I used to play years ago in school and that this game might be cool to play multiplayer even if the graphics were just very simple circles. That sounded easy enough so that I sat down to quickly create a prototype.
developing the game
The first version was quickly finished in an hour or so where there were just planets generated on a server that increased their ship number every second and selecting a planet would give that pulsating-circle effect that still is in the final game.
On the next day I added ships that could fly from planet to planet. As well you were now asked for your name and were assigned a random color. When you came back you were recognized by a localStorage value and assigned the same name and color.
Then I added the Hall of Fame and some simple instructions. And as well the thing I currently like the most and every game needs: Particles. Particles are just simple filled circles in a color that are used to represend the fire of the ship engines and the small stars in the background.
The game felt pretty good at this point and I played it a lot against myself. When I first minimized and zipped the game it only had a size of 7kB. So I added jsfxr for sounds and even a quickly put together ambient music created with SoundBox which I like more and more the longer I hear it.
Then I tested the game and my poorly written explanation with other player and it was obvious that as soon as you got most of the planets, you would easily win. So I implemented a limit of ships that a planet can store, let this limit decrease with the amount of planets a planet owns and made defending ships stronger for weaker player. Now it is simpler for a new player to join the game and get some planets if the other players are not paying enough attention. Though it is still possible to win the game by conquering all planets if you are able to manage your fleets from many planets correctly.
summary
I am really pleased with the result. It helped that the core mechanics were working well enough soon, so that I could play the game myself. Working on a game that is already playable is just way more fun.
Particles, sound and even this self-“composed” ambient music add a lot to the game. It feels so much more polished than anything I have created so far. I hope that other people have as much fun playing the game as I have and now I really procrastinated a lot and need to go back learning.
bitowl