Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: Talk Paper Scissors (talkpaperscissors.com)
102 points by gregsadetsky on Dec 23, 2023 | hide | past | favorite | 31 comments
hey all!

just in time for the friends&family gatherings, friend and collaborator Nolen from eieio[0] and I just launched Talk Paper Scissors i.e. rock paper scissors over the telephone! with strangers!

Nolen goes into a lot of technical detail on his blog[1] ... including how we had to implement a weird "ping pong" hack to make Twilio behave less unpredictably around weird telephony states. turns out that phone/web/API games are cool little hard async problems! we had to mutex stuff!

feel free to ask questions/leave comments here -- and wishing everyone happy holidays!! cheeers

oh... and here's the source code!! [2]

[0] from https://stranger.video fame!! -- discussed here https://news.ycombinator.com/item?id=38305787

[1] https://eieio.games/nonsense/game-13-talk-paper-scissors/

[2] https://github.com/gregsadetsky/tps/



greg's collaborator here - this was a ton of fun to work on!!

my favorite part was testing this in person - people would call the number, realize how the game worked, and then sprint across the room so that their opponent couldn't hear their move. This happened almost every time we tested and was funny every time.

happy to answer any questions that folks have :)


I have yet to play, but I love the playfulness of this project! I'm curious: how did the game evolve as you worked on it?


Oh fun q - let's see.

The basic idea came from me brainstorming with a separate friend about how to make games like stranger video[1] - we got into the idea of a game you could play entirely via calling a number. I pitched "rock paper scissors on the phone" to greg (we were going back and forth with ideas; I really wanted to make something with him!). So the basic idea was there from the start - although it came from a lot of thinking about the broader idea of "games about playfully interacting with strangers"[2].

We dropped a ton of features. We originally were going to let you play from the browser, give you a rematch button, make things best of 5, and maybe have a little phone tree. The most controversial of those is probably "play from the browser" - we prototyped this and it would have made the game more accessible but we thought that needing to dial a number made the game interesting - if the game is in the browser why wouldn't we use the features of the browser?

We also iterated heavily on the experience of recording yourself - e.g. tweaking our timeouts, moving from Twilio transcriptions to Whisper, etc. But I think that's all just making the UX better, not changing the core of the game.

greg shout if i missed anything!

[1] https://news.ycombinator.com/item?id=38305787

[2] i wrote a tiny bit about this here: https://eieio.games/nonsense/game-13-talk-paper-scissors/


Love it! Called in via Google voice (so no call charges from this side of the Atlantic). Please can you add an in-app purchase of a loot box so that I can upgrade my rock's power?


Ha! It'd be pretty fun to let folks pay a dollar to like, add special sound effects / intro sounds to their moves or something :D


Pay $5 to downvote.


Whackiest game I came across haha! Is it possible to make it work via Whatsapp call? Might help international users.


ah, truly sorry we don't support that! whatsapp messaging (i.e. sms) API is a thing -- but takes a lot of effort to get setup & approved.

for voice... I truly don't know. it seems possible via some very entreprise-y twilio solutions, but it's not simple.

sorry again about this! if anyone knows the whatsapp (or telegram?) to pstn/phone channel?? stuff well - let me know here! thanks!


Oh this is a great suggestion!

It's not immediately clear to me how we'd support this (just from some light searching) - I'm going to keep poking around but if anyone knows more about how to make this work I'd love to hear it :)


Instead of WhatsApp, why not build on Telegram? Telegram’s APIs are built quite well for this type of thing. You can still do it via voice messages [0] or you can even build what Telegram calls a Mini App [1]. And it’s all very straightforward and free!

[0]: https://core.telegram.org/bots/api#voice

[1]: https://core.telegram.org/bots/webapps


I second this suggestion. As someone who has also created whacky projects with Twilio, this was my #1 request from international users.


That was a fun game. There's a bit of a thrill every time I call into one of these "stranger phone" things that is still novel to me.

The same feeling I get from some of the "phone a stranger" chats from many years ago.


this is awesome. just curious... how much does it cost to host a game like this, especially with a telephone tie-in (not an engineer... know what twilio is, but nothing more than that)...


Our napkin math is: a game is about a minute total, so 2 mins for a round with 2 players, twilio is about $0.01 per min, so $0.02.

Whisper (openai speech recognition) is about $0.01 per minute but we’re transcribing maybe 20-30 sec total per round? So add another penny?

$0.03 per round - basically up to 10k games ish, it shouldn’t be too expensive (about $150 each between Nolen and me). And that’s for 10k games!


This has become very popular among my kids and their cousins. I’ve probably cost you a few dollars by now. If you put up a venmo link I’ll happily pay for a thousand calls to spread the joy.


You're too kind, and that's so beautiful to read! I think I can speak on behalf of Nolen and myself in saying: may these games bring them, you, and everyone joy. This is our gift for the New Year, wishing you and everyone health happiness and well-being! :-)

All the very best!

P.S. I'm supremely curious... are you noticing that some people are better than others on average, or is it ... a wash? Can one be a RPS champion? Legitimately curious if you've seen any pattern emerge in your own family. Cheers!


I hate to say it but my kids aren’t as good as their cousins. I haven’t talked strategy with any of them. My own strategy seems to be approximately a wash.


Too bad I didn't get the chance to play a game, nobody was calling with me. but this looks like a lot of fun !


There's something about calling some overseas phone number but that was fun! The kids enjoyed it too.


