PlayForge

Parts you can read. Games you can ship.

PlayForge is a TypeScript game engine for the browser, for 2D and 3D games, made from small parts you can read.

Try a wiki example Early and in active development.
Pocket GP: a yellow open-wheel kart on the start line of the Marina Loop, with palms, a harbour and five rivals ahead
Pocket GP, captured from the running game.

What is in the box.

38 packages in a pnpm monorepo, each with one job. A game takes the ones it needs.

Core

An entity component system with a fixed-timestep loop.

  • ECS
  • fixed-timestep loop
Rendering

Three.js for 3D, Pixi for 2D.

  • Three.js
  • Pixi
Physics

Rapier, in 2D and 3D.

  • Rapier 2D
  • Rapier 3D
Networking

A Colyseus-based layer. Self-hosting on a local network comes first.

  • Colyseus
  • LAN self-hosting
Controllers

Ready-made ways to move through a world.

  • third-person
  • first-person
  • top-down
  • platformer
  • vehicles
Gameplay

The pieces most games end up rewriting.

  • inventory
  • health
  • weapons
  • races
  • tower defense
  • trivia
Tools

An in-browser world editor, and a wiki with interactive examples of every component, so you always know what you have.

Cubies runs on it.

Cubies is our games shelf, from word puzzles to kart racing, played alone or around a shared table. Every game on it loads from the same PlayForge project format.

The Cubies crew of colourful cube characters around an arcade cabinet, a sofa and a signpost reading Play Together Brighter
A red kart with a cheering driver leading a pack on a checkered track
Pocket GP
A blue cube character dashing across a road between cars
Crossy Road
Cube characters watching a tower of glowing blocks rise
Stacker
Cube characters cheering over a table of glowing cards
Colour Run
Cube characters guessing a rocket drawn on an easel
Draw a Thing
A yellow cube character thinking in front of a letter grid
Wordle
Open Cubies
Cat-Astrophe in play: a giant ginger cat pouncing in a toy-like city, with a score of 08070 and a timer
Screenshot from the running game.

A whole game, on its own page.

Cat-Astrophe is built on PlayForge too. One to four giant cats destroy a tiny city and fight the police. Build the biggest damage bill in 150 seconds.

How it fits together.

Games sit on top. Everything underneath is a package you can swap, skip or read.

Start in the wiki.

Each component has an interactive example next to its description. See what it does before you decide to use it.

wiki / gameplay componentssample, not the real wiki

Health 100 / 100

The farming game we are building.

A 3D, third-person, shared-world farming game. Play on a shared server with other people, or alone.

Inventory and the third-person and vehicle controllers are the same engine packages listed above.

Multiplayer runs on the networking layer, which starts with servers you host yourself on a local network.

Where things stand.

PlayForge is early and in active development. Expect things to move and some parts to be unfinished.