top of page

Overview 

What is Soft Shuffle?

A method I devised of fully randomising any size deck of cards simply by dealing to a set of digitally generated instructions.

Your phone provides dealing instructions that map to a labelled neoprene mat, and you deal the deck out twice.

And because you deal the cards out yourself, it works with sleeved cards, with all different sizes of cards,  and without worries  of damaging cards.

IMG_6602_edited.jpg
IMG_6813_edited.jpg

Why Soft Shuffle?

I created Soft Shuffle to solve two related problems I had.

 

Firstly, physically riffling or mashing large decks of cards can be difficult if not impossible at times. 

 

Secondly, with some games I want to be confident that I've fully randomised a deck (deck driven games where a large deck of cards drives the game).

I was convinced I could come up with a good solution based on what I knew of randomisation from software engineering.

For more detail, see the Background page.

How to Soft Shuffle?

It is broadly as simple as:

  • Grab your deck of cards, a mat, and navigate your phone/tablet/device to the Shuffler page.

  • Input the number of cards, and select some options.

  • Deal the cards out onto the mat as directed by your device. Deal and gather back into a deck twice and you're done, the deck is fully randomised ready for play!

 

For more detail, see the Usage page.

IMG_6640_edited.jpg
IMG_6565_edited_edited.jpg

Why does Soft Shuffle work?

The  key realisation I had was that if you're dealing out the deck twice, there is a variation of pile-shuffling that you can use to deterministically set the deck to any order you want, as long as you have N piles where N²  >= number of cards you are setting. 

I later extended that to the general case - you can use vary the number of deals & gathers (passes) against the number of piles used. If use N piles where N^X >= number of cards you can deterministically set the deck in X passes (deals).

 

I combined that with my knowledge of software engineering and random number generation / sampling to create an algorithm to randomise a deck of cards,  generate the dealing instructions needed to do that, and create this site. The core code is also open sourced if you are curious!

For more detail, see the Technical page.

What is Soft Shuffle not?

An attempt to gatekeep how you shuffle! 

As mentioned earlier, I created Soft Shuffle to solve problems I had with physical shuffling methods.

I'll talk below about what I mean by fully randomising a deck of cards, and what the trade-off is vs physically shuffling.

There's always a judgement call of what level of randomness is 'good enough' for a particular application, and I discuss this more on the Usage page and the Technical Page.

My aim with Soft Shuffle isn't to make that judgement call for you, but to offer extra options that weren't there before. Making randomisation easy, when shuffling is hard!

IMG_6934_edited.png
IMG_6901_edited.jpg

Randomness and Trade-Offs

​The trade-off is pretty simple:

  • The benefit is you get a fully randomised deck in a deterministic, linear time.

  • The cost is dealing out the deck twice.

To judge the trade-off, its important to understand both those points in a bit more detail (see below), but also to understand the cost / benefit around it scaling linearly. The algorithm can be thought of as a randomisation pass combined with a sorting pass (sorting to the new random order).

The cost of scaling linearly is that a deck with twice as many cards takes twice as long to randomise.

But the benefit of scaling linearly (best, worst and average), is that it's not super-linear - in other words, it doesn't (for example) take four times as long to sort a deck with twice as many cards, which a naive sorting algorithm might. Given the physical limitation of using a human to sort, achieving linear sorting just by dealing is very good.

Fully Randomising a Deck

So what does Fully Random mean and how does it compare to physically shuffling? The high bar for randomisation i'm using is:

Fully Random - All output permutations are possible and equally likely irrespective of the input permutation.

 

​​Which means - whatever order the cards are in a deck to start with, after Soft Shuffling, every order that the cards can be in is both possible and equally likely.

And the equally likely is the important part.

 

With physical shuffling we can get to the point that every ordering is possible, but physical shuffling is fundamentally a probabilistic re-ordering. Which means that some aspect of the ordering is retained. Think of a riffle - we know roughly where each card will be, even if we don't know exactly. We can mitigate this with multiple passes, mixing in overhands, etc. But to reach the point where each output permutation is equally likely (ie the input ordering becomes irrelevant) would require an infinite number of shuffles.

That doesn't mean physical shuffling isn't Good Enough for your purposes - that's always your (and my) judgement to make when playing a game. What it does mean is using Soft Shuffle enables things like constructing a deck by sticking an expansion's cards on top of a main deck, Soft Shuffling it, and being confident the resulting deck is fully randomised.

I discuss randomisation more in the Randomisation Starting Point section of the Technical page.

IMG_6956_edited.jpg
IMG_6979_edited.jpg

Trade-Off

When making a judgement on the trade-off of using Soft Shuffle for a particular game, there are a few points to keep in mind. While the cost is dealing the cards out twice (sometimes once, rarely three times), the extra effort is often worthwhile because:

  • Physically riffling / mashing becomes increasingly difficult as the number of cards increases.

  • Randomising a very small number of cards can itself be quite difficult not to track where you're moving the cards.

  • Physically riffling raises the possibility of damaging / bending cards and mashing requires sleeving the cards with quality sleeves, and certain sizes of cards are difficult to do either.

  • Mechanical shufflers don't solve any of these problems for board game cards.

And sometimes, you just want to be 100% sure a deck is fully randomised. I talk more about how and when I personally use Soft Shuffle in the Usage page.

What's Next - The Plan

Soft Shuffle has only been public for a short time (though i've been working on the idea for a while - see the Background page). I have a number of things i'd like to implement going forwards, and I have a broad plan:

  • Make it available to the public to use - which it is, so go to the Shuffler page and try it!

  • Make the mats available to buy - via partner Strumace who manufactured the mats in the pictures / videos.

  • Get wider user feedback - I have a lot of feedback from initial testers, but wider testing will continue to inform the next steps.

  • Establish what features users want next - see below for what i'm already planning to add next.

  • Use revenue from mats and / crowdfunding to fund those new features - there's lots I want to add!

IMG_6602_edited.jpg
IMG_6634_edited.jpg

Potential new features

Features i'm considering include:

  • Graphics instead of / in addition to the letter & number labels. Such as a small thumbnail per card showing or highlighting the pile that card is to be dealt to. Potentially utilising patterning or contrasting colours.

  • Audio instructions - the instructions could be read out so the user can retain focus on the mat.

  • Animation and moving away from a static page of instructions. This might be as simple as a timer that flips to the next page after a set number of seconds or as complex as a rhythm video game style with the instructions delivered as a stream.

User feedback

Tried Soft Shuffle and got feedback? 

I will continually update this website with more online locations to interact as things progress.

Email feedback is always appreciated though. Please email feedback@softshuffle.co.uk

IMG_6668_edited.jpg

Keep me updated

bottom of page