For game makers

Make a game for live streams.

You make a StreamArena game with web tech you already know: one file describes a round, and our SDK handles chat, phones, guests, scores and the stream overlay. Approved games go into the gallery for every streamer, and for the first two years makers keep 100% of what their games earn.

The deal.

We want hundreds of games on StreamArena, and the best way to get them is to let makers keep the money.

Creator program
100%
of what your game earns, for the first two years

StreamArena takes nothing while the program starts. Build something chat loves and every dollar it makes in those two years is yours.

To start
1 file
is a whole game

A web page and our script. No engine, no build step.

Players
3
ways in, one scoreboard

Chat in Upstream.so, phones everywhere else, and guests. The SDK handles all three.

Reach
1 gallery
every streamer picks from

Approved games sit next to ours, in front of every streamer who picks a game.

Cost
$0
to build and publish

No fees to join, test or submit. We play every game before it goes live.

From idea to live streams.

Four steps, and the first one is the only hard part.

1

Build

Write your game as one web page with the StreamArena SDK. Rounds, timers, answers and scores are built in.

2

Test

Run it in the lab with a pretend chat and your own phone as a player, before anyone sees it.

3

Submit

Send it in. We play it, check it reads well on stream and keeps chat safe, and approve it.

4

Get played

It goes into the gallery for every streamer, and onto streams through Upstream.so and OBS.

A whole game in one file

You describe a round. The SDK runs the rest: it brings in chat from Upstream.so and answers from phones, matches guesses loosely, times answers by when they were sent, and keeps the scoreboard.

This is the v0.1 shape and it will change before makers get access. Read the SDK docs.

// zoom-out.js: a whole StreamArena game
StreamArena.game({
  id: "zoom-out",
  inputs: ["guess"],
  content: [{ photo: "pizza.jpg", answers: ["pizza"] }],

  async round({ item, show, chat, phone, timer, reveal }) {
    const pic = show.image(item.photo, { zoom: 6 })
    chat.expect(item.answers)  // loose match, faster scores more
    phone.prompt({ text: "What is this?" })
    timer(15)
    await pic.zoomOut({ seconds: 15 })
    await reveal("It's a pizza")
  },
})

What we look for.

Every game we approve follows the same few rules.

1

Plays by phone

Every game must work with phone join. Chat is the upgrade, never the only way in.

2

Reads on stream

Big text, one idea at a time, readable in a second on a small player.

3

Funny, never mean

Short rounds and silly answers. Jokes are about the game, never about a player.

Questions

How do games earn money?

Through paid packs and extras for your game. The details come with the maker launch, and for the first two years every dollar goes to you.

What happens after two years?

We will publish the split for later years well before the two years are up.

Do I need a game engine or 3D skills?

No. A StreamArena game is a web page. If you can build a simple website, you can build a game.

Can my game use chat?

Yes. The SDK gives you chat from Upstream.so (YouTube, Twitch, Kick and Rumble) and answers from phones in one shape, so you write the game once.

How does review work?

We play every game before it goes live, check that it reads well on stream and that names and answers go through the safety filter.

When can I start?

Join the waitlist. We open the SDK to makers in waves while we finish our own first games.