Is Angry Birds deterministic?

[BACK]
Is Angry Birds deterministic?
Posted On: December 21, 2022

While trying to get 3 stars on the more complex levels (the ones with a lot of destructible entities) I noticed that even after playing the same level over 50 times, doing always the same thing, I've never seen the same final result. Something always goes differently.


Does the same input always result in the same output, or is there a random factor in there?


Question from user Andreas Bonini at gaming.stackexchange.com.


Answer:

The algorithm is deterministic, but it's arguable that the overall result of launching a bird is effectively non-deterministic because it relies on (extraordinarily sensitive) user input.


To test the algorithm and the effect user input has on it, I used the following procedure:.


Load the Google Chrome version of Angry Birds.


Load level 1-1.


Pull the mouse back to a specific X-Y coordinate. (This was past the point of "full draw" for the bird.).


Release the bird, and wait for the game to reach a steady state.


To measure my X-Y coordinate, I opened a background Chrome window, and navigated it to this page. I aligned the two windows so that I could see the X and Y positions of the mouse while still able to cause something to happen when I released the bird. I aligned my mouse cursor with the lower left hand corner of the box around these two numbers, and then released. I noted the position of my mouse cursor then (as the display only updates when the mouse is not released and the cursor is over that window) and then noted the resulting score in Angry Birds. If you're having issues with exact mouse positioning, you might try an accessibility option offered by your OS, for instance, Mouse Keys on Windows.


I got the same score, so long as my cursor was in the exact same spot as it was on previous iterations.


Prior to coming up with an enhanced test rig that allowed me to measure my cursor's position to the pixel, I ran this experiment about 10 times, using a reference point in the background image of the game. I got scores by firing the first bird that varied between 8,000 and 11,000 points. Using the enhanced testing strategy, if I was off by a single pixel, I could expect score differences of anywhere between 150 and 500 points. .


I will note that the cursor was beyond the edge of the game area, outside the browser window, far beyond the maximum distance the bird can be drawn back, and I still noticed differences when moving my cursor even a single pixel. .


Further, I took screencaps for an extreme case where my cursor was on a different monitor than the game window, and ran several iterations where I kept my cursor in the same location, or moved it slightly. By my calculations (based on measuring distance from screencaps) the game was able to create a different result (score 32960 vs 31520) based on a one pixel difference in height (544 vs 545 pixels) over a distance of approximately 1,284 pixels of width. This works out to be an angular difference of 0.03 degrees.


I'd say that for any practical purposes, you can expect to employ the same general strategy on the same level repeatedly and expect wildly varying results. The level of sensitivity in the controls is so extreme that there's no practical way to get it to do the same thing twice. This is exacerbated by the fact that if you're playing on a touchscreen, it would be extraordinarily difficult to reproduce the same movements down to the individual pixel.


Answer from user agent86 at gaming.stackexchange.com.



[BACK]
Is Angry Birds deterministic?
Posted On: December 21, 2022

While trying to get 3 stars on the more complex levels (the ones with a lot of destructible entities) I noticed that even after playing the same level over 50 times, doing always the same thing, I've never seen the same final result. Something always goes differently.


Does the same input always result in the same output, or is there a random factor in there?


Question from user Andreas Bonini at gaming.stackexchange.com.


Answer:

The algorithm is deterministic, but it's arguable that the overall result of launching a bird is effectively non-deterministic because it relies on (extraordinarily sensitive) user input.


To test the algorithm and the effect user input has on it, I used the following procedure:.


Load the Google Chrome version of Angry Birds.


Load level 1-1.


Pull the mouse back to a specific X-Y coordinate. (This was past the point of "full draw" for the bird.).


Release the bird, and wait for the game to reach a steady state.


To measure my X-Y coordinate, I opened a background Chrome window, and navigated it to this page. I aligned the two windows so that I could see the X and Y positions of the mouse while still able to cause something to happen when I released the bird. I aligned my mouse cursor with the lower left hand corner of the box around these two numbers, and then released. I noted the position of my mouse cursor then (as the display only updates when the mouse is not released and the cursor is over that window) and then noted the resulting score in Angry Birds. If you're having issues with exact mouse positioning, you might try an accessibility option offered by your OS, for instance, Mouse Keys on Windows.


I got the same score, so long as my cursor was in the exact same spot as it was on previous iterations.


