Let's see if I can help you. I am that Scorpion_008. Yes, I did cheat. I admitted it in a much earlier page on this forum. See if you can find it if you want. Come to think of it, that has gotten me a lot of friend requests. All my Game Center stuff is hacked. I didn't do it to ruin the game for others though, I did it because I was curious and I like to think I helped uncover serious security flaws in the game. (If the devs decide to go after the highscore hackers, please don't ban me. Take away the scores if you want.) The highest card possible is at the least a 98,304. That is 16 6,144's combined. The card graphics Spoiler remain the same as the 6144's though. I have gotten this card but I haven't tried any higher. It may or may not be possible, and certainly will never happen in real life. The max score is somewhere around my 44 million. That is mainly due to the one 98,304 tile. I mean, you won't even get this high in normal play. And who can get one 6144 legitimately (beside the bots, incl. y2kmp3 [I jest]), let alone 16 at once!
Haha! I... I am a robot... I must do what my master says... PS: Just in case, RoBertoGames, no, I am not a bot.
There is another bug. I have achieved all the achievements on an ipad 2 but on my iphone 5 only 8 show up. No matter what I do the rest won't show up. I have deleted the app over and over, and unchecked icloud saves in the settings menu (phone not game). I would like a sync button for this. Also, I can't seem to get rid of my progress. I haven't tried editing the actual files to fix this but everything else is failing.
My efforts to find a memoryless algorithm were responding to Asher's apparent dismay that people were counting at all. So here is another proposal that may solve the problem: Instead of waiting til the very end of the 12-card stack to start a new one, add 12 new cards when there's (say) 3 cards remaining in the old stack, and reshuffle all 15 cards. This would greatly reduce the useful information that could be obtained by counting, without affecting the statistical distribution very much. However, it may still be necessary to add logic to prevent "runaway colors", since with this new mechanism it is technically possible (though extremely rare) to achieve a color count of +- 7, which would almost certainly be deadly. Nicola, I'm curious how many of your bot's games end right around the time of an extreme (+-3 or +-4) color count? I might even suggest to the developers to explicitly constrain the color count to +- 3, since late in the game an unlucky +-4 color balance is nearly impossible to overcome, through no fault of the player. This can be done by, if say the count is +3 and a red tile is due next, exchange it with a random tile elsewhere in the stack.
Okay, I'd like to adress this for the record: counting cards is not worth the effort. Here's why: • You cannot make any mistakes. Once you miss a card you can never be sure about the contents of the stack. It is immensely taxing to keep track of the cards you draw and it significantly disrupts the gameplay. • The benefits are negligible. Nicola sort of proved it by incorporating card counting based weighting of lookaheads into his bot which did not improve performance by much. Here's another way to think about this: A stack contains 12 cards, in the best case (for the usefulness of your predictions) one color is exhausted after 4 cards. Great, now you know which two colors come in the next 8 cards - not very useful. In the best case, accurate predictions are only possible with the last 4 cards of a stack. That's 33% of the time at best! • There's an easier alternative: Look at the board. More precisely: look at the number of blue and red cards on the board and keep in mind that 4 is the highest imbalance you can have at any time. Counting cards only rarely helps you predict a >3 white bonus card (and that advantage will vanish with the next update with the '+' indicator). It will absolutely not help you predict the value of these bonus cards.And if you need one final reason: together with the collective brainpower in this thread, I figured out the algorithm which allowed card counting in the first place and I'm not using it. In a legitimate game and from a practical standpoint, I'd say 6144 is pretty much the end. Theoretically, I'd say 2^15 * 3 = 98,304 is the highest card because you need at least 16 spaces to make one and once you've got one, you don't have the necessary space to build another. The >3 white bonus cards are such a rare occasion that they barely change this. Like I said in response to your previous question: the ultimate limit to the highest card value is the size of the board combined with the rules for combining cards. Think it through like this: if you had 1 space, you'd get a 3 at most. With 2 spaces, you can get to a 6. With 3 spaces, a 12 is possible and so on and so forth. We tried to answer that question previously. In practical terms and legitimate games where 6144 is the highest card, I'd say the top score is between 531,441 (the score value of a 6144) and 708,588 (score value of 6144 plus score value of 3072). With the theoretical case from above it would be 64,570,081. Anything above that is 99.999% cheated.
In the actual game, the highest theoretically possible card is not infinite, but it is ridiculously large. Of course, this depends on perfect luck with the bonus tiles, which can be up to 1/8 the value of the highest card on the board. For instance, suppose the board has the following tiles: 6144 3072 1536 768 You don't actually need to make the entire "snake" down to 3 in order to create the 12288. You just need to catch a "lucky" 768 in order to merge your way to a 12288. Once you have a 12288 then the highest bonus card becomes 1536. Combine the next 24 ordinary tiles into a 48 (this can be done in about 5 free spaces), and get the 1536 bonus tile. Repeat a few times, and the 1536's will combine to a 6144, 3072, 1536. One more bonus 1536 and you can merge up to 24576, and the highest bonus tile becomes 3072. Meanwhile the 48's will stack up. When you've merged enough of them to make 384, say, catch a lucky 384 to double it to 768, then a lucky 768 to make 1536, and keep doubling with every bonus tile til you catch up to the highest cards. This "gets it out of the way" and unclutters the board. Meanwhile, more 48's are piling up, but after a while you can start the same trick and have two "medium-size" numbers at once "climbing the ladder" to the top. Then start over with the 48's and keep catching huge lucky tiles to make huge numbers. There is a theoretical limit to this process somewhere, because at some point you'll have several medium-size numbers climbing the ladder simultaneously and run out of space to make 48's at the bottom. I'd guess the limit is around 3 * 2^1000, maybe higher. But since the iOS implementation presumably uses unsigned 32-bit numbers to store tile values, the highest representable tile value is 3 * 2^30 = 3221225472 (A beautiful number: note the purely coincidental string of 1's, 2's and 3's, followed by 3 * 3 * 6, then 6 * 12), and then you overflow!
The problem with the "lucky bonus card"-theory is that as the bonus card pool grows your chances of getting the card you need shrinks. I agree that it's possible but somewhere around 2^16 * 3 = 196,608 to 2^18 * 3 = 786,432 you'll just run out of space.
New here, just thought I'd share the results of a recent foray I made into threes over this past weekend. I only just discovered this thread, but some of the discoveries you've all made here would have been useful to me! I've been playing simulated and actual games of threes using a lookahead-based bot which only uses information made available in the game interface (i.e. with no information beyond what a human player gets). In fact, I can play actual games using the instructions given by the bot. Attached is a screenshot of an actual play session showing a 3072 (and my current high score registered on Game Center). As a mere human, I can usually get 384s but no higher; it was somewhat surreal executing these bot-suggested moves on my iPod (no, the iPod is not jailbroken or hacked in any way). Occasionally, it makes some incredibly clever alignment moves, and it really does feel like it is clairvoyant with respect to the upcoming blocks. The bot performs full expectimax optimization over the possible game states. It is able to do about 8-9 ply in 100 milliseconds, and around 11-12 ply in 3-4 seconds. It searches around 10 million moves a second, but doesn't presently do any useful pruning. Simulation logs, additional screenshots, etc. available upon request. I plan to do some tweaking to the algorithm, and try for a real 6144 later this week (time permitting).
Yeah, I pointed the author of this clone to the card draw algorithm guide in this thread because her implementation was off in a few details. I did the same for the author of the demake.
It seems I calculated my bonus draw probability a bit incorrectly. How sure are we it is 1/21? I had it pegged at 1/24 but that's a tad low. (I now have more logs showing 1/20, and 1/22, so 1/21 does seem more likely).
Shortly before I wrote the guide I hade >100 sequences, most of which were logged automatically by a crazy VNC setup by Sidetalker, so they were almost entirely error free. Based on those, we hit 1/21 pretty much perfectly. I'm therefore very sure about the result. You should note in your statistics that bonus cards cannot appear before the high card is 48. That's just a small detail but it still skews your results.
Yep, I know that. I kinda want to try the VNC setup now. My bot plays the game via screenshots (hokey, but hey it works). It would certainly be faster to do it via VNC...
It's true that the chances are slim, but this is all just theoretical. My guess is that 12,288 is incredibly unlikely to achieve in a real game (perhaps one in a million games by Nicola's bot), and 24,576 vanishingly so, probably one in 10^50 real games. (I.e. it won't happen in this universe.) I would guess that 49,152 has maybe one chance in 10^10000 of occurring in a real game.
Hi Nicola: We should compare notes, given that you already have an AI. My AI currently scores purely based on empty spaces, and regularly creates 1536s. I have not bothered to statistically evaluate my bot because it plays rather slowly (but now I'm wondering if I shouldn't just tone it down and have it play a few thousand games at high speed...) So I'm wondering what the difference is, or if simply a long lookahead (mine does 7-12 ply) is the key. If you don't use pure empty-space scoring, what is your heuristic? (Forgive me if you've explained it already, I'm only a fraction of the way through this thread's history).
24576 is 2*3^13. This means that to build it, you probably need (at some stage) 12 values from 3^1 to 3^12 on the board. An unlucky deck deal can give you four unmergeable 1s off the bat, which instantly fills the board. It will take a few thousand moves to get to 24576, minimum, which makes it exceedingly likely that you will get dealt a really crappy hand.
The snake from 3^1 to 3^12 is usually, but not always, required. Keep in mind that when you have (say) { 12288, 6144, 3072, 1536, 768, 384 } on the board, any bonus tile in { 384, 768, 1536 } can get you to 24576 without having to make the entire snake down to { 192, 96, 48, 24, 12, 6, 3 }. In other words, any large tile typically involves a "critical phase" with a long snake, but getting a high bonus tile can skip you directly past these phases. Receiving lucky tiles at the right moment several times in a row is what would allow the (extremely) unlikely event of achieving a high tile like 24576. If you consider that building a 3072 is effectively impossible without a lucky bonus tile, then you will have to negotiate about 32 such nearly-impossible phases on the way to 24576. Getting a lucky bonus tile each of these 32 times is how I arrived at my estimated probability of 10^-50 for reaching 24576. Nicola, could you add something to your AI to detect how many of your successful 3072 runs were dependent on "lucky" tiles? Here's how I would measure this, using an "atomic number" concept: 1. Each tile has a timestamp of when it was created. 2. The "atomic number" of a fresh incoming tile is its own value. 3. When a bonus tile appears, all lower tiles on the board have their "atomic number" reset to themselves. (So if a 24 appears, all 6's are set to an atomic number of 6, and so on.) 4. When two tiles are merged, the atomic number of the merged tile is taken from the _newer_ of its two parent tiles, and its timestamp is set to the current time. So if I create a 48 "from scratch", it probably has an atomic number of 3. If a bonus 48 then appears on the board and I merge it, the combined 96 has an "atomic number" of 48. HOWEVER: if the bonus 48 appears first, and then I create a 48 from scratch and merge it, I would consider the 96 to have an atomic number of only 3. (because of the difficulty of creating the second 48 from scratch while the first 48 is taking up space.) Rule 3 is set up for cases such as if you have two 24's on the board, then a 48 appears, and you merge them all to make a 96, the atomic number should be 24.) The "atomic number" of the 3072, roughly corresponding to the ease of creating it, would then be a very interesting property. I doubt that any of the 3072's created by Nicola's bot are "pure" 3072's (with atomic number 3), and I suspect that most of them probably have atomic numbers of at least 48.