I was messing around with p5play last week to experiment with a game idea, and was pleasantly surprised by how easy it is to use. It was designed to be intuitive for beginners, such as students. In under a half hour I had created some common basic mechanics! Check it out:

See the Pen p5play by Daniel Marino (@starzonmyarmz) on CodePen.

What I Like

  • It builds on top of P5.js. This means that I can leverage all the built-in features I'm already familiar with in P5. It even expands upon some built-in features in P5—like creating a new Canvas.
  • It uses the same Box2D physics simulator that some popular games use. Some physics engines are a little floaty, while others are too constrained. This simulator has some really comfortable defaults out of the box.
  • The documentation is easy to follow along, and there's a Discord server where I can (and have) ask questions. I typically have gotten a response from the library maintainer, himself, within a couple of hours.

What I Dislike

  • Not everything is documented, and that's not necessarily a bad thing. However, there are some really handy properties and even methods available that I happened to come across by accident just from purusing the source code and outputting various p5play global methods to console.log().
  • The licensing is a little weird. In short: its free to use for open source projects, but for professional use you need to pay for a license. I'm not going to argue whether you should have to pay for a license or not, but its definately something to be aware of.

I'll definitely be keeping p5play in my toolkit the next time I want to prototype some game mechanics or participate in a game jam!