We've been working hard this November! I've been programming 15 hours a day, including weekends, since the last two weeks. I thought the game would be easy and fun to develop but, two words made it almost impossible: ONLINE ARCHITECTURE.
I spent 80% of the month developing the online communications and lag compensation, and didn't achieve an excellent result. Due to budget limitations, I had to run node.js and socket.io on a free heroku server that doesn't admit websockets, so I had to figure out a way to come with a playable online experience with a long-polling system, trying to keep the communication under 10-15 messages per second. So, most of the movements of the game are represented on a prediction basis, interpolating positions and, every 5 seconds checking if everything is equal between the 2 clients, and if the positions are too different, correct them with an ugly teleportation.Eating cake while coding some sugar action.
Moreover, ImpactJS can't run on server side since it needs a window object to work. I didn't feel like hacking the framework so, some parts of the game are authoritative on player's client and some other on the opponent. This means that if you saw that you hit your opponent, you did. But if you saw that you dodged your rival projectile, and he hit you con his client, you will receive damage. I tried the other way but was more frustrating, hitting your opponent and nothing happening.
I felt that I could improve more and more the online system, but hey, and online architecture worths nothing without a game to play
Here you are some actual gameplay screens: http://imgur.com/a/1jsnb
We are working on the sound and some additional art right now, see you soon!!