Toni MaxxToni Maxx

How Plaazaa Apps and Games Work

product realtime

  • Built with
  • PHP
  • Node.js
  • Socket.IO

I said in why I created Plaazaa that a community needs somewhere to waste five minutes together. This note is the other half: how that place is built, without the boring parts.

The short version. Every app is a small folder. One list tells the hub which apps exist. Games that need other people get a room and a shared board. That is most of it.

What a person sees

Open the Plaazaa apps hub. It lists small tools and games: a calculator, 2048, Math Sprint, Quick Draw, Memory Duel, Coin Rush, Tic-Tac-Toe, Gold Gang and a live trip map called Convoy. You can play most of them right away, with no sign-up, as a guest. A guest name and emoji follow you into every app on the same device.

There is a lobby with open rooms. A Quick Race puts you in an open room or opens one in one tap. Friends join with a short code. When a race ends, the boards show the best scores for today, this week and all time.

One folder per app

I wanted adding an app to feel like dropping a folder, not like changing the platform. So each app is self-contained: its own page, script and style, with no build step. A small registry file lists every app with its name, icon, category, version and status. The hub reads that one file. So does everything else that needs to know what exists.

That choice paid off in a way I did not plan. The first game built only from a folder and a registry entry needed no change to the core. Adding a game became a small job, so I could try more of them.

Apps are also designed for a phone first. Touch is the main input. The keyboard and the mouse are a bonus on a desktop.

Games with boards, tools without

Some apps are solo tools, like the calculator. Others are a race or a duel. Those get a room and a board. The rules stay simple on purpose:

  • A room lives only while people are in it. When the last player leaves, it is gone.
  • The server is the referee. In Tic-Tac-Toe it owns every move. In Memory Duel, everyone gets the same sequence, so the duel is fair.
  • Only finished multiplayer races keep a name, an emoji and a score, for the boards. Live trip positions and chat in Convoy are never stored.
  • The hub says all of this in plain words on its privacy text, so nobody has to guess.

A tool has no board, because a calculator has nothing to rank. A game gets one the moment it is a race. The registry entry says which is which.

A kit for the next game

Once there were several games, the same needs kept coming back: rooms, codes, boards, a name. So the hub has a developer page for the Plaazaa Arena SDK. A new game plugs into rooms, codes and boards instead of rebuilding them. Under the heading "Make your own game" the hub says it plainly: rooms, codes and boards come built in.

That keeps each game small and each board familiar. A player who knows one Plaazaa game already knows how the next one works. It is the same idea as the office kitchen from the first note: a shared place with a few simple habits.

Try it

The toy below is a sample. Pick a game, drag it into the sample Space, or press the button if you prefer the keyboard. You will see the registry entry and the sample board that come with it. Nothing leaves the page.

Interactive · toy

Each Plaazaa app is a small folder with one entry in a shared list. Plug an app into a Space and the hub already knows it. Race games bring a board, tools do not.

  • Math Sprint: game, comes with a board
  • Quick Draw: game, comes with a board
  • Coin Rush: game, comes with a board
  • Calculator: tool, no board

What I would do again

  • Start with a registry and a folder contract. It is cheap and it keeps every later app small.
  • Give every game the same room, code and board. Players learn it once.
  • Keep stored data to the minimum a board needs.

For more on how I run Plaazaa day to day, see the Plaazaa work page. If you need realtime rooms for your own product, my realtime backend service page says how I work, or you can just talk to me.

Talk about your project