Operation Party is a realtime multiplayer party game, inspired heavily by our collective admiration of the incredibly fun game Space Team. Our game was built in HTML5 with reasonable support across desktop, iOS, and Android making it pretty accessible for a large group to play together in a room. The server is written with Node.js, and the networking is done with Socket.IO (a wrapper for WebSockets.)
Will and I focused on the game engine and networking, and Scott put together some really silly and fun interactive widgets (that play best on a touch screen). Barry helped a ton by cranking out the artwork for us. Not too shabby for a weekend's work!
Narwhal Knights is a massively multiplayer networked game of jousting, flying narwhals. I made this game in 48 hours with Team Watermelon Sauce for the 2012 Node.js Knockout competition and was awarded winner in the Utility/Fun category. My teammates were Paul Armstrong and Jesse Mullan.
The game is written in JavaScript using the Impact engine. The server and realtime multiplayer component are built with Node.js and WebSockets via Socket.io.
Apestronauts is a multiplayer game of banana warfare developed in 48 hours by Team Watermelon Sauce for the Node Knockout competition. You can play online with your friends at apestronauts.com.
The game was written in JavaScript with a Node.js server using Socket.IO for realtime WebSocket communication. I created some notes for the JavaScriptMN meetup if you'd like to learn more about the development of Apestronauts.
Being fairly new to node.js, and even newer to the use of Socket.IO, I had a very interesting morning exploring some of the behaviors of Socket.IO. I thought I'd share the things that raised my eyebrows. There were some good lessons hidden in a basic Hello World example. There was also a really interesting question posed by the feature of Socket.IO that allows for a callback to be executed as an acknowledgement that a sent socket message was received.
I don't want to spend a ton of time on getting started with node.js or learning Socket.IO. But you should know that I'm just talking about a default, easy to replicate install of node and io. All I basically did is brew install node, curl http://npmjs.org/install.sh | sh, npm install socket.io and I'm off writing realtime code.
Hello World Has Surprise Lessons
The first thing I noticed is that it is a bit surprising — even alarming — how little you need to get a hello world example working. Let me show you the example and then explain the alarming part.