Dear mobile game devs. When I play games like that, I always wonder if it’s the physics engine that’s actually random and produces the result?
Or is the result calculated before the animation happens, and dictates the animation?
I’ve always wondered. I have some notion of programming, but from far back, and I’ve been scratching my head long enough about this.
Thanks in advance.
Physics engines are rarely deterministic, which means most of these games use what you would call the “animation deciding results”
It is very rare that it works the other way around contrary to what others have commented it is non trivial to make weighted deterministic random in this manner
While technically possible, only very specialised games with reasons good enough to budget the programming required will go the route you describe as “result calculated before the animation”
I just want to say, having worked in the lottery industry and having made one of the first predetermined pachinko games, it’s actually fairly easy.
And with how cheap 2d simulations are (even cheaper on a gpu) they could pretty easily run a a couple hundred then pick their favorite odds, save the path trace as a bezier, ship those weights with the game and no one could tell the difference
That’s it in a nutshell.
I had to implement the system in a special way, but that’s due to the nature of the lottery industry, auditability, security, etc being critical.
There was really two systems at play. One was a “entry code” that the player would acquire either by scratch ticket or other means which they would enter into the system. That would tie their entry to an outcome. The winning decision could have been predetermined at the time the codes/entries were generated, or there could be an instant probability-based determination on the server end.
At any rate, what would be presented to the user then is the ability to drop 10 little pucks anywhere they want, and watch them fall and bounce around, but regardless of where they dropped them, they were going to in the same bins either way. Then the prize would be revealed.
At the time there was no easy physics systems, so I had to code my own but it wasn’t that hard. I just brute forced it to drop a million pucks overnight, going left to right in tiny sub pixel increments. Built a table of animation strings which provided a convincing animation for the puck to go into any bin, regardless of where the player dragged it in the interactive portion of the play.
In the end, even though it was an incredibly innovative lottery product at the time, the first of its kind actually, we could not deploy because every state/intl lotteries thought it was far too convincing that the player had influence on the outcome, even though it was fully disclosed no action that their actions had no bearing on the outcome.
It may be considered easy, and for sure this one probably is, but it doesn’t compare in complexity to normal physics engines. The whole thread read like it was, so I felt I should provide a better perspective on it.
It’s magic. Just say it’s magic.
It’s really not! These days anyone can make games, I promise if you just have the drive, the tools available now are absolutely stellar in comparison to just a few years ago