6 ms·
Hi all, I'm Rob Middleton, the creator of this site. Very cool to see it pop up here! The tech stack is Nodejs, MongoDB, Redis, Socket.io, and React + Redux on
by TheMiddleMan 5y ago
Hi all, I'm Rob Middleton, the creator of this site. Very cool to see it pop up here!
The tech stack is Nodejs, MongoDB, Redis, Socket.io, and React + Redux on the frontend.
It's actually been a pet project for a long time (6+ years) but I've been taking it more seriously since Jan 2020.
Fun fact: the original was built with Backbone.js and CoffeeScript.
Happy to answer some questions and please let me know your feedback too.
And follow us on Twitter for updates: https://twitter.com/playingcardsio https://twitter.com/playingcardsio
- simplify 5y agoThanks for building this! As a hobby game designer, I've been wanting something like this for a long time. I'll be digging into the docs[0] to see if I can prototype one of my card game concepts. I've also just added PlayingCards.io to my website[1] of multiplayer games that require no user accounts :) [0] https://playingcards.io/docs/ https://playingcards.io/docs/ [1] https://quickparty.games https://quickparty.games
- qwertox 5y agoThanks for making "open world" board/card games. Open world in the sense that an interaction order is not enforced, where you can place the chips anywhere you like, whenever you like, leaving it up to the players to enforce the rules through either common sense or another communication channel. I remember back in the Google Wave days I created a connect four game where no turns were enforced, and you could take out the chips of the opponent if you saw that they cheated. A Google engineer was a bit irritated by that, she expected that it was turn based and pointed it out as a flaw. Maybe you could add a feature which shakes the entire table so that the cards/boards end up in a state where continuing doesn't make much sense, like when you push away the board IRL because you noticed that you lost.
- movedx 5y ago> A Google engineer was a bit irritated by that, she expected that it was turn based and pointed it out as a flaw. Aaah! The old STEM education in full effect. Beautiful example. No creative thinking on their part whatsoever.
- thunderbong 5y agoHi, just the other day I was wondering what happened to older Javascript frameworks like Backbone. Can you elaborate why you moved from Backbone to React / Redux? As of what I recall, Backbone was extremely stable and a lot of companies used it in very heavy web apps as well. Since, the 2D board games of the type on your site doesn't seem to require heavy front-end lifting (I might be completely wrong here), I'm curious to know the reason behind switching to a newer technology which is still riding the hype wave. Thanks. And of course, the site is very nice. Will be sharing it with my colleagues for our Friday online hangouts!
- TheMiddleMan 5y agoGood question. Both Backbone and React provide a way to build UI components. React Components are way easier for: 1. Having nested DOM elements in your components. Backbone really wanted you to just have one element per component, and then use jQuery to add children as needed. 2. Adding event handlers and other HTML attributes. JSX syntax means you can basically write HTML in your JS file. Backbone made you add event handlers manually. 3. Nested components. React lets the parent simply specify what children it wants and React automatically creates/reuses/destroys component instances for you. This was all manual in Backbone. The bigger advantage though, is how the state is typically organized in React apps. In Backbone, app state was sprinkled throughout the component hierarchy, and often you would have do event spaghetti up and down the hierarchy to update some state held by another component. Typical React apps use a state container like Redux, the UI is "projected" from the state, and components just send changes to the state, aka "unidirectional data flow". That said, React is not the best for games. Maintaining 60 fps can be difficult and we've done some fairly heavy optimization to try to keep it smooth.
- thunderbong 5y agoThanks a lot for the detailed reply! Have you see SvelteJs? Would that be better suited in this scenario?
- ImpressiveWebs 5y agoNice. Are ads the only means of monetization? Do you mind if I ask about how much this brings in?
- deathanatos 5y agoUnder Pinochle, you've listed K twice: > Pinochle uses a unique 48 card deck that consists of 2 sets of 9, 10, J, K, Q, K, A in each suit.
- ffffwe3rq352y3 5y agoHello! Love the website. I'm 100% going to use it in the future! However, if you use inspect element you can easily see the suit of the card before its flipped.
- lupire 5y agoSo don't do that.
- ffffwe3rq352y3 5y agoTry telling that to any video game hacker! Sadly people will ruin anything
- kqr 5y agoWell, they can also just drag around community cards and recall everyone's cards, so I'm not sure you'll want to use this page at all if you're worried that "people will ruin anything."
- ffffwe3rq352y3 5y agoTotally true. However, doing those things is totally obvious while looking at the cards is invisible and not detectable. Anyone I would play with I would trust enough not to just ruin the entire thing just to be mean but I'm not sure I'd trust them enough to not look at the cards.
- Tepix 5y agoVery cool, could you please add Othello?
- beermonster 5y agoThey could if they called it Reversi ? :)
- TheMiddleMan 5y agoBam! https://playingcards.io/game/reversi https://playingcards.io/game/reversi