Board games,
carried by radio.
WaveGames is my experiment with turn-based games, phones, and connected radios. Import a game cartridge, connect a radio, and take your next turn.
MeshCore transport path
How a turn travels
Game rules run on the host phone. Connected radios pass game messages between players.
-
01
Play a turn
The host phone validates moves, applies game rules, and creates a filtered game view for each player.
-
02
Send over radio
Connected radios carry game messages between players. They forward messages; they do not run the cartridge code.
-
03
Update each view
Each phone receives its player view and renders the game. Hidden information stays out of the other players’ views.
A .wavegame cartridge bundles a game’s rules, its manifest, and an HTML/JavaScript interface. Every player installs the same package before joining.
Two radio paths
MeshCore / LoRa
The MeshCore path connects each phone to a stock Companion radio over Bluetooth. LoRa carries game messages between radios. Compatible MeshCore repeaters can forward them when the route and settings allow it.
Companion radios are endpoints. A Companion radio is not itself a general repeater.
WaveGames gateways / ESP-NOW
The original transport uses WaveGames ESP32-S3 gateway firmware. Phones connect over Bluetooth; gateway boards forward game messages over ESP-NOW. Cartridges still run on the phones.
Radio operation remains experimental. Automated checks do not establish range or physical multiplayer acceptance.
Set up, then take a turn.
-
01
Start with the app
Use a cartridge-capable WaveGames 0.3 build on each phone. This site provides games and examples; it does not currently provide a phone app installer or gateway firmware download.
-
02
Prepare the radio
For MeshCore, configure stock Companion v1.17.1 radios in the MeshCore app with compatible regional radio settings and the same private WaveGames channel and secret. Disconnect that app before connecting WaveGames.
Use an appropriate antenna and settings permitted in your region. Connect each phone to its own radio.
-
03
Import the same game
Download the exact same
.wavegamepackage on every phone. In Library, choose Import cartridge. Some builds label this Game Library / Import game. The radios do not distribute the game files. -
04
Create or join a lobby
Return to Game Lobby. The host selects the imported game and approves the players. Join with the same cartridge installed; play starts when the selected seats are confirmed.
Cartridge matches use a fixed roster. Host loss ends the match; there is no host migration.
Five public games, plus developer examples.