Thank you all for the overwhelming response to the Easter Egghunt! Now that the contest has ended, I’d like to share some thoughts, statistics and a thorough walkthrough for those who are still puzzled by certain areas.
Here’s a pretty infographic with some interesting statistics gathered during the egghunt:
- /gamestart: Hopefully this wasn’t too bad. Quite a few users were using Internet Explorer, and was unable to set a username for themselves. Thus, there were quite a few RandomAdventurers lurking around!
- /swallowtailbutterfly: You should have skimmed through HP v4c9 and got this easily. Though of course, we had a lot of wrong guesses. Popular ones include /itsmylife, /dreamscanfly, and even /blackrockshooter !
- /friday: Wanted to put this in here to spite you guys again xD. At least I didn’t enable autoplay! Popular mistakes include /itsfriday, /thisisourweekend, and /nevergonnagiveyouup .
- /anglestagium: The intended behavior was to have you guys check the Update Log and get it in one go. In practice, we had people guessing /eilinel, /amgine, /bridget (a proofreader), julyflurry (retired member), /probationary (that’s not even a username) and even one for /blique, who’s not even on the team (though she is in OSS)! The other category of mistakes are those who butched poor angle’s name: /angelstagium, /angelstadium, /anglestaglum, etc.
- /heart: Pretty straightforward, though a few non-poetic contestants tried out /soul and /skill. And some curious folks looked up /walmart as well
- /fight, /thinkonyourfeet, /lightscreen: The point here is that sometimes you need to be bold, sometimes you need to fight smart, and sometimes you just have to hope for the best. The title (“a test of valiance”) should have cued you in to not pick the other options, like /run, /bribe and /dodge. Though /insults should have been an entertaining read…
- /oldwoman: The question here was to see how many of you would skip the menial task in favor of skipping right on till the end. Interesting results. (see infographic for details)
- /mushroomfieldXX: Ah, the dreaded mushroom fields. Many of you just went to every field in order (only to realize later on that you’re still missing a mushroom or two). Others decided to skip around whenever told to do so by the signs, and going sequentially only when there’s no directions given. That would have allowed them to theoretically collect all the mushrooms while visiting less than 30 of the fields (there was a mistake with the numbering of fields 47 and 48 which might have increased this number, though).
- /mushroomfield45: Probably the one that generated the most questions from contestants. We received quite a few outrageous attempts from this one. My personal favorite?
/hypertexttransferprotocolcolonslashslashslashdotdotorgslash. Wow. The hints “two equal sections” and the hint “slashdot” (which should be interpreted as “slash” and “dot” separately) should have cued you in to think about fractions and decimals. Indeed, the original idea was that field 45 was actually split into two different fields, /mushroomfield221slash2 and /mushroomfield22dot5. Also accepted are their more natural sounding nicknames /mushroomfield22point5 and /mushroomfield22andahalf, since obviously people don’t normally say “22dot5” or “22 1slash2.”
- /mushroomfield101 and back to /oldwidow: Reading this conclusion, one probably thought that all that hullabaloo about gathering mushrooms was for naught. Or perhaps that there’s an alternate ending which would yield some reward? Well, there’s definitely no alternate ending – you already have everything that you need at this point, given that you figured out the secret of mushroomfield45…
- /ravagingdesert: The end is in sight! But which path to choose? (I was a little disappointed to see that nobody declared “I, for one, /welcomeournewsphinxoverlords.” The wording of that sentence practically begged you to try it out for those who recognized the meme.) Instead, according to our logs, our contestants were split fairly evenly between the lucky and smart camps, while only a handful of contestants’ first response was to attack the sphinx directly. And how did it turn out for them?
- /willattackthesphinx: It seems that a battle against the sphinx is a never-ending ordeal. Unfortunately, a few people didn’t seem to catch on. One particularly violent contestant pummeled the sphinx (or should I say our webserver?) a record of 105 times before tiring out! Now that’s dedication! (Interestingly, this particular player also skipped the mushroom fields entirely, so perhaps it balances things out.)
- /amfeelinglucky: (Sphinx: “For the last time, I hate eating mushrooms!”)
As hinted on the twitter stream, “luck” is really just “karma.” And how would you earn karma in this particular egghunt? By assisting the old woman, of course! Had you collected and maintained a list of every single mushroom (and sorted it by field number!), you should have obtained something that looks like this:
||Alcohol inky cap
||Dead man’s fingers
||White jelly fungus / wood ear
||Half-dyed slender caesar
||Eastern american floury amanita
Notice anything special as you look up and down that list? Ohh, right! It spells sandwiches, which coincidentally happens to be the sphinx’s favorite food! The Sun Agaricus may seem to be the most potent and most attention-grabbing one, but the old woman did say that she needed ten types of mushrooms in order to completely cure her grandson. And that’s why you need to gather all those mushrooms, in particular that pesky one hiding in one half of mushroomfield45. Of course, if you somehow guessed the answer without actually having the entire list of mushrooms, it wouldn’t count.
- /amfeelingsmart: (Sphinx: “19 arrows is too expensive for Prince’s meager budget; can you find a more economical solution?”)
There are several ways to figure out the correct answer, but I’ll list the two that I like best.
The first answer was submitted by Kim, who gives a very neat and eloquent solution: Instead of trying to find the number of arrows needed to cover the range from levels 1 to level 100, it is easier to do the opposite: find what range of levels can be covered given a set number of arrows.
Let’s say you have 10 arrows. With two armor sets, you should test the first armor at level 10, so that if it breaks, you will still have 9 arrows left to test the second armor starting from level 1 up to level 9. If the armor did not break at level 10, you will have 9 arrows left, and therefore should test the first armor again at level 19. That way, if the first armor breaks at level 19, you will still have 8 arrows left to test the second armor from the level range 11-18. Continuing this pattern, one can see that with 10 arrows, you can find the precise level the armor could withstand up to level 55 (10+9+8+7+6+5+4+3+2+1).
With 11 arrows, you can test up to level 66; with 12 arrows you can test up to level 78; with 13 arrows you can test up to 91, and finally with 14 arrows you can test up to level 105 — making 14 arrows the minimum amount required to test every level from the range of 1 to 100.
If you are more of an intuitive / guess-and-check person, then perhaps you will understand it better with this alternative explanation, which is what a good number of contestants used to eventually arrive at the correct solution:
With two sets of armors, you can use the first armor to get a rough estimate of the threshold level, and use the second armor to fine tune your results and get the exact level. Thus, you can test the first armor with large level intervals until it breaks. Then you must test the second armor carefully, one level at a time, so that if it breaks, you know that it breaks on the threshold level. Intuitively, it might make sense for most people to test the first armor at intervals of 10, starting at level 10 and increasing by 10 additional levels each time until the first armor breaks. For example, if the first armor is intact at level 40 but breaks at level 50, you will know that the threshold level is somewhere between 40 and 50, and you can test the second armor starting at level 41.
This strategy is a good starting point, but one can see that the number of arrows that this strategy uses depends heavily on the threshold level of the armor. If the threshold is low, you will need relatively few arrows. But in the worst case scenario, where the arrow does not break until against a level 99 arrow, you will use up 19 arrows. (Test the first armor at levels 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, and the second armor at 91, 92, 93, 94, 95, 96, 97, 98, 99) As you see, the biggest drawback of this strategy is that at higher levels, the maximum number of arrows used for the second round of testing is still 9, which when added up to the already significant number of arrows used up in the first round, make for an expensive worst-case scenario. In contrast, if the threshold is under level 10, you will always use less than 10 arrows.
That’s not a good balance between the best-case and the worst-case scenario, so you should intuitively try to optimize this strategy by skipping greater intervals at lower levels, since if it breaks at a low level, you would have only used a few arrows in the first round, and thus, would have more arrows left for the second round for fine-tuning. In fact, you should make it so that the worst-case for every interval be the same, so it wouldn’t matter so much whether the threshold level is level 9 or 99. To do this, the range of each preset interval should be one less than the preceding one, to make up for the one additional arrow that you must use in the first round to step up to the next interval. This reasoning should eventually lead you to conclude that the optimal levels to test for the first armor is as follows:
|Levels to test for first armor
||Intervals to test for second armor in case first armor breaks
I hope at least one of the two above explanations made sense to you. If not, post a comment and maybe one of the winners would be able to explain it in better words than I could.
Arrows and Armors revisited: (Skip this if you don’t understand the above)
This follow-up riddle was given to our winning contestants for a chance to double their prize:
“Did you know, that as part of the recent patch to Second Life, levels intervals are now in increments of 0.1? That means that those enchanted Oridecon arrows could now be anywhere from level 0.1 to level 100.0! And Wicked, that pigheaded military department perfectionist insists that we need to know the exact level at which our armors would break – down to the decimal place!”
Surprised, you do some quick math to figure out how many arrows you need to buy given this new information. Shocked at the result (those arrows are very expensive you know!), you send a PM to Yu Lian-dasao telling her the situation and asking her to spare you some additional armors to test with. After a bit of heckling, she finally acquiesces to your request. You want to have two additional armors, but Yu Lian-dasao says she can only spare you one more.
How many arrows would you need to buy had Yu Lian-dasao refused your request entirely, leaving you with still only two armors?
How many arrows would you need to buy if Yu Lian-dasao only gave you one additional armor, for a total of three?
How many arrows would you need to buy if Yu Lian-dasao suddenly became generous and gave you two additional armors, for a total of four armors to experiment on?
Answer: First, for simplicity, you should just consider the levels to now be from 1 to 1000 instead of 0.1 to 100.0.
Now, the first part of this question should be easy. Just follow either of the above strategies until you get the least number of arrows that would be able to accommodate up to level 1000. That happens to be 45 (45 + 44 + 43 … + 3 + 2 + 1 = 1035) arrows.
The other two questions are a bit more difficult. What can you do with additional armor? The general idea is that, if for example you have three armors, the first one you will test to get a very general idea, the second you will test to narrow the range a little more, and the last one you use one at a time as before. Another way to think of it is to consider, “if this first armor breaks at this level, how many levels can I test for given the remaining armors and arrows? If the first armor does not break at this level, then what range of levels can I cover? ” Since you should already be familiar with how deal with two armors, this problem can be simplified as such. For those familiar with computer programming or mathematical functions, this sounds like recursion – a function that calls itself.
And that is exactly how the lazy me arrived at the solution.
Program in pseudocode:
function maxLevel(arrows, armor)
// if you have only one armor, you can only test as many levels
// as you have arrows since you must go one at a time
if (armor == 1) then return arrows
// if you have more armor than arrows you can do a binary search
// like what was proposed in the initial problem (e.g. test 500, test 750, test 625 ...)
else if (armor >= arrows) then return (2 ^ $drops) - 1;
// otherwise the number of levels you can test can be calculated by considering
// the case where the armor stays intact plus
// the case where the armor breaks plus
// the level that was tested this turn
else return maxLevel(armor, arrows - 1) + maxLevel(armor - 1, arrows - 1) + 1
You can run this code online (and choose the number of armors and arrows) by visiting: http://ideone.com/lVxar.
In any case, running this program got the following answers:
Using 2 armor(s) and 13 arrow(s), you can test up to level 91. (Not enough)
Using 2 armor(s) and 14 arrow(s), you can test up to level 105.
Using 2 armor(s) and 44 arrow(s), you can test up to level 990. (Not enough)
Using 2 armor(s) and 45 arrow(s), you can test up to level 1035.
Using 3 armor(s) and 18 arrow(s), you can test up to level 987. (Not enough)
Using 3 armor(s) and 19 arrow(s), you can test up to level 1159.
Using 4 armor(s) and 12 arrow(s), you can test up to level 793. (Not enough)
Using 4 armor(s) and 13 arrow(s), you can test up to level 1092.
And thus, in order to test every level from 0.1 to 100.0, you need: 45 arrows with 2 armors; 19 arrows with 3 armors; 13 arrows with 4 armors.
I do hope you enjoyed the egghunt, regardless whether or not you were one of our winners. Feel free to take the poll on your thoughts on the hunt, and to leave specific feedback in the comments below,
even especially if have any criticisms. If we do get enough positive feedback and requests, I might petition Eilinel and SR to allow me to post a riddle/trivia question/logic puzzle every month with one or two winners who would get the chapter previews. If not, there’s always our regular monthly contests which give rewards for original literary pieces and artwork. If it’s the riddles that you enjoy, there’s a thread over at our forums (http://forums.princerevolution.org) for those. I have a fairly simple logic puzzle there that has gone unanswered for a while now…