RealtimeMultiplayerNodeJS is a framework specifically for building HTML5 multiplayer games with the Client / Server model. In this model, connected users send only input and the game itself runs on the server.
Clients are interpolate between two known world snapshots based on the current synchronized time.
How to use
- Download this repo
- In the terminal type “node js/DemoHelloWorld/server.js”
- Browse to “/DemoHelloWorld.html”
RealtimeMultiplayerNodeJS comes with 3 demos
The most basic interesting working demo I could come up with. Objects move from left to right
A demonstration of the engine’s simple CircleCollision engine, which can provide you with simple collision information and fires an event when two objects collide with the two objects.
This demo also shows one implementation of having a special kind of entity which is controlled by the keyboard from a connected user. A character controlled entity
This demo uses a Box2D.js implementation to create a world, and show’s off the idea of synchronized physics, and taking advantage that all the simulation happens on the server.
It also shows synchronized interaction between multiple users, and an example of sending a message to the server which it interprets back into the game
This is a project I recently created for an installation. It uses the kinect to place the user into a world that has many particles in it – and they basically interact with the particles which are also being influenced by some perlin noise.
It was a spin off of my previous project, CinderRibbons which I never finished because it was getting a little too out of hand.
For this project my goal was simple: Quads influenced by a 3d mapped human skeleton, and perlin noise
I figured that if i scaled down my previous goal, and made it something that was actually attainable i would actually be able to finish the project.
I also decided to put the project on Github, however the code inside is rather messy because as the installation deadline got closer I had to make some, ahem sacrifices. I was actually coding and changing it up until 1 minute before the performer started her dance, while my computer was already hooked up to the projector. That part was pretty frantic.
Here are some images, they are sort of in chronological order, sort of:
Initial “get something on the screen”
Creating a floor plane:
Making quads ‘rise’ from the floor plane
Now add some beautiful perlin noise (Actually this is simplex noise technically)
The view from above:
All hail the glowing cube:
User controlled gravity swarms using the kinect skeleton data mapped back into 3d space:
Project Source Code