Show HN: I Built a Rock, Paper, Scissors roguelike in React
39 points
10 months ago
| 14 comments
| xtremerps.com
| HN
Hey HN! What started off as a meme has turned into a passion project and I'm pretty excited about it. As the title suggests, I made a Rock, Paper, Scissors game in React. The twist is the perk shop that you can power yourself up upon wins.

I have a Node web socket backend because it started off as just a PvP experience, but I wanted people to be able to play a solo mode. That's where the Roguelike comes in. I still have plenty of features to go! But for now, it's an endless Roguelike where after each round, you get to upgrade a shop perk to make your character stronger.

I'd love to get some feedback! Feel free to try it out and ask any questions! No login or account needed.

And if you wanna see a quirky short of me putting it together: https://www.youtube.com/shorts/8-ijQkKm3Ds

madamelic
10 months ago
[-]
You should look into smoothing out the UX with toast or other notifications so users know whether they are waiting or not. For instance, "Daily Challenge" seemingly does nothing. Single player "Survival" is seemingly stuck waiting for another player.

It seems interesting but unfortunately I am entirely confused on how to use it. Buttons don't work, the tutorial references highlighting that isn't happening, other buttons seem to require multiple presses to work (such as selecting rock, paper, or scissor).

reply
xtremerps
10 months ago
[-]
The confusion is completely understandable! As it looks like there was a merge mixup in git. It'll be back up and running soon, and I appreciate the input!
reply
xtremerps
10 months ago
[-]
Dug a little deeper and seemed there was a limitation in my cloud hosting. I made some adjustments and hopefully things run a bit smoother
reply
CSMastermind
10 months ago
[-]
Seems to be broken?

I'm not able to play or even complete the tutorial.

Just constantly says `Waiting for other player...` and nothing on the page is interactable.

reply
xtremerps
10 months ago
[-]
Dug a little deeper and seemed there was a limitation in my cloud hosting. I made some adjustments and hopefully things run a bit smoother
reply
xtremerps
10 months ago
[-]
You are correct As it appears there was a merge mixup in git. It'll be back up and running soon!
reply
elpalek
10 months ago
[-]
``` GET https://localhost:3001/socket.io/?EIO=4&transport=polling&t=... net::ERR_CONNECTION_REFUSED ```

Looks like you should set a production ENV?

reply
xtremerps
10 months ago
[-]
Seemed my cloud hosting was having some issues with the traffic, but hopefully resolved and things run a bit smoother!
reply
LordDragonfang
10 months ago
[-]
> And if you wanna see a quirky short of me putting it together: https://www.youtube.com/shorts/8-ijQkKm3Ds

Please buy yourself a pop filter for your mic if you're going to mess with the gain

reply
xtremerps
10 months ago
[-]
RIP anyone's ear drums with headphones I suppose haha yeah listening back in post production and I just had to run with it. Will probably invest in future videos
reply
moconnor
10 months ago
[-]
I just get "Waiting for the other player..." the whole time in daily challenge
reply
xtremerps
10 months ago
[-]
Totally makes sense, I found a git merge issue.. It'll be back up and running soon!
reply
fidotron
10 months ago
[-]
I did my own RPS game, and to be honest absolutely struggled to make it remotely interesting. This is even if you have bots that replicate psychological ploys.

It seems the interest in the game itself is like the old poker maxim “play the man, not the cards”. Unless you have a relationship outside of the game with your opponent it is just a bit too abstract.

https://luduxia.com/showdown/

reply
xtremerps
10 months ago
[-]
Nice! The graphics on here are amazing! What engine/libraries did you use??

And as far as making it interesting, seems you went the graphics route. I sacrificed that and doubled down on extraneous mechanics. Hopefully it's working now so you can see the perk shop in action

reply
JoeyJoJoJr
10 months ago
[-]
You should check out the anime Kaiji. They play rock paper scissors, but with a limited number of cards. It goes into probability, game theory, and social engineering. Really cool show.
reply
xtremerps
10 months ago
[-]
I've been looking for another anime to get into. I gave the synopsis a quick glance and looks interesting for sure!
reply
jt2190
10 months ago
[-]
Negatives: I just played a round against a computer opponent. I’m still not sure if my player was on the left or the right side, I guess my health was on the bottom because when that went to zero the game was over. I’m also not sure if I need to know what Merp means.

Positives: Gameplay was snappy, audio was a nice touch, characters make it feel more competitive like you’re building up to a “boss” battle.

reply
xtremerps
10 months ago
[-]
Hey thanks a lot for the feedback! These are all great points to include in the tutorial. The goal is to definitely minimize confusion XD

Glad you enjoyed the gameplay

reply
blorenz
10 months ago
[-]
Congrats on shipping! Now let’s talk about the efforts of your hard work! What were your challenges during this? How were they overcome?
reply
xtremerps
10 months ago
[-]
Thanks for tuning in! In terms of challenges, keeping the web socket connections in check has been a continuous challenge. Observability helps!
reply
latexr
10 months ago
[-]
The AI is pretty dumb, at least in the tutorial. They bought a powerup that makes them win if they ever tie with rock. So logically, since it’s in their best interest to play rock (they win if I play either rock or scissors), they’ll obviously spam it. Which they did. I kept playing paper every time and winning until they died.
reply
xtremerps
10 months ago
[-]
Oh yeah that was by design. Didn't want to hammer players down too hard in tutorial XD AI is a bit more challenging in Survival Mode! And the Daily Challenge is the same pattern for all users and changes daily.
reply
desdenova
10 months ago
[-]
It's not working, and it doesn't really look like a rogue-like at all, but just a turn based 1:1 game?
reply
xtremerps
10 months ago
[-]
I'm definitely no expert in roguelikes XD however the idea was to add some progression elements to strengthen your character as you progress in Survival Mode! Also, I made some adjustment to my cloud hosting that should hopefully resolve the issues
reply
airstrike
10 months ago
[-]
Cool stuff! Since you asked for feedback, when I read "roguelike" I think single player first. Would love to play against AI, quick in and out
reply
xtremerps
10 months ago
[-]
Thanks a lot for the feedback! I encountered a snag, and I'm resolving it. And once that's handled, you can feel free to check out the Daily Challenge as it was meant for exactly that purpose!
reply
lupusreal
10 months ago
[-]
I no longer understand what roguelike means.
reply
xtremerps
10 months ago
[-]
Honestly... same XD however I believe procedurally generated levels, permadeath, and progression are common characteristics?
reply
latexr
10 months ago
[-]
Is any of that present in this game? It doesn’t seem like it. Why are you using a term to define your game if by your own admission you don’t understand what it means?
reply
xtremerps
10 months ago
[-]
Ah, I'm being slightly facetious because amongst the roguelike/lite community, I've noticed blurring the definitions is pretty common haha

I have a game mode called Survival Mode that includes everything I listed. It's far from ideal, but it's a work in progress

reply
turtlebits
10 months ago
[-]
Did this ever work? It's failing to request a URL on localhost:3001...
reply
xtremerps
10 months ago
[-]
I made a few adjustments in cloud and should hopefully be resolved now!
reply
purple-leafy
10 months ago
[-]
Doesn’t work at all. No feedback at all.
reply
xtremerps
10 months ago
[-]
Dug a little deeper and seemed there was a limitation in my cloud hosting. I made some adjustments and hopefully things run a bit smoother!
reply