Show HN: I Built a Rock, Paper, Scissors roguelike in React
39 points
2 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
2 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
2 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
2 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
2 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
2 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
2 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
2 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
2 months ago
[-]
Seemed my cloud hosting was having some issues with the traffic, but hopefully resolved and things run a bit smoother!
reply
LordDragonfang
2 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
2 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
2 months ago
[-]
I just get "Waiting for the other player..." the whole time in daily challenge
reply
xtremerps
2 months ago
[-]
Totally makes sense, I found a git merge issue.. It'll be back up and running soon!
reply
fidotron
2 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
2 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
2 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
2 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
2 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
2 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
2 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
2 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
2 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
2 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
2 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
2 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
2 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
2 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
2 months ago
[-]
I no longer understand what roguelike means.
reply
xtremerps
2 months ago
[-]
Honestly... same XD however I believe procedurally generated levels, permadeath, and progression are common characteristics?
reply
latexr
2 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
2 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
2 months ago
[-]
Did this ever work? It's failing to request a URL on localhost:3001...
reply
xtremerps
2 months ago
[-]
I made a few adjustments in cloud and should hopefully be resolved now!
reply
purple-leafy
2 months ago
[-]
Doesn’t work at all. No feedback at all.
reply
xtremerps
2 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