Hi all, thanks for talking about the app. I'm one of the developers over at Mesa Mundi and figured I could clear the air and try to answer any questions you folks might have.
To start, let me explain who/what we are and how this all fits together:
+ Mesa Mundi is a Unity (and other language) software development shop
+ Lifeform is a software design company and owns the official
GW license for the Warhammer 40,000 dice app
+ Games Workshop provided feedback and some guidance (and the licenses)
Both teams at Lifeform and Mesa Mundi are hardcore tabletop gamers. We love dice as much as any ork player. So when we were presented the opportunity to build out a digital dice roller for Warhammer, we went above and beyond to create a system which simulates real world dice.
Our dice use an invisible shell called a collider to manage physics. This collider does not have to be the same shape as the visible die object. In our system, we opted to go with the statically accurate cube shape for our collider. This allows our dice to roll extremely well in repeat performance tests. There are several upsides to this model. A cube collider, or box collider, is extremely low cost on mobile platforms. Additionally, the cube allows us to have any shaped mesh inside and still roll correctly without the internal shape impacting our events.
To see some lovely dice statistics take a look over here at
anydice.com. Toss the follwing into the top field and hit calculate -- 'output 200d6'. Select Graph from the output format to get a more easily viewed result. You'll not that the statistical average for rolling 200d6 is between somewhere around 625 - 775. Our model returns very similar results without relying on programmatic randomized functions -- whee! Now for a less mathematical look at how we roll.
The rolling model for our dice is based, predominantly, on our physics engine. We do not use randomization for die face number generations. Instead, randomization is used to determine a range of angular velocity along all axis and a vector for dice based on the action, adding or rolling. All of our dice interact with each other creating a realistic physical model for rolling all of the dice on the table at once.
This is the core reasons we have "dice caps" on number of dice per pane. These values are based on hardware limitations per device. To manage the math required to track a complex system with so many elements can be intensive. The reason we opted to go this route vs. the more common "removal of physics when rolling" is to keep the simulation accurate and fair.
That being said, we're working on additional methods to manage our simulation which should allow any device to roll 200+ dice -- although more than 200 dice on the screen become increasingly hard to see.
Anyway, as I initially stated, feel free to reach out with additional questions or suggestions. We're not looking to build a tool that plays the game for you, but instead a tool which helps you play the game the way it was intended to be played!
Oh, and we're working on the Android build currently! We want to get the various aspect ratio issues sorted out before launching on Android. What this means is that we launch for Android, iOS will get a bump at the same time enabling 3:4 aspect ratio on iPADs.