They see me rollin'
Dice by PCalc, is a physics-based simulation of polyhedral dice for use in tabletop role-playing games with dungeons and/or dragons.
It runs on an iPhone, iPad, Apple Watch, and Apple TV. A separate version is also available for the Mac.
Featuring near-photorealistic 3D graphics, it comes with a variety of gorgeous dice sets. It even has a photo mode! Throw multiple dice with advantage or disadvantage, and any given modifier, and the app will automatically calculate the correct total.
You can save named presets to quickly roll the attack of your favorite sword, or figure out exactly how much damage your bard took from those seventeen giant rats. Flick dice to fire them across the screen when the numbers don't go your way.
Create custom dice with any text or emoji on the faces, or import your own images, and easily share your dice with friends. You can even create custom roll functions, such as rolling four dice and dropping the lowest value, or automatically rerolling any ones.
Supports split screen and slide-over on the iPad, so you can put it alongside your other RPG apps, and speech synthesis that can read out the list of dice and the results. It even has an AR mode.
The ideal app for every member of your party!
Click on any of the images to see a bigger version.
Download a press pack of full resolution screenshots here (269 MB).
Purchasing for iOS / iPadOS / watchOS / tvOS
You can buy Dice by PCalc on the App Store by clicking the button below:
It costs $1.99 in the US, price varies in other countries. It's a (mostly) universal app - one purchase will work on iPad, iPhone, Apple Watch, and Apple TV.
It requires iOS / iPadOS / tvOS 14.1 or later, and watchOS 5 or later.
While it technically runs on an iPhone 6S upwards, it definitely prefers the graphical prowess of a iPhone X or later. On the iPad side, an A10 processor or later is recommended. A Series 4 watch or later is similarly recomended.
Purchasing for macOS
Dice by PCalc for the Mac is available on the Mac App Store by clicking the button below:
It requires macOS 11 Big Sur or later.
Currently, Apple does not allow developers to merge two existing apps together into a universal purchase, so this is a separate purchase of $1.99.
If you have any problems or questions, mail me at:
or contact me via Twitter at:
and I'll do my best to help.
- Added support for iOS and iPadOS 15.
- Added support for watchOS 8.
- Added the ability to link dice rolls to notes via Quick Note on iPadOS 15.
- Added extra large widgets on iPadOS 15.
- Added an option for a square dice tray.
- You can now use Handoff to send the state of the dice tray between your devices.
- Faster and more accurate detection of when the dice have settled.
- Reduced the sensitivity of the Digital Crown in the watch app.
- Bowling balls are no longer hollow.
- Fixed a problem with not being able to close the settings when using VoiceOver.
- Added an AR dice rolling test - not fully featured, but fun!
- With a LiDAR scanner you can roll virtual dice and have them fall off the table and get lost under the sofa!
- Added options to automatically tidy up and rotate the dice in the tray to make them more readable.
- Added a new cinematic camera mode that doesn't zoom in on the dice.
- You can now undo any action performed with the dice.
- The positions of the dice are now remembered between sessions.
- You can now import and export the current state of the dice tray.
- Tap the total in the history section to restore the dice as they were originally rolled. Only available for new rolls.
- Rotating the device will no longer reroll dice. Finally!
- Fixed a problem with USDZ export.
- Dice by PCalc now requires iOS 14.
- Added two new dice themes, "Stardust", and "Sparkle".
- Added coins to the watch app.
- You can now specify what type of dice is available in the simple controls mode.
- Improved the dice results speech - now speak non-numeric values where appropriate, like "Heads", "Tails", or "Smiling Pile of Poo".
- Coins now flip correctly.
- Fixed a problem with keyboard shortcuts.
- Fixed a crash with Temporal Antialiasing on older hardware.
- Added a new dice theme, "Quack".
- Sliders in the camera settings now snap to the default values.
- Improved the dice textures in Ultra 4K mode.
- Fixed a problem with the reflections of very shiny dice.
- Fixed a problem with the position of the quick access controls.
- Fixed a problem with the position of the locked dice ring.
- Fixed the expiry date of the cereal.
- Added camera settings for fancy visual effects including depth of field blur and film grain! Press and hold the camera button to access them quickly.
- Added a button to save a picture of the dice tray or the About screen to your photo library. Yes, I added a photo mode to a dice app.
- Added two new tray themes, "Encom", and "Mifune".
- Added an option to control the lighting of the tray.
- Added options for temporal antialiasing and screen space ambient occlusion.
- Added an option to the dice preset editor to not clear the tray when rolling that preset.
- Added keyboard shortcuts to move the camera between dice.
- Tap a dice in the cinematic or dice camera modes to focus on it, tap it again to zoom out.
- Fixed various problems with the cinematic camera mode.
- Added a new "Ultra 4K" graphics mode for sharper dice text.
- Added a cinematic camera angle for when you roll a critical hit or fail.
- Added seven new dice fonts.
- Improved the look of the dice tray.
- The "Use traditional D6" option will now change all the D6 icons to be pip dice.
- Fixed a problem with the vertical alignment of emoji when using certain dice fonts.
- The previously locked bonus dice themes, "Artifact", "Gold Pieces", "Carbon Fiber", and "Rock & Roll", are now available for everybody.
- Added four new bonus dice themes that are unlocked if you've ever put anything in the tip jar. A little thank you from us for your extra help!
- Added a new tray theme, "Dryad".
- Added two new dice fonts, "Outlands", and "Groundbreaker".
- Added basic AppleScript support for rolling dice and getting results (on macOS).
- Added an option to automatically copy the result of the last roll to the clipboard.
- Command-C now copies the result to the clipboard as well.
- The dice:// URL scheme can now control the app better, and everything is documented in the help.
- Improved the textures for the dark tray theme.
- Fixed a problem with the dice display at the bottom becoming blank.
- Fixed a problem selecting bonus dice themes from the menu bar (on macOS).
- Fixed a problem with some settings not changing in the watch app.
- Fixed a problem with sounds when switching between different outputs.
- Fixed a crash in the watch app when playing sounds.
- Added various custom roll functions to the "Type to Roll" section. Think of them as magic spells which are cast after the dice have been rolled! For example:
- 4D6 (Drop Lowest)
- 10D20 (Keep Highest 5)
- 2D12 (Drop < 8)
- 50D6 (Keep >= 3)
- 10D6 (Drop 2..5)
- 1D20 (Reroll 1)
- 4D20 (Reroll Even)
- 1D6 (Explode 6)
- See the help for a full guide.
- Added a dice set editor that lets you edit the dice and name, as well as add a custom roll function.
- Added some round colors to the preset dice images.
- You can now click and hold on the background of the tray to quickly unlock all dice.
- Added support for coins, including custom D2 dice.
- Added a delete button that clears the last rolled dice, while leaving the rest intact.
- Added an option to automatically reroll any dice that don't land exactly flat.
- Added an option to show the dice breakdown automatically for non-numeric dice.
- Added experimental support for exporting the current state of the dice and tray as a 3D object.
- Start any "Type to Roll" string with a "+" to add those dice without clearing the tray first.
- Improved dice audio with stereo and reverb options.
- Improved dice shadows in Basic and Advanced graphics mode.
- Improved startup performance.
- Fixed a problem with the "Type to Roll" buttons.
- Fixed a problem with the font on the D6.
- Fixed a problem with the breakdown display for Fate dice.
- Fixed a number of physics glitches.
- Fixed a number of graphical glitches.
- Added a relatively simple About screen.
- Added support for iOS 14, including widgets that show recent results and let you quickly roll dice.
- You can now choose a custom font for each dice theme.
- You can now roll dice in the background via Siri Shortcuts, and use the results in an automation.
- You can now roll dice sets by name in the "Type to Roll" section, and via Siri Shortcuts.
- You can also roll dice and sets by opening a URL of the form dice://roll/4D20.
- Fixed a performance problem with sounds and locked dice.
- Fixed a problem with some dice not restoring correctly when opening the app.
- Added a tip jar, in case you want to drop some spare coins our way. It doesn't unlock anything except our thanks!
- Added a history section which shows recent dice rolls including date, time, and result.
- Added a speech section to the advanced settings where you can change the voice, volume, pitch, and speaking rate.
- Changed the default speech behaviour to only read the last rolled dice, but added an option to always read the total.
- The numeric keypad clear key now clears the tray.
- Fixed a problem with the dice statistics being empty.
- Fixed a problem with the breakdown results for the D10.
- Fixed a problem with some custom images being drawn too small.
- Improved button layout.
- Fixed a problem with the D10 where it was returning values of 0-9 rather than 1-10.
- Fixed a problem displaying the breakdown for the first face of a single dice.
- Fixed a problem with the position of the totals when the FPS counter was showing.
- Fixed a problem toggling the FPS counter from the keyboard.
- Improved support for mice and trackpads.
- If a custom dice face name contains a "/", it will be split for the breakdown total. For example, "Advantage/Advantage" will result in plus two for "Advantage".
- Similarly, anything in brackets in the face name will be treated as a comment, and ignored for the purposes of the breakdown.
- Fixed a problem exporting custom dice.
- You can now create custom D4, D8, D10, D12, and D20 dice.
- You can now put any image or text on the faces of custom dice.
- Added the ability to list results by the number of occurrences of each face - eg "heads" vs "tails".
- Added an option to hide the total during rolls to minimize distraction.
- Added an option to switch off the tap and hold gesture to lock/unlock dice.
- Improved the import/export of custom dice and dice sets.
- Camera position is maintained when resizing windows.
- Now remember the last entered "Type to Roll" text.
- Significant performance improvements, especially with dice sounds on.
- All dice models and settings are now shared across multiple windows, greatly reducing memory usage.
- Fixed a problem with Siri Shortcuts not working if the app wasn't already running.
- Fixed a problem with not announcing critical rolls if there was a modifier.
- Dice now requires iOS 13 or later, and watchOS 6 or later.
- The option to announce critical D20 rolls is now actually optional.
- Added an option to announce critical D20 rolls.
- Added an option to only use the energy saver when the device isn't connected to an external power source.
- Fixed a problem editing custom dice on iOS 12.
- Fixed a problem with sounds not working if you switched out of the app.
- Fixed a problem speaking custom dice names.
- Fixed a problem speaking dice totals on the Apple Watch.
- Bananas are now yellow again.
- Added the ability to create custom D6 dice with a variety of faces and values.
- Added a D2 and D3, based on the D6, along with a number of other custom dice.
- Added an option for simple kid-friendly controls.
- Added an option to lock and unlock dice with a single tap.
- Added an option to use a light app icon.
- Added a wide range of options to fine tune graphics and physics performance.
- Improved the "Type to Roll" user interface.
- You can now roll dice with up to six different styles at the same time, and save them to sets.
- Faster startup! Reduced power consumption!
- Added options for an energy saving mode, which significantly reduces the power used when the app is idle.
- Added a new dice theme, "Pearwood", made from the finest luggage.
- Added support for the Touch Bar.
- You can now export all settings to a file and import that elsewhere, including into the iOS version.
- You can now roll dice with up to four different styles at the same time, and save them to sets.
- You can now use the suffixes [a], [b], [c], and [d] when typing a roll to specify the style.
- You can now change the color of the dice numerals.
- Changed the dice numeral font to San Francisco Rounded.
- Added more green tints.
- Fixed a problem with the dialogs not letting you type certain characters.
- Fixed a problem with typing modifiers.
- Fixed a problem with the app failing to launch when streaming media to an AirPlay 2 device.
- Added a throw strength slider to the advanced settings.
- Fixed a problem with all the dice being mysteriously invisible.
- Fixed a problem with the watch app complication only being a gray square on some watch faces.
- Added over five hundred new dice themes! Kinda. You can now apply tint colors to all the existing themes.
- Added six new real dice themes, "Ice", "Marble", "Mirror", "Nebula", "Facet", and "Vertex".
- Added an option to set the graphics mode to basic, advanced, or ultra, on any device.
- Added an option for 120Hz frame rates on iPad Pro devices that support it.
- Added an option to disable shake to reroll.
- Added an option to increase text contrast.
- You can now shake to reroll on the watch.
- Apple TV version now included!
- Added full support for iOS 13.
- Added support for automatically switching theme to match Dark Mode on iOS 13.
- Added support for directly entering dice rolls into Siri Shortcuts on iOS 13.
- Added an experimental option for dice to reflect each other on iOS 13.
- Added a "Type to Roll" button so you can quickly roll lots of dice just by typing.
- Added a button to switch between the two cameras.
- Added a new dice theme, "Graffiti".
- Added keyboard shortcuts for rolling dice sets.
- Added keyboard shortcuts for pan, zoom, and rotate.
- Added an option to use a huge dice tray.
- Added an option to switch off haptic feedback.
- Improved the haptic feedback on iOS 13, now takes into account the weight of the dice.
- Improved the dice rolling physics.
- Fixed a problem rolling D10s with Siri.
- Fixed a problem with the dark theme being too bright on iOS 13.
- Fixed a problem with the traditional D6 not resetting along with the factory settings.
- Fixed a problem rendering the D6 on older hardware.
- Fixed a problem with the tray being tiny at startup.
- Added an easter egg for Vailo.
- Added an Apple Watch dice app - never be without a D20 again!
- Added Fate/Fudge six-sided dice.
- Added an electrifying dice theme, "Storm", and a simple black on white one, "Pascal".
- Added an option to use a traditional D6 with pips rather than numbers.
- Added an option to reroll all the dice when you double-tap the background of the tray.
- Added an option to also hide the total when you hide the controls.
- Added a button to reset all the settings to the defaults.
- Now keep statistics for all dice rolls, and you can save the results to a file.
- Hold down the reroll button to switch on auto reroll.
- Improved the quality of graphics on older devices.
- Tray position is now remembered between sessions.
- No longer say "critical success / failure" when on a device not set to English.
- Fixed a number of problems with gestures not working correctly.
- Added over a dozen new dice themes.
- New dice display with optional subtotals per dice type.
- You can now directly interact with the dice on the tray - drag them around, or push at the edges for finer movements.
- Scroll down in the first pane of the settings to access the advanced settings. Level up!
- Added an option to the advanced settings to initially ignore some OS gestures, such as swiping up at the bottom of the screen. Swipe a second time to trigger them.
- Added options to turn off the gestures for zooming, panning, and rotating the tray with two fingers.
- Added options to turn off the gestures for flicking, nudging, and dragging the dice with one finger.
- Added an option to use moon gravity. DICE ON THE MOON!
- Added an "Ultra Graphics" option that will use up all your battery very quickly, along with some other graphics options.
- The "Clear" button no longer resets the camera position, but there is now a "Reset" button that helpfully appears and does.
- You can now rename presets by tapping on them in the list when in edit mode.
- Tapping the screen will now always show the controls if they are hidden.
- Buttons now fill the side of a horizontal iPhone 6/7/8 Plus.
- Fixed a problem that could cause the spoken total to differ from the displayed one.
- Fixed a hole in the ceiling through which dice could escape.
- Improved the "Lava" dice theme".
- Added a new dice theme, "Lava".
- Added optional sound effects for rolling dice.
- Added support for Siri - you can now set a voice shortcut for rolling a dice set.
- You can now import and export dice sets, and share them with other people.
- You can now tap and hold dice to lock them into position. When locked, a blue ring will appear around them, and they will stay put when you reroll. Tap and hold again to unlock.
- You can now pan around using two fingers when the dice camera is active.
- You can now rotate the dice tray using two fingers.
- Improved the dice physics - the dice roll better and have different weights.
- The D20 is now slightly bigger, as befits its important status.
- Press and hold the dice buttons to fire a constant stream of dice.
- Tap the question mark icon in the settings to get help for every option.
- Tap the version number in the settings to see the version history.
- Tap the compose icon in settings to send feedback via email.
- The easter egg no longer stops music or podcasts from playing.
- Fixed a problem with some dice sets ending up as blank lines.