(note, items marked * were implemented in v1.51 which was released on android only)
Additions:
* There is now a shortcut to copy the roll result text to the clipboard, and a setting to specify the format of the text (for chat, plain text, BBCode, or HTML). You can also specify whether user sheet values used in roll expressions are included as part of the copied text.
* You can copy the result text from previous rolls in the roll history by right-clicking/long-pressing them. The text will copy using whichever settings were enabled at the time the result was first recorded
* The Dice>Ambiguous Numbers setting now has a “No Change” option in addition to the existing Underline and Dot options. Warning: numbers that read differently when upside-down won’t be marked in a distinct way, so you should avoid using this option unless you have “Rotate to Read” enabled, or you only read the result display, or you manually check individual dice by clicking/tapping on them
Added 78 new dice shapes (bringing the total to 464)
The names might not make sense if you’re familiar with regular dice shapes, but the way these dice work is as if there is a polyhedral void within the sphere and a weight moving freely within that void. For them to work, it is the number of vertices the void has that counts, rather than the number of faces - since the weight will settle in the vertices.
Anisohedral
Truncated Triangular Bipyramid (d11)
Radially-Truncated Pentagonal Bipyramid (d15)
Truncated Pentagonal Bipyramid (d17)
Stretched Rhombic Icosahedron (d20)
Truncated Pentagonal Trapezohedron (d22)
Akis Pentagonal Prism (d25)
Misc
Menger Sponge (d6)
Gem Pentagonal Trapezohedron (d10)
Fidgiedippy (d24)
Can now sort dice shapes by their fairness type
Generally Fair (fair under all circumstances)
Specifically Fair (these shapes would only be fair in a specific set of circumstances if rolled physically)
Unfair (shapes which cannot be fair under any physical circumstances)
To be clear, all of these shapes will produce fair random results if rolled in the app unless “realistic bias” has been enabled. It is simply a classification for types of shape.
New included die face images:
gun
bullet
no/ban symbol
tallied figures from one to ten
Add dice from the hotbar to your hand while dragging other dice, right-click the icons on computer, or tap them with another finger on mobile.
Pressing dice hotkeys while dragging a group of dice will add add an instance of the die to your hand.
New Results setting “Result Order” specifies how different types of results are ordered, there are three options: Numbers First (default, numbers appear before strings), Strings First (strings appear before numbers), and Strings Hide Numbers (numbers are not displayed in the result if there are any strings present)
Added “Time Rate” to dice settings, this changes the speed of the app and its physics. Useful if you want to get your dice results faster, but also cool for slow-motion dice rolling.
Changes:
* Increased the default maximum number of results stored in the roll history from 20 to 35
The “BiTruncated Octahedron” (d10) shape has been renamed as “Polar-Truncated Octahedron”, because bitruncation is a different kind of operation.
The “Truncated Triangular Bipyramid” (d9) shapes have been renamed “Radially-Truncated Triangular Bipyramid” to more accurately represent their construction and to allow for the new Truncated Triangular Bipyramid (d11)
The previous “Spinner” dice shapes have been renamed to “Spinahedron” shapes, partly so the new shapes that are spinners can be named accurately, but also to reflect that the previous shapes are more closely related to polyhedra.
Date-conditional setting in April now adds an extra line of text to the results display when it is enabled
Fixes:
* The “Spikey Cube B” now uses the correct sharp-edged model, and doesn’t lose its rounded-edged model when being edited
* Fixed issue where expression testing of dice that had been edited in the same session would treat the dice as if they had 255 faces
* Removed unnecessary space that would appear before a list of string results when there is no number result (this only happened for rolls that were not roll expressions)
Fixed “Magic” dice shader type not appearing when scrolling the option left
Fixed issue where controls could not be changed, this may break some existing custom control bindings on macOS or Linux
Date-conditional hauntings now occur correctly
Fixed Value Replacement condition applying to rolled dice on every frame, instead of just once.
Recessed set (d4, d4 baseread, d6, d8, d10, d12, d20)
“Spikey B” set (d4, d6, d8, d10, d12, d20) (included as part of the existing “spikey” set)
Trunkis set (d4, d4 baseread, d6, d8, d10, d12, d20)
Fidgiegiffle (d30)
Bevelled Truncated Tetrahedron (d4)
BiTruncated Octahedron (d10)
Möbius Strip (d1)
Möbius Strip Convex Hull (d1)
Pyramihedra:
Tetrapyramihedron (also known as a “sharpohedron” - d18)
Hexapyramihedron (d36)
Octapyramihedron (d36)
Dodecapyramihedron (d90)
Icosapyramihedron (d90)
New included face images:
Dotted circle
Dotted concentric circles
Lucky 7
Bell
Bar
Cherries
Lemon
Plum
New included example dice and rolls:
Slot machine dice, coin, and roll expression
“Ancient” styled d6s
Tutorial Expressions to explain comparison functions (check() and compare())
New ‘Glitter’ dice shader:
the previous Glitter shader is now called ‘Foil’
Both Glitter and Foil shaders now have a “Sparkling” setting that can adjust the granularity/scale of the shader’s effect
New graphics options (not available on Android, sorry!):
Ambient Occlusion
Motion Blur
New environment lighting options:
Basement (this is the original/default)
Indoor
Indoor2
Outdoor
Studio
New Roll Expression features:
Roll condition parameters are now much more versatile; they can be expression result names, user values, roll-time variables, or preset variables, and you can now specify <=, >=, and number ranges as well as < and > as before. These can even be applied to specified dice explosion pattern elements (eg [a=3,4d6!{(<2,>=4,a)=[“Pattern Matched”])] )
Preset variables (eg; diceCount, rerollCount, pinSum, etc) now have versions which count dice in all active expressions and not just the ones in the current result/expression (eg; allDiceCount, allRerollCount, allPinSum, etc)
New preset variables “diceSum” and “allDiceSum” for summing dice regardless of their pools, roll conditions, and disregarded status
No Repeat/Unique roll conditions have been improved and now allow comparisons (<, <=, >, >=) and number ranges (X..Y) when they didn’t before
The ‘Scale’ roll condition no longer has an upper limit on size - use this power wisely!
Begun implementing “Roll-time variables”, the intention is for this to allow you to include a value that can be set each time an expression is rolled. For example, rolling [d20 + ~modifier~] should prompt you to specify the value of ‘modifier’. You can set default values for roll-time variables like this: [d20 + ~modifier:5~]. For now, values cannot be modified outside of expression input, and prompts do not appear (I’m still working on them).
Added a new loading message
Results text can now be right-aligned
You can now display the dice bag path beneath the hotbar, dice bag names in the path can be clicked/tapped to quickly go to a parent dice bag
Changes:
Environment lighting is now generated dynamically on android and iOS at lower qualities (original environment lighting generation at higher qualities on iOS remains).
Sub-expression dice now pop-out upwards from the dice that spawn them
Dice Bag icons are now better aligned
When a number of dice to explode is specified for an Explosion roll condition, it now appears after any {} parameters, and not before.
Adjusted formatting of detailed count results display to be clearer and take up less space
Adjusted face layout of Trigonal Bipyramid shape (d6) to be better numerically balanced
Moved truncated tetrohedra further up the shape list when sorting by face count
The “Rhombified Dodecahedron” shape has been removed, and replaced by the “Dodecapyramihedron” which is the correct version of the shape
The “TriTruncated Triakis Triangular Prism” shape (d5) has been renamed as “Chamfered Triangular Prism”, because (though slightly less precise) its a simpler description of the shape’s construction
The “Icosideltoidal Hexecontahedron” shape (d80) has been removed as it was just a duplicate of the “Pentakis Icosidodecahedron” shape. The inclusion was a mistake I didn’t notice because one was simply a rotated version of the other (I have a lot of shapes to wrangle and I get confused sometimes :P)
The “Fidgie” set of shapes are no longer named as “Houlden Fidgie____”, because it feels tacky to name shapes after myself, also I’ve found cooler shapes anyway
Fixes:
Fixed dice with inverted colliders intersecting other dice, and having imperfect user touch/click detection. This fix means they may not settle with a single ‘up’ face if they settle on top of other dice instead of on the dice tray, but a single face will still be selected as the up-most one.
Fixed issue where free camera’s bounds didn’t match the dice tray size
Shape names on shape select screen are resized to better fit and not be broken up
Fixed environment lighting not updating correctly when changed on PC at medium quality or lower
Fixed issue where rendering dice shape icons would change the environment lighting
Fixed issue where dice could become trapped in space high above the dice tray when moving at high speeds or when spawning large amounts of dice
The popup warning for potentially rolling too many dice now checks more than just the first result of an expression
The Pentakis Snub Dodecahedron now uses an inverted collider as its faces are not parallel
Remade the “Sophie’s Six” shape with correct symmetry, this should correct face labels from clipping into its surface sometimes
Fixed bug where an expression would not roll if it contained a Redefine roll condition that wasn’t the first roll condition of a dice pool
Pattern Explosion now waits for all dice to have settled before exploding
Fixed a variety of quotation mark characters not being parsed as quotation marks in roll expressions
Fixed an issue where expanded views in the roll history interface didn’t make room for a roll’s user values
When “Show pool values” result setting is enabled, values determined by user value sheets are now tinted with the sheet’s specified colour
Fixed user values being coloured in results display when “Coloured roll expressions” setting is disabled
Fixed unnecessary new-lines being added to results when “Show detailed counts” setting is enabled but there are no count roll conditions to detail.
Fixed detailed counts not displaying a count when only counting the max value of rolled dice
Fixed bug that would prevent expression testing working if an expression had pattern explosion into a sub-expression
Fixed dice with sub-expression values from having the sub-expression counted when the die is disregarded
Fixed dice with sub-expression explosion from being counted when disregarded (the exploded expression is still counted)
Fixed some disregarding roll conditions (keep, drop lowest, drop highest, drop, and count) treating dice which have rolled non-exploding sub-expressions as strings instead of their value replacement. So now, for example, a pool which counts ‘6’s will also count dice with sub-expressions that result in a value of ‘6’.
Fixed issue where a face’s string value would be counted infinitely if it spawned a sub-expression whose dice have all been removed
Fixed dice bag hotbar and roll expression input being slightly offset to the left
16-Sided Truncated Octahedron, and framed versions (d16)
22-Sided Tetrakis Hexahedron (d22)
42-Sided Sphere (d42)
Bevelled set (d4, base-read d4, d8, d10, d12, d20 - there was already a bevelled cube d6)
New example dice:
deck54 added to examples/cards
loveMeNot added to examples/divination
Expression Sampling & Statistics:
The app can now test roll expressions using PRNG and display the test data as it is collected. This feature can be accessed by right-clicking/long-pressing the ‘roll expression’ button, or by selecting “Test” when editing a saved roll expression
Because it uses PRNG, physics considerations are not taken into consideration (eg character bias, waiting for dice to settle) and thousands of test rolls can be performed each second for most expressions. (You can set how many samples are made per frame, and how many samples to aim for in the “Expression Testing” section of the settings menu)
This feature is largely to help understand the probabilities of getting various results and will be most useful to game designers
Added “Flat Color” environment background
Roll Expression additions:
New “Redefine” roll condition, allows you to roll an existing die redefined as a specified number die or any other custom or generatable die
For example if you have a single die named “myDie” you can roll “myDie_4 + myDie_8” to roll a d4 and a d8 with the same appearance as myDie
You can also follow the “_” with any other rollable dice name such as “d6”, “dF”, “coin”, “d%” or any custom die name - for example “myDie_ability” will roll an ability die with the style of myDie
New Check and Compare functions for roll expressions, these compare the first two parameters and then add a string result based on the comparison. The outcomes for check(x, y) are “Pass” and “Fail”, outcomes for compare(x, y) are “Greater”, “Equal”, or “Less” based on the comparison
You can specify alternate strings in each case, for example check(x, y, ”Win”, ”Lose”, ”Draw”)
Shorter names now available for rounding functions (rdown(), rup(), reven(), and rodd() for rounding down, up, to even, and to odd respetively)
Keep Middle roll condition can now keep the upper middle, just use “KMm” instead of “KM”
Drop condition can now specify string values to be dropped
Roll expressions can now generate an operator die denoted by ‘op’ for random mathematical operators
Added reserved terms for use in roll expressions, Infinity and
NegativeInfinity
Changes:
On PC, User Value Sheets are now stored as “userValueSheets.xml” in the directory containing the CustomDice folder, instead of “UserValueSets.xml” in the application data folder. This was already the same location on mobile, but the different filename has now been applied there also
Improved string stacking in results display (now uses multiplication symbol instead of ‘x’ and removed a space)
More shape select icons are rendered each frame on PC
If a die’s string result is an operator (+,-,*,×,÷,/,^) it will now be included as part of a roll expression’s mathematical evaluation.
Standardised roll condition notation so that condition characters are now displayed in upper-case (Cap/Clamp and Unique conditions)
Changed Bevelled Cube and Mine Cube shapes so that their scale and face layout match other cube shapes
Various Optimisations
Fixes:
Skew Pentagonal Trapezohedron mesh has been replaced with a new (similar) model that is isohedral (there was a slight flaw with the old mesh causing face labels to clip through the die surface sometimes)
Fixed issue where value replacement with random string values would not work if the original value was already a string
Paint and Scale roll conditions are no longer parsed when applied to expression result names, as they aren’t applicable to them
Fixed issue with editing when an external font cannot be loaded
Fixed issue where some scrolling areas ignored scroll-wheel sensitivity setting
Fixed some conditions (Keep Highest, Drop Highest, Keep Lowest, Keep Middle) not taking manually disregarded dice into account when disregarding other dice
Dice which have both number and string values will now have proper reroll behaviour when using the NoRepeat/Unique roll condition
Attempted to fix rare crash when shape icons are being rendered (now if icon rendering fails, the app should continue regardless)
Fixed issue where expressions would not generate a new d100 die if using an upper-case “D%” to label it
Fixed issue where a result would not be added to the roll history if it included a user value that had since been changed or removed
Fixed issues where roll conditions with a ‘<‘ or ‘>’ in their result display could be parsed as rich text and cause display errors (Cap/Clamp, Count, Drop, Explosion, and Reroll conditions)
Warnings: (These only apply when using specific roll expression notation from previous versions of the app)
Pattern explosion notation has changed from previous versions, the old notation will no longer work
explosionCount and explodedCount variables are swapped from their previous behaviour. to be more clear. explosionCount is the number of explosions, explodedCount is the number of dice spawned by explosion
Additions:
Images can now be imported from the image select menu on all platforms except macOS, removing the need to manually move them to the Custom Dice folder. (I'll look into adding this kind of feature on macOS in a future update.)
Imported images can now be deleted from the image select menu. Right-click/long-press them and then select the bin icon
Added new dice shapes:
Pentacontagonal Bipyramid (d100)
100-Sided Sphere (d100)
Aniceohedron (d69)
New example dice and rolls:
Wild Magic die added to RPG/5e/
Tutorial Expression Rolls
New pattern explosion features:
Can now have pattern matches of string values, and < or > number comparisons
Can now check for more than one pattern, eg 3d3!{(1,1,1),(2,2,2),(3,3,3)}
Can now explode into sub-expressions eg 3d2!{(2,2,2)=[4d6]}
New Roll Conditions:
Keep Middle roll condition; which disregards all but the middle X dice in a pool (rounded down)
Paint roll condition; pass colour names or HTML colour codes to specify colours as P{colA, colB, faceCol, faceHighlightCol}. If no colours are specified, they will be randomised
Scale roll condition; set a value to alter dice scale eg 4d6S{0.5}
Text roll condition; treats dice pool number results as text strings instead. Eg 2d6T. This can be done to get numbers of each individual die in a pool (2d6Ti), and/or as written words (eg 2d6Tw or 2D6Twi)
You can now specify string components in roll expressions, these are essentially values which have the same value as their name. eg: “You grow by” d10Tw “inches”
New expression functions:
trunc()/truncate()/roundtozero() - Removes fractional part of a number, rounding it towards zero
roundfromzero() - Removes the number’s fractional part and adds its sign, rounding it away from zero
roundeven()/roundtoeven() - If not a whole number, rounds to the nearest even number
roundodd()/roundtoodd() - If not a whole number, rounds to the nearest odd number
sign() - Returns 1 (number was >0), -1 (number was <0), or 0 (number was 0)
mod(,) - Modulo, returns the remainder following division of two numbers
ceil() - Ceiling, equivalent to roundup()/ceiling()
There are also new expression functions for specific game systems:
dnda2m() - Converts a 5e ability score to an ability modifier
dndl2p() - Converts a 5e character level to a proficiency bonus
lanll2g() - Converts a Lancer licence level to grit
Changes:
min() and max() functions can now have an arbitrary number of parameters
Pattern explosion notation changed. Patterns are now passed inside of other explosion conditions’ curly brackets, within curved brackets. eg 3d3!{(1,1,1),(2,2,2),(3,3,3)}
Functions are only parsed as functions if they are followed by a “(“ opening bracket. (this allows you to roll dice which have the same name as a reserved term for a function)
The default tray material when first opening the app is now cherry wood, instead of walnut
Order of the shape select menu is now saved between sessions
Improved collider scaling for coin dice: “Chip”, “Triangular chip”, “Pentagonal Chip”, and “Hexagonal Chip”
Adjusted order of elements in edit menu for saved rolls
explosionCount and explodedCount roll variables have been swapped from their previous behaviour
‘d20’ RPG example folder has been renamed ‘5e’
Fixes:
Fixed issue where explosion and value replacement sub-expressions did not work if they had surrounding whitespace
Fixed whitespace issues with roll conditions: Explosion, Value replacement, Drop, Reroll
Pattern explosion now effects explosionCount and explodedCount values
Corrected rotation of the “Hexagonal Chip” collider
Spoken results will now read string values that are English number words (eg “one”, “twelve”, “forty two”, etc)
Fixed issue where a “KH” roll condition would be recognised as both “Keep highest” and “drop highest”, dropping all dice in a pool
Dice can now be added/removed by dragging them from/to the hotbar
Dice Spindown - deliberately set values of rolled dice by clicking/tapping the result in the die control popup. Results which contain deliberately set values will be marked with the spindown icon
New menu UI which are easier to read and navigate
New dice shapes:
Corner-Tapered Cube
Corner-Tapered Cube B
Part-Rounded Cube
Tapered Tetrahedron
Tapered Tetrahedron (Read From Base)
Sophie’s Prism 5
PentaHeptaPenta Polyhedral Trimmed Solid
HexaHeptaHexa Polyhedral Trimmed Solid
Sphericon
12-Sided Sphericon
16-Sided Sphericon
20-Sided Sphericon
24-Sided Sphericon
28-Sided Sphericon
New included face images:
Crossbones
Cutlass
Dragon
Musical notes
Planechaser equivalant images
Zodiac signs
New example dice and rolls:
Card / CCG / planechase
Card / CCG / spindown
Novelty / Sea Bones
Novelty / Note
Novelty / Zodiac
RPG/ Misc / d%digits and d%tens
RPG / Fighting Fantasy
Roll expression changes:
Can now roll dice with a number of sides determined by a user value in roll expressions. For example, if a user value of “Strength” is “8”, rolling “4dStrength” will roll four eight-sided dice
Dice expressions can now parse new functions, including multi-parameter functions:
New color selection UI, includes HSV sliders, and swatch selection
Dice control popups now indicate whether a die has been pinned (pin icon), disregarded (X icon), deliberately-set (spindown icon), if it was created as part of dice explosion or a sub-expression (+ icon), and if it was actually rolled as part of the last recorded roll result (… icon)
Roll history now marks dice which have not been rolled since the previous roll result (… icon)
When removing dice from an expressions’s pool, the pool’s count display will now list the current number of dice, and it will become underlined to indicate that the pool has been tampered with (you don’t get to roll 100d20KL and delete all but two ’20’s to pretend you got a critical with disadvantage :P). This ‘tampering’ marking will disappear the next time all dice in the pool have been rolled together at once
The “Cube” shape has been renamed “Smoothed Cube” and the “Sharp Cube” shape is now the “Cube” shape. Dice saved with v1.31 and earlier will load with the appropriate shapes even if the name no longer matches
Dice shape icons are now rendered progressively at runtime when the shape selection menu is open. This means I don’t need to include hundreds of rendered images of each dice in the app, reducing file size
Rendered dice icons (including new shape select icons) should appear sharper as they are now scaled to fit the icon resolution before being rendered (before, they were often rendered small in images that were significantly cropped)
Made the “TriTruncated Triakis Triangular Prism” and “Sophie’s Prismish 5” shapes deeper/thicker
Made it so the UI can now be hidden entirely when toggled
Removed the ‘Sophie’s Dice’ watermark when the UI has been toggled
Camera setting icon will fade a few seconds after it has been changed (previously this was not visible at all when the UI was hidden, but I think the feedback is useful especially when using a chroma key background)
With roll hotkeys and being able to drag dice to the bottom of the screen to remove them, you should be able to have a full UI-less dice rolling experience. Perhaps useful if you’re streaming dice with chroma key and don’t want UI or a cropped view :)
Changed the ‘menu’ button’s icon, and moved it to the left
User Value Sets are now “User Value Sheets”, it’s a minor change but hopefully it will help people who need them know what they are for
You can now enable/disable a sheet of user values from the sheet’s editing menu
The default energy value for the “Sophie the Dice Witch” sheet has been reduced to -5
The UI scale can now exceed its maximum value on PC by editing the settings.set setting “canvasScaleValue” to a number above 3, or adding a “maxCanvasScale” setting
Fixes:
Fixed bug where “Curved Pentagonal Trapezohedron B”-shaped dice fell through the dice tray
Fixed issues where conflicting terms in roll expressions could cause parsing errors. Terms will now always select the longest matching term first, if multiple terms match exactly, they will be prioritised in the order of: named roll results, user values, reserved numerical terms, function names
Commas within brackets will no longer split an expression into multiple result outputs, this allows for the new functions with multiple parameters
Environment light colour changes will now trigger recalculation of dynamic environment reflections
Resolutions should no longer appear in the resolution select dropdown multiple times
Fixed issues caused by changing CustomDiceDirectory in settings.set to a path that doesn’t end in ‘/‘
Background (behind dice tray) now matches chroma key colours. When using a chroma key environment, everything on screen except the dice and UI will be that color
If a die control popup is wider than the screen, it will now shrink to fit instead of flickering across the screen
Fixed bug where cancelling the creation of a new saved roll expression will still save it if you cancel with the escape control or android’s back button
Fixed issue where pressing escape/android’s back button in shape or image select would cancel the editing of the current die completely
Fixed issue where cancelling a roll expression with many dice could prevent new dice spawned afterward from being dragged/thrown
Warnings: (These only apply when loading dice and saved rolls made in previous versions of the app)
Changes to the roll conditions Drop Conditionally (D) and Count (#) may break some existing saved rolls using them. Check the Dice Notation documentation for the new way to use these roll conditions.
Changes to base scaling for face displays may differ from previous versions for some die shapes, you can adjust the face scalings per die and save them again to fix this.
Additions:
All dice shapes now have both sharp-edge and rounded-edge models, these can be toggled in dice edit mode
There is now greater control over die model surfaces, instead of selecting a material type you can individually set:
Shader, metallicity, Glossiness, and normal texture
Most new dice belong to the new ‘Anisohedral’ category (forgive me if some shapes are named incorrectly, these are mostly my best guesses):
TriTruncated Triakis Triangular Prism
Sophie’s Prismish 5
Asymmetrically Truncated Trigonal Trapezohedron
Truncated Triangular Bipyramid
Chamfered Tetrahedron
Asymmetrically Truncated Pentagonal Trapezohedron
Asymmetrically Truncated Hexagonal Bipyramid
Area-Balanced Truncated Octahedron
Asymmetrically Truncated Heptagonal Trapezohedron
HexaTruncated Triakis Tetrahedron
Chamfered Cube
Chamfered Octahedron
Rhombicuboctahedron
Truncated Cuboctahedron
Hexakis Truncated Tetrahedron
TetraTruncated Pentagonal Icositetrahedron
OctaTruncated Triakis Octahedron
TetraTruncated Tetrakis Hexahedron
HexaTruncated Tetrakis Hexahedron
Icosidodecahedron
Area-Balanced Truncated Icosahedron
Twice Truncated Icosahedron
Tetrakis Cuboctahedron
Snub Cube
Chamfered Dodecahedron
Chamfered Rhombic Dodecahedron
Chamfered Icosahedron
Truncated Deltoidal Icositetrahedron
OctaTruncated Disdyakis Dodecahedron
Hexakis Truncated Octahedron
Octakis Truncated Cube
Rhombicosidodecahedron
Truncated Icosidodecahedron
Anisohedral Hexecontahedron
Chamfered Deltoidal Icositetrahedron
PentaTruncated Deltoidal Hexecontahedron
PentaTruncated Pentakis Dodecahedron
DecaTruncated Triakis Icosahedron
PentaTruncated Pentagonal Hexecontahedron
Hexakis Chamfered Cube
IcosiDeltoidal Hexecontahedron
HexaTruncated Pentakis Dodecahedron
Tetrakis Rhombicuboctahedron
Pentakis Icosidodecahedron
ExChamfered Rhombic Triacontahedron
Rhombified Dodecahedron
Truncated Pentakis Dodecahedron
Snub Dodecahedron
Bevelled Deltoidal Icositetrahedron
Bevelled Icosidodecahedron
Hexakis Octakis Truncated Cuboctahedron
Pentakis Rhombicosidodecahedron
Hexakis Subdivided Truncated Tetrahedron
Tetradivided Deltoidal Hexecontahedron
Truncated Pentakis Icosidodecahedron
DecaTruncated Disdyakis Triacontahedron
Pentakis Snub Dodecahedron
Decakis Truncated Dodecahedron
Decakis Truncated Icosidodecahedron
Pentakis Truncated Triakis Icosahedron
Many of the new dice shapes are not face-transitive, and are marked as such in the dice shape listing (with an icon of three rectangles around a triangle) so you can know they are less fair should you wish to roll them with ‘realistic fairness’ enabled. It’s also an indicator that face labels will be shuffled among faces of different shapes, so might not match perfectly if you rescale any faces
You can now choose different marbling patterns for dice with two colours
You can now add .ttf font files to your CustomDice folder and use them for your die faces
You can now select system fonts for your die faces (except on iOS devices)
You can now apply visual effects to dice faces
Heal, Sparkles, Party Popper, Magical Charge, Blood Spray, Colour Splash, Fireball, and Electric
Dice icons on the hotbar now properly match the appearance of the dice
When making/editing a dice bag:
You can choose to include every possible dice shape (this is over 160 dice so it might take a second to generate them all!)
You can choose to include a 14-dice (DCC) set
If there is a copied style, it can be applied to generated dice sets
New fonts for face labels
Metal Mania
Josefin Sans
Sriracha
New included face images:
Hexagon
Coin
Gem
Clock
Skull
Face Image displays can now be ‘pipped’, where the image will be repeated in a dice pip shape, with a number of pips equivalent to the dice’s number value
New Example Dice & Rolls:
Consonants
Vowels
Blades in the Dark
twoDeeSix
Time dice
d20 Ability Scores
VFX
Casino
Added new dice tray/environment materials
Leather
Plastic
Notepaper
Notepaper (Used)
You can now change the color of the background (tray material) in the environment settings
Added a shortcut for double clicking/tapping a rolled die, this shortcut can be set to Remove, Disregard, Pin, or Reroll the die in the Control Settings. By default it will Reroll.
Some aspects of the app are now preserved between sessions, including:
Which dice bag you have open
Last entered roll expression
Hotbar visibility
Camera mode, position, and orientation
Added new loading screen messages
Ambiguous number values (such as 6 or 9) can be set to be marked with either a dot or an underline. Set this in the dice settings (it will take effect for newly spawned dice only)
On mobile, under dice settings you may now enable detailed physics simulation, this will increase the amount of time spent on the simulation - but at the cost of more computation/battery usage for your device. When set to “efficient”, detailed simulation will only be used when there are active dice that require greater simulation precision (specifically, coin dice). On PC, detailed simulation is always enabled, and this option is not displayed.
Added “Camera Motion” option, Full camera motion will always try to follow the dice (when not using custom positioned cameras) and Low camera motion will not follow dice as they roll, waiting for them to stop before moving
Roll Expression Improvements:
You can now roll expressions with multiple results. These can be separated with a comma (eg “4d6+2, 3d8”) or named (eg “attack=2d20L damage=4d6+4”)
Expressions with multiple results can use earlier results as part of their expression, for example (“a=d4, b=d6, c=a+b” or “d4, d6, result1+result2”)
Named results can also have some roll conditions applied, for example “a=4d6, a#” will display the sum of 4d6, and how many 6s came up. Roll conditions treat a result as a single dice pool of all the dice which have not been disregarded, so using them will ignore any maths that would otherwise be part of the result’s calculation
Added ‘Keep’ Roll Condition; 5d6K2 will roll 5d6 and disregard all but the highest-rolling 2 dice. There is a “Keep Lowest” variant; 5d6KL2 will disregard all but the lowest 2 dice. This condition is essentially the inverse of the existing “Drop Lowest” and “Drop Highest” conditions
Value Replacement conditions can now include comma-separated string values
Value Replacement conditions now support random range face value types. EG “d6V{6=10..20}” will roll a d6, and replace the ‘6’ face with random numbers from 10 to 20
Count conditions can now count string values
The number of dice in a dice pool can be defined by user values, for example if there is an active user value of ‘Power’ that has a value of ‘4’, rolling “PowerD6” will roll 4 D6 dice
Adding a dot “.” to Explosion conditions will prevent exploded dice from being disregarded by other conditions effecting the dice pool. For example, 6d10K4!. will roll 6 d10 and keep the highest 4, without disregarding any exploded dice
The No Repeat/Unique condition can now have values specified which will not be rerolled, for example 6d6u{5} will roll 6d6 and reroll duplicate values other than 5
Added “rounddown” and “roundup” math functions, these are equivalent to the existing “floor” and “ceiling” functions
If the app detects you trying to roll an expression with 500 dice or more, it will warn you that the app may slow or crash and confirm that you still want to roll that many dice
Roll expressions can now generate coins to roll, even if you have none in your dice bags
Roll expressions will generate randomised dice when asked to roll “d?”. The dice faces will have random values and displays
Added “discardSum” and “discardCount” expression variables, which are equivalent to “disregardSum” and “disregardCount” respectively
Results can now be spoken aloud by the app, enable in the results setting menu. (String values with no relevant recording will not be spoken)
Many of the spoken recordings have been added to the sound effect list if you want individual faces read without enabling spoken results
Result display can now be center-aligned
Changes:
App size has been *substantially* reduced by removing hundreds of normal map textures that were required for each of the older dice models, and by optimising asset settings by platform
The “Rotate Labels” option is now “Rotate to Read”, and will rotate each entire dice instead of single faces
Underlined face labels are now positioned slightly higher so that underlines are not as close to face edges
When dice roll for more than a couple of seconds, the angular drag applied to them is gradually increased so that they will come to a stop sooner
Dropdown menus (Sound effects, Environment Background, etc) now open scrolled to the current selection, instead of at the top
The Face Sound Effect dropdown menus on mobile are now larger to be more touchscreen-friendly
Single-colour dice are now more likely to appear when styled randomly
When rolling single dice from a dice bag, the results display won’t list it (eg displays will now be “d20” instead of “1d20”)
Shapes made to form a set with coherent construction or aesthetic are now grouped together in the shape select list, after the main shape categories (Platonic, Catalan, Bipyramids/Trapezohedra, Crystal, Barrel, Coins, Curved-Face, Novelty)
Some dice shapes have had their base scales adjusted so that faces are generally similar in size by default
Many die shapes have had their face scales and/or positions adjusted so that their default is a better fit. This may make dice saved in previous versions appear to have faces that are too large or too small when loaded, but these can be adjusted by editing those dice and re-saving them
Face labels are now placed closer to face surfaces so they don’t appear to ‘float’ around the dice
Die face numbers/text will no longer be rendered when facing away from the camera for dice without transparent shaders. This should speed up rendering significantly for dice with many faces.
Example dice have been improved to demonstrate new customisation options
There is a new icon for shape listing to indicate shapes that have ‘impossible’ colliders (shapes with colliders that don’t match the display mesh, adjusted so that they can have a face pointing upward when at rest - if rolled in real life, these shapes would need their value read from the base instead of from above)
When roll expressions find a term that isn’t recognised, instead of rolling the term as a coin, it is rolled as a 4sided barrel shape, stretched to approximately fit the term on its faces
Top-down camera view has toggleable modes just like the non-top-down view, but they remain rotation-fixed
The randomly selected dice shape when creating a new dice will now never have more than 48 faces, and is more restricted by which shape category is might come from (Basically, you’re only going to nice dice shapes that look dicey now)
When deleting a dice bag, any files (other than .xml or .meta) will be moved to the bag’s parent directory. This will prevent images/sound effects/fonts from being deleted within the app
Both Shape and Image selection UIs are built progressively over multiple frames now, so the app doesn’t need to generate them when opening, and can load faster
Face image materials and sprites are not generated until they are needed. This should further improve loading times
Rune face images are now at the bottom of the image list, as they are least likely to be needed
Images loaded from the custom dice folder now appear at the top of the image list
Drop Conditionally (D) and Count (#) roll conditions now use different notation to match other condition notations and enable parsing expressions with multiple results
Added snapping to some dice customisation slider values
Barrel and Crystal Dice shapes are now listed as “Prism (Barrel)” and “Antiprism (Crystal)” Dice
Spinner dice shape spindles can now have the material customised seperately from the core shape
Removed light emission from spoopahedron (it often made rendering of face labels look wrong)
Adjusted face label settings for 4-sided and 5-sided icosahedra shapes, so that they can have faces scrambled by symmetry to further reduce any biases
The “Sophie’s Six” shape is now listed in the “Curved-Face solids” category
The ‘Reliobble’ shape is now listed in the ‘Novelty’ category
Re-exposed the “Unique pool dice” setting from older versions, so you can have multiple dice pools in an expression use the same custom die
Die face label font choice is now saved by name rather than as an indexed value
The ‘disregard’ cross is a little bit darker
The included font ‘Orbitron’ is now a little smaller by default
When pressing down on an image selection button, it will dim more strongly to remove ambiguity of which image is being selected
Some existing included face images have had their artwork cleaned up
Improved settings & credits icons
The included pip face images are no longer listed in the image selection menu now that automatic image pipping is possible, dice which are saved with references to these images will have pipped faces generated automatically
The default face image is now a solid circle instead of a solid triangle (this makes creating standard pip displays faster)
Generated dice of over a thousand faces now roll as a 4-sided barrel shape, stretched so that the results should fit on the faces
Dice spawned too close to the dice tray are moved up slightly before they are rolled
Expression display no longer includes extra spaces
Example rolls now use the “Keep” condition where it is simpler than using “drop”
Adjusted lancer example dice to make them easier to use, and moved the roll table dice into a sub-bag
The dice tray collider has been moved slightly above its mesh so that clear dice’ face-down sides are readable
Fixes:
Corrected 4-Sided Icosahedron having two label positions swapped
Fixed slight misalignment of faces on the Tetrahedron and some related shapes
Fixed Pentagonal Hexecontahedron (a pentagonal-faced d60 from the Catalan solids set) being missing from the dice shape list
The “Chip” shape’s name has now been properly capitalised
When pasting a dice style or applying a random style, the secondary colours are correctly enabled or disabled based on the new style setting rather than the previous one
When editing a die face, only the face being edited is rebuilt - reducing slowdown when editing dice with many faces
When creating a face with multiple string values to be selected randomly (eg “sucess|fail|great success”) the preview display will immediately start displaying random selections, instead of the complete list of string values for the face
Fixed issue where partial user value names were sometimes matched before complete ones (eg, if you have “int” and “intMod” user values, rolling “d20+intMod” will now always use the “intMod” value, instead of “int”
Fixed issue where disabled user values would sometimes be used instead of enabled user values with the same name
When spawning multiple dice from recursive explosions, the additional dice are thrown upward instead of forward
XML files are no longer saved with an “OnHotbar” element (OnHotbar has served no purpose since Dice Bags were added)
Toggling the camera mode will no longer reset the ‘Top-down camera’ setting
Fixed camera snapping its rotation down when looking upward in free camera mode
Fixed issue with render scale on mobile devices where rendered resolution and/or aspect was inconsistent with game display
Taller icons on the hotbar no longer have their top/bottom pixels clipped
When a die is loaded and it’s shape cant be matched (usually because it was saved with a future version of Sophie’s Dice), it will instead match the a die shape with an equivalent number of faces, or a shape with more faces (the excess faces set to ‘re-roll’ values). This should mean dice made with future versions of the app are still rollable
Fixed faces using included Orbitron font appearing slightly little above the centre of the face
User Value Sets, enter custom values which can be included in Roll Expressions. (For example, you can enter a roleplay character's stats (speed, strength, etc) and then roll expressions like "2d6 + strength". Value Sets can be accessed by clicking/tapping the 'X=Y' button above the settings menu
Can now copy, paste, and randomise dice style when editing a die
New example dice:
Lancer
Background
Supplier
Group Identity
Union Department
Sitrep
NHP Cascade Behaviour
Character Type
Various saved Roll Expressions for checks with varying difficulty/accuracy
BodyPart
Paper Cricket
Batter
Umpire
Roll Expressions can now generate dF dice (Fudge/FATE system dice) as needed, even if you don't have any dFs in your dice bags
Added option to disable string stacking in roll results. Disabling string stacking can make results look like "Tails, Heads, Tails" instead of "Tails X 2, Heads". Useful for poetry/story dice, or any time where order of string values is important. (Keep in mind the order of results is determined by which dice were rolled first, not which settle first)
Dice tray size can now be adjusted in the 'Environment' settings, and by default will automatically change between landscape and portrait to match your screen
Changes:
Increased the sphere (d1) shape's drag settings so it no longer rolls forever
The dSuit example die now uses a different shape and has no 'reroll' faces
The default location for example dice DnD_Alignment, DnD_Class, DnD_Race, and the relevant roll expression is now inside the "Example Dice/RPG/d20/" dice bag
Generated dice (and now randomly styled dice in edit mode) have their highlight colour determined by the mean hues of the die itself, instead of just the first colour. This should make generated dice easier to read
The rnd() function used in roll expressions now returns a random value per roll, instead of per frame
Moved settings menu text further from the edge of the screen to improve readability
Reduced friction of dice tray walls to increase the liklihood that dice rolled against them will settle flat
Exposed 'SpinAllDice' in the PC version settings file
Fixes:
Expressions which return number values without any numbered dice results will now be displayed, eg: "coinR{Heads} rerollCount"
Roll Expressions can now reliably parse unary '+' and '-' operators
Results will now display errors when there is a problem parsing a Roll Expression (instead of just displaying the result of the last valid expression)
Explosion roll conditions no longer treat string value faces as if they also have a numerical value
Value replacement roll conditions no longer replace string values as if they have a numerical value
Reroll conditions in Roll Expressions can now include string values to reroll
Exploded dice now have the same value-replacement and cap/clamp condition settings as the dice they explode from (if you don't want this, exploding into a sub-expression can be equivelant to how this worked in previous versions)
Roll expressions can now recognise and generate dice with names that have an upper-case 'D', eg "2D20"
When an editing die is reinstantiated (eg, on a material change) the faces are no longer shuffled
Fixed ambiguity between two shapes both named "8-Sided Octagonal Bipyramid", one has been renamed "8-Sided Octagonal Bipyramid Twisted"
When organising the shape selection menu by face count, shapes with 1 face are now labelled "1 face:" instead of "1 faces:"
Prevented a dice bag button from an older version from sometimes appearing over the settings menu
Fixed sub-expressions not being displayed for string value explosion roll conditions
The hotbar now lists directories from your CustomDice folder as dice bags, showing only items from your current dice bag.
When you roll a new roll expression, it will attempt to find relevant labelled dice from your current bag before others.
You can include the example dice, or a set of generated dice, when creating a new dice bag.
You can move dice, saved roll expressions, and dice bags into other dice bags from the hotbar context menu (right click or long-press a hotbar icon).
Added “Dice Character” setting:
This can be either “Perfect Fairness” (the default) or “Realistic Bias” which will give each dice a unique bias which shifts the weight somewhat slightly from centre. The bias is consistent so two dice with the exact settings will have the same bias - but change any setting the slightest amount and the bias could be wildly different. So don’t go thinking you can load your dice this way!
Bias can be enabled per die (in die edit mode) or globally in the settings (under “Dice & Control”).
Any dice with a biased result will have an italicised name in the results.
New roll expression stuff:
dice with string values enclosed by [ and ] will spawn a sub expression roll using the dice notation provided in the string value. EG a d20 with “[4d6]” as the string value on the 20 face, when landing on the 20 will roll 4d6 and have that be the value, instead of 20.
Can specify sub-expressions within roll expressions for both value replacement (eg: d6v{6=[4d8]} ) and explosion (eg: d6!{6=[4d8]} ). Value replacement will have the relevant face value replaced by the value of the sub-expression, explosion will have the value of the sub expression AND the exploded face value combined.
Can now specify maximum number of rerolls per die when using the reroll condition.
Can now use Value Replacement conditions to replace number values with strings/text (and vice-versa), provided that the strings do not contain a space.
Explosion conditions in roll expressions can now specify string/text values that dice should explode on, provided that the strings do not contain a space.
Can now specify less than (<) or greater than (>) values in reroll conditions (eg: d20R{<5,>15} will reroll values less than 5 and greater than 15).
Can now specify less than (<) or greater than (>) values in explosion conditions (eg: d20!{<5,>15} will explode on values less than 5 and greater than 15).
Can now specify less than (<) or greater than (>) in value replacement conditions (eg: d20V{<20=1} will set every fave value less than 20 to have a value of 1).
Roll expressions can now include maths functions (in the format of “functionName( valuesToPerformFunctionOn )”)
Square Root: sqrt
Absolute: abs
Log: ln
Floor: floor
Ceiling: ceiling
Round: round
Sine: sin
Cosine: cos
Tangent: tan
Arcsine: asin
Arccosine: acos
Arctangent: atan
Random: rnd (this returns a random number from 0 to the passed value on EVERY FRAME, and not per roll)
Roll expressions can now include mathematical constants:
PI: PI
Golden Radio: Phi
Degrees To Radians: DegToRad
Radians To Degrees: RadToDeg
Roll expressions can now include special variables determined by the dice rolled within that expression:
rerollCount
The number of times individual dice have been rerolled.
diceCount
The number of dice that have been rolled.
pinCount
The number of dice that have been pinned.
pinSum
The total number value for dice that have been pinned.
disregardCount
The number of dice that have been disregarded/dropped.
disregardSum
The total number value for dice that have been disregarded/dropped.
explodedCount
The number of dice that have exploded.
explosionCount
The number of dice that have been spawned by explosions.
Dice customisation:
Can now set base size of all faces of a die at once.
Can now disable second dice colour when editing a die.
Can now disable face highlight colour when editing a die.
Can now set alpha values for dice colour on materials when appropriate in die edit mode.
Can now set contrast for the marbling of the two dice colours in die edit mode.
Can now set ‘spin’ for face displays (together, or individually). - this may look a little awkward on stretched dice.
New Options:
Can now set environment light colour, as well as environment reflection strength.
Can now render at lower resolutions on mobile for faster rendering and more efficient battery usage. Use the “Resolution Scale” slider in the Graphics settings.
Added Scroll Sensitivity option to the Input Configuration menu, and made the default three times stronger.
Added framerate/vsync options to settings.
Interface:
The hotbars for dice and saved rolls have been combined, there is now a single unified hotbar.
Can now choose sorting of dice shapes to be by category or by face count.
Top-down camera mode. This can be toggled in the “Dice & Control” section of the settings menu.
Added new loading screen messages.
Added touch/click effect option (enabled by default on mobile).
Added new date-conditional mode.
First iOS version.
Changes:
Numerical balancing:
Some dice have had their face layout altered for better numerical balancing with optimal vertex sum balancing. This is generally a method used to ensure dice which are not physically fair will still roll the correct average value - so it’s not really going to effect dice in my roller much (because they are much fairer than physical dice) but it is still an interesting challenge and of course I’m going to spend/waste my valuable time trying to study/solve interesting dice stuff.
Platonic solids:
Octahedron (d8 - my balancing code kind-of choked on this one, I ~think~ it’s optimal by vertex sums but there may be better ways to balance it)
Dodecahedron (d12)
Icosahedron (d20 - this layout is also balanced by adjacent face sums)
Worth noting that I haven’t changed the layout of the cube or tetrahedron - each possible face layout for these shapes is already optimally balanced numerically.
Trapezohedra:
Pentagonal Trapezohedron (d10)
Catalan Solids:
Triakis Tetrahedron (d12)
Rhombic Dodecahedron (d12)
Deltoidal Icositetrahedron (d24)
Pentagonal Icositetrahedron (d24)
Triakis Octahedron (d24)
Tetrakis Hexahedron (d24 - This is the most vertex sums balanced shape I know of)
Rhombic Triacontahedron (d30)
Disdyakis Dodecahedron (d48)
Interface:
The hotbars for dice and saved rolls have been combined, there is now a single unified hotbar.
UI items (buttons, sliders, dropdowns, colour selectors) are now taller and easier to touch on mobile.
All scrollbar backgrounds now contrast with their scrollbars better.
Size/Stretch sliders in dice edit mode have the scaling displayed on a new line instead of the same line.
Individual face size sliders now have their values labelled in dice edit mode.
Made the “UI Scale” slider have a taller touch/click area so it is easier to adjust if it has been set very small.
The results are now aligned to the top-left of the screen whenever the score breakdown button is disabled.
Saved Roll Editor icon preview is now displayed with the custom icon colour.
Hotbar items are now sorted alphanumerically (previous hotbar ordering will be ignored - sorry!).
Date-conditional settings have more distinct toggle appearance.
Removed dice list menu (no longer relevant now that the hotbar has dice bags).
The ‘+’ button on the hotbar now makes a popup (so you can choose to add a new bag, die, or saved roll).
The main UI (hotbar, results etc) is now visible besides the setup menu on landscape displays.
Adding a new die or roll will now go straight to edit mode for that die/roll, and the creation of the die/roll can be cancelled.
Updated face edit colour toggle to match other colour toggles in the UI.
Increased the maximum UI scale on mobile.
Better organised the settings menu.
Hotbar context popups now have no transparency to make them more distinct when appearing over other UI elements.
Removed score breakdown display dropdown.
Dice:
Generated dice (dice that aren’t from your custom dice folder) now look better, won’t use the more expensive render materials, and will have a contrasting colour for face highlights.
Default/Example dice have had colours tweaked to be more distinct and easier to read.
Default/Example dice and roll expressions on PC and mobile now match.
Spawning of the initial dice when the app is opened can now be disabled. The option can be toggled in settings menu under “Dice & Control” as “Spawn Startup Dice”.
Initial spawned dice appearance is randomised each time the app is opened.
The Clear/Transparent and glitter dice materials now use better shaders.
Face images no longer cast shadows.
Marbling texture for dice is now more swirly.
Renamed the old “Pentadecagonal Bipyramid” shape correctly as a “Pentadecagonal Trapezohedron”. If you have any existing shapes saved which use this shape, they will now load the correct Pentadecagonal Bipyramid shape instead. But honestly I bet nobody notices unless they are reading these patch notes, those things look so very similar at a glance :P
“dOp” operator dice removed from default dice.
Dice’s “On Hotbar” setting is now ignored (if you have dice that you want hidden, put them in a different dice bag).
Expressions:
Can now enter roll expressions without any dice pools, so you can enter and evaluate basic math expressions (eg: “(1+2)*3/4”).
Generated dice that have no corresponding valid shape (eg d21) now use a random shape with a similar number of faces, with each face being a random number between 1 and the max face value specified, instead of always a coin with those properties. Because it’s prettier.
Explosion dice notation for pattern explosion uses ‘~’s instead of ‘[‘ and ‘]’, so that the square brackets can be used for sub-expressions.
PC:
App settings on win/mac/linux are now saved to a local “settings.set” file.
The location of the Custom Dice directory on win/mac/linux can now be set in settings.set, if you want to have your custom dice be in the app’s data folder (so you can carry it around on a pen drive or whatever) set the path to “*” (with no quotation marks).
Android:
Android version no longer starts in fullscreen mode.
Custom dice folder on mobile is now no longer contained in an extra “SophiesDice” folder.
physics update on mobile is now 90Hz instead of 200Hz.
Misc:
The “Transparent” dice material has been renamed as "Clear”.
App icon is now a d12 instead of a d10.
Face image of 2 pips/dots has the dots slightly further apart to match common dice pip/dot conventions.
Removed ‘Unique pool dice’ setting (it is now always on. If you don’t want this behaviour lmk and I can re-add this option).
Fixes:
Interface:
Fixed issue that prevented roll results displaying on some devices (and removed the fallback display option since it is no longer needed).
Fixed issue that sometimes caused dice icons to not display on mobile devices (and removed the fallback option for that also).
Shape and image select menus are no longer instantiated until they are needed, to improve app start-up time.
Fixed die control popup menu overlapping the top of the screen.
Shape select and Image select menus now have their items scale to fill the screen width.
String values with line breaks now have their line breaks removed before being listed in results displays (main results display, roll breakdown, and dice control popup).
Fixed loading screen display so it is the correct scale and doesn’t get cropped on different display resolutions and aspects.
UI now remains within mobile device screens' safe area, nothing should be obscured behind notches/cutouts/rounded corners now.
Dice:
Fixed non-square face images being stretched to square shapes, they are now displayed with the correct aspect in both menu UI and on dice.
Deltoidal Icositetrahedron (d24) shape has been slightly corrected with better mesh/texture (the original model was very slightly off and not symmetrical).
Pinning dice that have been stretched/squashed no longer spawns stretched/squashed pins.
Custom face images are now applied if the image filename is the same as when the dice was made, even if the path to the image is not the same (ie, if you rearrange things in your dice folder, the dice images will still be OK).
Fixed minor issue with rebuilding a dice you are editing not properly destroying unused face images.
Fixed rare null-reference error when editing dice with box or sphere colliders.
Fixed issue where picking up a die could also pick up other dice behind it.
Fixed issue where dice would sometimes slowly slide across the table together after grouping.
Fixed issue that could cause slowdown when adjusting a die face display’s size.
Fixed dice sometimes getting stuck outside of the dice roll area.
Expressions:
Using “d0” in dice expression no longer spawns a d1.
Fixed issue where value replacement roll conditions in expressions could effect custom dice rolled by the expression, outside of the expression itself.
Misc:
Removed some extraneous colliders from outside the roll area.
Fixed new or copied dice and roll expressions not being saved until they are edited. They are now saved as soon as they are made.
Choosing “Save As Copy” in die edit or saved roll edit will no longer add “ Copy” to the label when the label has already been changed to something new.
Fixed typo in face sound effect “spell_ominous” (if any of your dice use this sound effect, you’ll need to reapply it).
“Shaded dice fonts” option is now correctly labelled and this setting will now be saved between sessions.
Cloning dice or saved rolls (either from the hotbar popup or choosing “save as copy” in edit mode) will now save the new die/roll in the same directory as the original.
Fixed issue that meant input made during loading screen might register after loading was complete.
Android:
Default/example dice are now organised into folders when they are created on mobile.