Drag to rotate · click the front stone to open
Arrow keys to step · Esc to go back
Every page of Eventigames is a standing stone on a ring. Spin the ring, open the stone facing you. Hubs open a new ring; pages open in place. Each game has its own stone, and its stone opens onto its own pages. The eye in the centre watches whatever you are looking at.
What two fingers do depends on what is under them, decided when the second finger lands and held for the rest of the gesture. Squeezing always means the same thing: let go of whatever you are inside.
Press V or hit Voice in the corner and give the browser the microphone. It keeps listening until you switch it off, and prints back what it heard. Nothing is sent anywhere by us — the recognition is the browser's own.
The microphone stops being a remote control and becomes a keyboard. You are looking at a text field, so everything you say is typed into it and the results follow along as you speak — reading it as a page name would jump the ring behind the sheet you are staring at. Only these stay commands, because none of them can be something you meant to type:
Needs Chrome, Edge or Safari — the Web Speech API is not in Firefox, and the button says so when it is missing.
Not this page, and not your microphone. Chrome and Edge do not transcribe on your machine: they stream the audio to the browser vendor's own speech service and the words come back over the wire. That message means the browser could not reach it. Usually one of four things — no connection at that moment, a VPN or proxy in the way, a school or office network that blocks it, or, on Windows, Speech switched off under Settings → Privacy & security → Speech. The site stands the microphone down after three failed attempts rather than leaving the indicator lit over an engine that is not listening; turn it back on with V once the connection is back.
Ember is the default and always will be. The other five are the same palette in a different key — every shade keeps its own brightness and its distance from the rest, so the interface does not become a different design, it just stops burning orange. All of them on black.
The whole interface is driveable from code — window.EVENTIGAMES_HENGE
exposes rotateTo, step, open,
back, goto, setPointerRay,
setZoom and listen, so a gesture rig or a
headset can take over without touching the renderer.
say('go to misrule') runs a phrase through the voice
grammar with no microphone at all — the same door, for anything that
can produce words. on(name, fn) answers back:
nav when the ring changes level, page when an
article opens or closes, front when a different stone comes
round. Upstream's camera control was written against that surface and
nothing else, which is exactly why it could be lifted out of this build
without the interface noticing it had gone.
Every arrival gets an introduction: the eye rises out of the surface,
speaks, and the ring assembles around it. Any key, click or scroll
hurries it along. To stop it happening, tick the box in the bottom-left
corner — it is there until you first turn the ring. This button brings
the introduction back whether or not you did, and
#intro plays it at any time.
EVENTIGAMES
Initialising spatial interface