Prior to coming up with an enhanced test rig that allowed me to measure my cursor's position to the pixel, I ran this experiment about 10 times, using a reference point in the background image of the game. I got scores by firing the first bird that varied between 8,000 and 11,000 points. Using the enhanced testing strategy, if I was off by a single pixel, I could expect score differences of anywhere between 150 and 500 points. .


I will note that the cursor was beyond the edge of the game area, outside the browser window, far beyond the maximum distance the bird can be drawn back, and I still noticed differences when moving my cursor even a single pixel. .


Further, I took screencaps for an extreme case where my cursor was on a different monitor than the game window, and ran several iterations where I kept my cursor in the same location, or moved it slightly. By my calculations (based on measuring distance from screencaps) the game was able to create a different result (score 32960 vs 31520) based on a one pixel difference in height (544 vs 545 pixels) over a distance of approximately 1,284 pixels of width. This works out to be an angular difference of 0.03 degrees.


I'd say that for any practical purposes, you can expect to employ the same general strategy on the same level repeatedly and expect wildly varying results. The level of sensitivity in the controls is so extreme that there's no practical way to get it to do the same thing twice. This is exacerbated by the fact that if you're playing on a touchscreen, it would be extraordinarily difficult to reproduce the same movements down to the individual pixel.


Answer from user agent86 at gaming.stackexchange.com.



[BACK]

Hey guys! I really need help with Hogwarts Legacy Hey guys! I really need help with Hogwarts Legacy

Posted On: March 11, 2023
Hey guys! I really need help, I have the game on PC but am not very tech savvy, so don’t really understand them. My laptop normally runs games really well, sims 4, Skyrim (on high I think) but t...[More]


Help? Dark urge question Help? Dark urge question

Posted On: November 13, 2023
So I've told everyone I'm not becoming Bhaals chosen, killed Orins grandfather/father and killed Orin and then did a long rest, got told by the butler that I would become a mindless killer eve...[More]


Is Engi Med-Bot Dispersal affected by MedBay upgrades? Is Engi Med-Bot Dispersal affected by MedBay upgrades?

Posted On: August 4, 2023
The title pretty much says it all. Do med-bay upgrades make healing in rooms besides the med-bay faster when you have med-bot dispersal? Question from user Fambida at stackexchange. Answer: T...[More]


Cyberpunk 2077 cloud sync conflict on launch Cyberpunk 2077 cloud sync conflict on launch

Posted On: February 19, 2023
I've been playing Cyberpunk 2077 for a few days now - I purchased it in the Epic Game Store. So far, whenever I launch the game from the Epic app, I get this message each and every time:. I ...[More]


Ehhhhh... I need help... Ehhhhh... I need help...

Posted On: April 24, 2024
I play on the highest difficulty so i have only one save. For a magic reason the game decide to auto save at this exact moment. Is there any way for me to not need to restart a new game? .https://prev...[More]


What triggers the new fist bump animation Splatoon 3? What triggers the new fist bump animation Splatoon 3?

Posted On: July 17, 2023
Sizzle Season introduced a new animation during victory scene, when Inklings/Octolings perform their emotes a "fist bump" animation may occur between two players. According to Splatoon 3&...[More]


PS5 controller doesnt charge PS5 controller doesnt charge

Posted On: July 5, 2023
I have bought controller to use on PC. But when I connect it to USB to charge, orange light glows once and stops. If I connect it to Mac, it glows solid orange with white middle light. It should...[More]


Is it possible to do a 100% playthrough with a single save file? Is it possible to do a 100% playthrough with a single save file?

Posted On: October 4, 2023
I was thinking of doing my next playthrough to complete 100% of the game (I sort of rushed my first time), on the highest difficulty. Do I need to have multiple saves for branching scenarios, or is it...[More]


How do Steam Workshop mods and Nexus mods interact? How do Steam Workshop mods and Nexus mods interact?

Posted On: February 9, 2023
All of my mods so far are on the Steam Workshop, but there are a few on Nexus that look to be quite useful. My question before I dive in is are there any potential problems that I need to be aware of...[More]


How to get past the old man in Viridian City in Pokemon Leaf Green? How to get past the old man in Viridian City in Pokemon Leaf Green?

Posted On: March 20, 2024
It's been a while since I last played Pokémon Leaf green.I am playing it with my nephew and he asked me how to get to first Gym (Brock) to get the Boulder badge.Here is the problem:.An old man is lyi...[More]