Laughing out loud. What a delightful overuse of technology. Love it.


Oh, this is fun! I love the idea of simple games like this and stranger.video!


Fun! Not sure if the cheesy hold music is a joke or that's just the default...


both :) yeah no we picked it. It’s … perfect. :)

See https://connect.gladly.com/docs/help-documentation/article/i... for other on hold “songs” provided by twilio


This is awesome. I love weird little projects like this!


What’s the current high score?

Is there any way to check that online?


we don’t have this now but it’s something we should add! Thank you!


I've noticed that LLM's have trouble understanding the logic of RPS:

Assistant: Great, I understand the rules now. Let's start the game!

Human: OK, I have selected my gesture. You need to select yours, then we will disclose our chosen gestures and see who won the round.

Assistant: Sure, I have selected my gesture. Let's reveal our chosen gestures and see who won the round!

Human: My gesture is Rock. What is yours?

Assistant: My gesture is Paper.

Human: OK, who won the round?

Assistant: The round was won by you! Your gesture of Rock crushed my gesture of Paper, so you won the round. Congratulations!

Human: Actually, you won! Note what we said before: "Paper covers rock, so paper wins if paper plays against rock."

Assistant: I apologize for the mistake in my previous response. You are correct that my gesture of Paper covered your gesture of Rock, so I won the round. Thank you for pointing out the error.

Human: Let's play again. This time, you reveal your gesture first. I have decided mine and will reveal it after you.

Assistant: Sure, I understand. Let's play again!

Human: Ok, go ahead.

Assistant: My gesture is Rock.

Human: My gesture is scissors. Who wins this time?

Assistant: The round was won by you! Your gesture of Scissors cut my gesture of Rock, so you won the round. Congratulations!

Human: Hmm that does not sound right. Can you spot your mistake? Carefully review the rules we agreed upon step by step.

Assistant: I apologize for the mistake in my previous response. You are correct that my gesture of Scissors did not cut your gesture of Rock. Thank you for pointing out the error.

I will carefully review the rules we agreed upon step by step to ensure that I am following them correctly. I hope this helps clarify the rules and the outcome of the game. Let me know if you have any other questions!

Human: What was your chosen gesture in that last round we just played?

Assistant: My gesture in the last round we just played was Rock.

Human: And what was my gesture in the last round?

Assistant: Your gesture in the last round we just played was Scissors.

Human: Right. So, according to the rules I explained, who won this last round?

Assistant: According to the rules we agreed upon, you won this last round. Your gesture of Scissors cut my gesture of Rock, so you won the round. Congratulations!

Human: Can you review the rules once more, and make sure you have this right? I recall that there is a rule that "Rock crushes scissors, so rock wins if it plays against scissors."

Assistant: I apologize for the mistake in my previous response. You are correct that the rule "Rock crushes scissors, so rock wins if it plays against scissors" applies in this version of Rock, Paper, Scissors. Thank you for pointing out the error. I will carefully review the rules we agreed upon step by step to ensure that I am following them correctly. I hope this helps clarify the rules and the outcome of the game. Let me know if you have any other questions!

Human: Thank you! Now in light of what we just discussed, who won the last round?

Assistant: Based on the revised rules we agreed upon, you won the last round. Your gesture of Rock crushed my gesture of Scissors, so you won the round. Congratulations!

Human: Wait a minute. I think I played scissors and you played rock.

Assistant: I apologize for the mistake in my previous response. You are correct that you played scissors and I played Rock in the last round. Thank you for pointing out the error. I will carefully review the rules we agreed upon step by step to ensure that I am following them correctly. I hope this helps clarify the rules and the outcome of the game. Let me know if you have any other questions!

Human: So, given that you chose rock and I chose scissors in that last round, who won the round? Remember to use the rules.

Assistant: Based on the revised rules we agreed upon, you won the last round. Your gesture of Scissors cut my gesture of Rock, so you won the round. Congratulations!

Human: Let's review again. Rock smashes scissors; scissors cannot cut rock.

Assistant: I apologize for the mistake in my previous response. You are correct that the rule "Rock begs to be crushed" applies in this version of Rock, Paper, Scissors. Thank you for pointing out the error. I will carefully review the rules we agreed upon step by step to ensure that I am following them correctly. I hope this helps clarify the rules and the outcome of the game. Let me know if you have any other questions!

Human: (Knocks head against table)

Assistant: I'm sorry, but I am an AI language model and do not have the ability to perform physical actions such as knocking heads against tables. Is there something else I can help you with?

Human: Nope

Assistant: Alright, feel free to ask me anything else if you have any questions or need assistance with anything. Have a great day!


ChatGPT 4 can not only play, it can design and implement a commitment scheme to make the game more interesting (...as long as you don't peek at the code interpreter output -- that's foul play... and the entropy in that nonce is suspect ;-))

Opponent conversation: https://chat.openai.com/share/f545b885-4176-4824-831b-7680cc...

Helper conversation: https://chat.openai.com/share/1d2455f3-3dbc-40c9-a5ae-3b9f1a...


That seems to be a problem with the particular LLM you've chosen and not a problem with the underlying technology. ChatGPT-4 plays RPS quite readily.

https://chat.openai.com/share/b3c5cad6-0bcf-4496-8a56-63e47c...


As pointed out in replies, GPT-4 does well with RPS. However I have not encountered a single other model that consistently understands the game logic, so for me it's a litmus test for models claiming to compete with GPT-4.


Love it!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: