[HN Gopher] Show HN: Talk Paper Scissors
       ___________________________________________________________________
        
       Show HN: Talk Paper Scissors
        
       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/
        
       Author : gregsadetsky
       Score  : 54 points
       Date   : 2023-12-23 16:16 UTC (6 hours ago)
        
 (HTM) web link (talkpaperscissors.com)
 (TXT) w3m dump (talkpaperscissors.com)
        
       | sneh_kagrana wrote:
       | Whackiest game I came across haha! Is it possible to make it work
       | via Whatsapp call? Might help international users.
        
         | cardamomo wrote:
         | I second this suggestion. As someone who has also created
         | whacky projects with Twilio, this was my #1 request from
         | international users.
        
         | eieio wrote:
         | 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 :)
        
           | jay-barronville wrote:
           | 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
        
         | gregsadetsky wrote:
         | 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!
        
       | eieio wrote:
       | 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 :)
        
         | cardamomo wrote:
         | 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?
        
           | eieio wrote:
           | 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/
        
       | whynotkeithberg wrote:
       | This is awesome. I love weird little projects like this!
        
       | thih9 wrote:
       | What's the current high score?
       | 
       | Is there any way to check that online?
        
         | gregsadetsky wrote:
         | we don't have this now but it's something we should add! Thank
         | you!
        
       | nowbabynow wrote:
       | 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)...
        
         | gregsadetsky wrote:
         | 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!
        
       | pimlottc wrote:
       | Fun! Not sure if the cheesy hold music is a joke or that's just
       | the default...
        
         | gregsadetsky wrote:
         | 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
        
       | lanewinfield wrote:
       | Love it!
        
       | edent wrote:
       | 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?
        
         | eieio wrote:
         | 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
        
           | samstave wrote:
           | Pay $5 to downvote.
        
       | danbmil99 wrote:
       | 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!
        
       ___________________________________________________________________
       (page generated 2023-12-23 23:00 UTC)