We chose to make a collaborative web-browser game to explore integration between's fast, event-based network communication and three.js's in-browser 3D rendering capabilities.

What it does

It's a puzzle game built around an environment-stretching mechanic. One player is inside a level trying to reach a goal. A second player uses a mobile device to stretch the world around the first player to help them reach a goal.

How we built it

  1. node.js - JavaScript networking library
  2. - JavaScript event-driven, real-time networking library
  3. three.js - In-browser graphics rendering library
  4. Blender - 3D modeling/level design

Challenges we ran into

  1. importing 3D models
  2. networking
  3. Rope physics in level 2
  4. Using pinch/zoom on mobile to stretch the level

Accomplishments that we're proud of

  1. Rope physics
  2. Low latency between player devices
  3. Fast prototyping and little overhead for players.

What we learned

  1. Blender modeling
  2. rendering with three.js

What's next for s t r e t c h e d

  1. s t r e t c h e s t e d
  2. Create more levels
  3. Improve visual look
  4. Write a plotline
  5. Sound design
Share this project: