Remix.run Logo
▲ Chirp Pong – uses microphones and audio for networked game play(simonwillison.net)
18 points by havaloc 3 days ago | 10 comments
▲pcherna 2 hours ago | parent | next [-]

In the middle of playing my very first round with one of my adult children, the other adult child audio recorded part of our game and started replaying their recording to disrupt the rest of our game. All in good fun and we laughed pretty hard. Also, we had fun with the game.

▲simonw an hour ago | parent [-]

That's excellent!

I don't think that could be prevented, either. You could have the protocol exchange signing keys at the start and sign every message, but it's stretching the amount you can do with available audio bandwidth already so I expect that either wouldn't work or would become unbearably slow.

▲dotancohen 40 minutes ago | parent [-]

Signing the transmission isn't enough to prevent a replay attack.

▲simonw 26 minutes ago | parent [-]

It should be if each message includes an incrementing counter and the clients keep track of which counters they have already seen.

▲jp_rider 10 minutes ago | parent | prev | next [-]

Very cool! How much bandwidth can you get using this method?

▲HoldOnAMinute an hour ago | parent | prev | next [-]

Why not use this technology to build a chat application?

▲simonw an hour ago | parent [-]

Go ahead and do it, it's honestly just a single prompt.

(It's pretty loud and annoying, so sitting next to someone having your phones chirp at each other would be more of a social commentary than anything else.)

▲manuelmenzella 2 hours ago | parent | prev | next [-]

Super! Is it open source?

▲simonw an hour ago | parent [-]

It's in my simonw/tools repo which uses Apache 2.0 for everything (bar some vendored libraries which maintain their original license.)

Here's the Chirp Pong code: https://github.com/simonw/tools/blob/main/chirp-pong.html

▲havaloc 3 days ago | parent | prev [-]

Simon Willison:

Another game experiment - I wanted to see if it was feasible to have a two player game on two separate phones running in static HTML where the networking code uses chirps sent via the microphone. It seems to work!

Build a two player competitive pong like game where two players use their phones close to each other and the game state is sent via audio noises which the web microphone API can interpret - but add graphical and gameplay twists to make it a lot more fun and intertwine than pong

Claude Opus 5.5 Extra in Claude Code.

Tags: game-design, ai, generative-ai, llms, claude-code