Skip to main content
avataralexwoods
Spooky Cookie
1-2

build a multiplayer game played by millions

Your game runs inside the Rune app with 10 million installs across iOS and Android.

you focus on your game, we handle everything else

Millions playing your game on Rune
Millions playing your game on Rune

The Rune app has more than 10 million installs across iOS and Android.

No need for you to deal with marketing or pay for ads!

Millions playing your game on Rune

The Rune app has more than 10 million installs across iOS and Android. No need for you to deal with marketing or pay for ads!

Use your favorite web framework
Use your favorite web framework

Your game can use any web framework such as React, Svelte, Vue, r3f, PixiJS.

It runs smoothly inside the Rune app using a highly-optimized WebView.

Use your favorite web framework

Your game can use any web framework such as React, Svelte, Vue, r3f, PixiJS. It runs smoothly inside the Rune app using a highly-optimized WebView.

It’s free for everyone
It’s free for everyone

Rune is completely free for developers and players alike!

We will cover our costs through a small cut on any money we help devs make.

It’s free for everyone

Rune is completely free for developers and players alike! We will cover our costs through a small cut on any money we help devs make.

We help you make money
We help you make money

Earn money from your game without dealing with ads or purchases.

Rune's creator fund pays you directly based on your game's stats.

We help you make money

Earn money from your game without dealing with ads or purchases. Rune's creator fund pays you directly based on your game's stats.

Voice chat and social built into Rune
Voice chat and social built into Rune

The Rune app has friends, messaging, spectating and voice chat.

Rune turns your game into an incredible multiplayer experience!

Voice chat and social built into Rune

The Rune app has friends, messaging, spectating and voice chat. Rune turns your game into an incredible multiplayer experience!

no backend needed

Your game logic on Rune's servers

You write your game logic in JavaScript and Rune runs it on servers all over the world for low latency. Our predict-rollback approach removes the need for any game networking code and ensures that players have an amazing experience even on bad internet.

multiplayer in 100 lines of JS

Here’s the code for the Tic Tac Toe game above. The game has built-in voice chat, matchmaking, and spectating. All powered by Rune!

logic.js
client.js
function setup() {
const game = {
cells: new Array(9).fill(null),
lastMovePlayerId: null,
winCombo: null,
freeCells: true
}
return game
}

function claimCell(cellIndex, { game, playerId, allPlayerIds }) {
// Do not allow to claim cell if it's already claimed or if it's not player's turn
if (game.cells[cellIndex] !== null || playerId === game.lastMovePlayerId) {
throw Rune.invalidAction()
}

game.cells[cellIndex] = playerId
game.lastMovePlayerId = playerId
game.winCombo = findWinningCombo(game.cells)

if (game.winCombo) {
Rune.gameOver({
players: {
[game.lastMovePlayerId]: "WON",
[allPlayerIds.find((id) => id !== game.lastMovePlayerId)]: "LOST",
},
})
}

game.freeCells = game.cells.findIndex((cell) => cell === null) !== -1
if (!game.freeCells) {
Rune.gameOver({
everyone: "TIE"
})
}
}

function findWinningCombo (cells) {
return [[0, 1, 2], [3, 4, 5], [6, 7, 8], [0, 3, 6], [1, 4, 7], [2, 5, 8], [0, 4, 8], [2, 4, 6]]
.find(combo => combo.every(i => cells[i] && cells[i] === cells[combo[0]])) || null;
}

Rune.initLogic({
minPlayers: 2,
maxPlayers: 2,
setup,
actions: { claimCell }
})

make any kind of game

Rune has built-in real-time multiplayer and lets you use the flexibility of JS + WASM. You can make games with fun physics, stunning graphics, and complex game logic. Here’s a few of the many games live on Rune.

  • avatarGytis
    Neon Snake
    2-4
    Real-Time
  • avatarcokeandcode
    Scorched Turf
    1-6
    Physics
  • avatarpropcat
    Cooking Frenzy
    1-6
    Graphics

use your favorite web framework

Get Started