What is p5.party?

p5.party is a library for easily creating multiuser sketches with p5.js. With p5.party you can quickly prototype ideas for multiplayer games, realtime multiuser apps, and multi-computer art projects.

What is it good for?

Prototyping + Sketching

p5.party provides a simple, imperative interface for working with shared data inspired by the programming conventions used by the p5.js API. p5.party lets you try ideas quickly without writing server code or setting up a front-end/back-end stack.

Workshops + Classes

p5.party uses a deepstream.io server which is easy to set up and cheap—or free—to run. Multiple sketches and projects can connect to the same p5.party server, so students can focus on sketching instead of setting up servers.

Turn Based Games and Apps

Quickly get people connected and playing together. Try out ideas using many of your existing skills in p5.js.

What is it not good for?

Production

p5.party is designed for prototypes. As your project grows, you'll need to look into other libraries and backends that suit your project's needs.

Security

Sketches built with p5.party are insecure. p5.party has no method to authenticate or authorize users. Multiple apps share a server and can read, write, and delete each other's data.

Fast-Action

Fast-action multiplayer games are inherently complex. Compensating for network latency requires prediction and reconciliation strategies which are somewhat application specific and outside the scope of p5.party.

Features

Shared Data Objects

With p5.party you can easily create a shared data object that is automatically synchronized between instances of your sketch. You can write to and read from these objects just like local variables.

Multiple Apps and Rooms