// Bind user positions and exaQuark will continuously
// compute the information relevant to their latitude and longitude.
let currentState = function () {
return {
iid: 'as7832lnLKas',
universe: 'SANDBOX',
geo: {
lat: 1.288,
lng: 103.8475,
altitude: 0.0,
rotation: [ 0, 0, 0 ]
}
}
}
exaQuark.bind(currentState)
infinitely connected worlds.
7 billion users can interact simultaneously in a single instance
Augmented Reality means the playground is planet Earth
Develop multiplayer games at unprecedent scales
Augmented Reality means the playground is planet Earth
Develop multiplayer games at unprecedent scales
Infinitely Multiplayer
Built from 20 years of research on scaling virtual worlds like Second Life.
Mixed Reality
Sample apps to get you started. Develop your game for AR headsets, mobile, and browser.
Voice and text chat
Your users can talk, chat, and interact with their neighbors, just like they do in the real world.
Social and sharing
Built-in tools for social networks and sharing digital content.
For Developers
We make it easy for developers to get started simple APIs and sample apps.Our code is opensource and constantly improving.
// exaQuark sends users only relevant content
// and neighbors based on their position on earth
exaQuark.on("neighbor:enter", entityState => {
switch (entityState.properties.properties) {
case 'HUMAN':
handleNeighbour(entityState)
break;
case 'OBJECT':
handleArObject(entityState)
break;
default:
console.log(entityState)
}
})
// Share augmented experiences between users
// over peer to peer networking
exaquark.push('data:private', {
universe: 'SANDBOX',
iids: ['as7832lnLKas']
data: {
content: 'https://content.exaquark.com/g7uoFD',
position: {
lat: 1.288,
lng: 103.8475,
altitude: 0.0,
rotation: [ 0, 0, 0 ]
}
}
})
// Save persistant AR content in exaQuark
// so that others can discover it
let contentPosition = {
lat: 1.288,
lng: 103.8475,
altitude: 2.1,
rotation: [ 0, 0, 0 ],
expires: -1
}
exaquark.getSignedUrl(contentPosition)
.then(signedUrl => {
let xhr = new XMLHttpRequest()
xhr.open('PUT', signedUrl, true)
xhr.send(file)
}).catch(err => console.err(err))
Pricing
you unlimited free access until July 2019.