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 cover our costs through a small cut on any money we help developers make.

It’s free for everyone

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

We help you make money (coming soon!)
We help you make money (coming soon!)

Players can soon spend Rune gems on your games.

Earn money by adding skins and power-ups to your game!

We help you make money (coming soon!)

Players can soon spend Rune gems on your games. Earn money by adding skins and power-ups to your game!

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 }
})

Use your favorite web framework

Get Started