Lance: Real-time Multiplayer Game Server | HTML5 Game Development (original) (raw)

Lance title

Developing a good game is an undertaking that is fraught with many challenges. Those challenges are multiplied if you want to create a real-time multiplayer game.

The authors of Lance, a multiplayer game server based on Node.JS, have these challenges in mind. So they created the Lance open-source project to help developers focus on making games, and not writing codes for network synchronization.

“Real-time multiplayer games aren’t actually real-time. They only offer the illusion that everyone is playing the same game, in the same world, at the same time.”
– Opher & Gary, creators of Lance

Lance solves issues that are intrinsic to the network system, especially lag or latency. Doing so will give the players a smooth visual experience.

Spaaace game demo

The following are the features of Lance that have been implemented (more are in the pipeline):

– TCP via websockets
– Communication is packed and serialized into binary
– Automatic handling of network spikes with step correction

– Extrapolation (client side prediction) with step re-enactment or:
– Interpolation for optimal object motion

A game called Spaaace is available to demonstrate the capabilities of Lance. You can try playing it here.

Check out Lance on github.