• FEATURED

View more

View more

View more

Image of the Day Submit

IOTD | Top Screenshots

The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

3d dice roller example?

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

2 replies to this topic

#100Kevin  Members

Posted 11 January 2014 - 12:47 PM

As anyone seen an example of rolling dice that uses 3d canvas and real physics?.

I'm looking to create a die rolling app that uses polyhedral dice.

I guess I could find a 3d physics example that uses simple objects, but I'm sure it has been done before.     I think the trick is how to determine which face value is up.

#2frob  Moderators

Posted 14 January 2014 - 04:26 PM

I worked on a Wii app where we tried something similar, but it was a mistake. I assume you have a motion sensitive controller, perhaps such as a phone with accelerometers.

If you already have a physics engine, you just need a box container and the dice. While they are shaking you apply a force to keep the dice suspended and apply torques and forces based on the shaking of the controller. Then you just let them go and allow the physics engine to run until stable. You can get the object's orientation from the physics system and do a small bit of math to determine which side is 'up'.

Unfortunately many problems abound. The dice don't always land well, sometimes they touch each other or the corners of the box, making it difficult to decide what way is up. In a real world situation you might reroll those dice. Physics engines produce numerically pleasing results, but not visually pleasing results; even after many adjustments to the physics configuration it is difficult to make dice appear as you expect them to look. There is the strong possibility of cheaters, people who will not vigorously shake the dice but very carefully tumble them midair until they hit a good position and then carefully release them. If you have network play, trying to keep the details in sync is a nightmare.

All told it is much easier to have animators put together a few animation sequences. You can use the player's input to help feed the random number generator, but really you are just picking the number and then playing the corresponding animation. You might have animators create multiple animations for some of the numbers if you are afraid of them appearing too common.

We also learned that players really don't want long dice rolling sequences. They want to play a game, not watch movies of dice rolls. Just let them push a button to display a random result.

Check out my book, Game Development with Unity, aimed at beginners who want to build fun games fast.

Also check out my personal website at bryanwagstaff.com, where I occasionally write about assorted stuff.

#3Ravyne  Members

Posted 14 January 2014 - 05:07 PM

Physical simulation of dice just seems too impractical to be worthwhile. If I'm using a dice-rolling app, I want it to be easier than real dice -- I want it to give me results instantly at the press of a button. I don't want to have to shake my phone. I want it to do the annoying math for me too, to the extent possible. Don't drain my battery with shiny graphics and bullshit physics simulation that's not going to be entirely physically accurate anyhow.

throw table_exception("(ノ ゜Д゜)ノ ︵ ┻━┻");

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.